回归通常是机器学习中使用的第一个算法。通过学习因变量和自变量之间的关系实现对数据的预测。例如,对房价估计时,需要确定房屋面积(自变量)与其价格(因变量)之间的关系,可以利用这一关系来预测给定面积的房屋的价格。可以有多个影响因变量的自变量。

线性回归:输出为数值

损失函数一般为:

逻辑回归:输出是概率

损失函数一般为:

以下具体介绍几种常用的回归方法:

**线性回归:**使用最广泛的建模技术之一。已存在 200 多年,已经从几乎所有可能的角度进行了研究。线性回归假定输入变量(X)和单个输出变量(Y)之间呈线性关系。它旨在找到预测值 Y 的线性方程:

其中,X=(x1,​x2,…,xn) 为 n 个输入变量,W=(w1,w2,…,wn) 为线性系数,b 是偏置项。目标是找到系数 W 的最佳估计,使得预测值 Y 的误差最小。使用最小二乘法估计线性系数 W,即使预测值 (Yhat) 与观测值 (Y) 之间的差的平方和最小。

因此,这里尽量最小化损失函数:

其中,需要对所有训练样本的误差求和。根据输入变量 X 的数量和类型,可划分出多种线性回归类型:简单线性回归(一个输入变量,一个输出变量),多元线性回归(多个输入变量,一个输出变量),多变量线性回归(多个输入变量,多个输出变量)。

**逻辑回归:**用来确定一个事件的概率。通常来说,事件可被表示为类别因变量。事件的概率用 logit 函数(Sigmoid 函数)表示:


现在的目标是估计权重 W=(w1,w2,…,wn) 和偏置项 b。在逻辑回归中,使用最大似然估计量或随机梯度下降来估计系数。损失函数通常被定义为交叉熵项:

逻辑回归用于分类问题,例如,对于给定的医疗数据,可以使用逻辑回归判断一个人是否患有癌症。如果输出类别变量具有两个或更多个层级,则可以使用多项式逻辑回归。另一种用于两个或更多输出变量的常见技术是 OneVsAll。对于多类型逻辑回归,交叉熵损失函数被修改为:

**正则化:**当有大量的输入特征时,需要正则化来确保预测模型不会 太复杂。正则化可以帮助防止数据过拟合。它也可以用来获得一个凸损失函数。有两种类型的正则化——L1 和 L2 正则化,其描述如下:
当数据高度共线时,L1 正则化也可以工作。在 L1 正则化中,与所有系数的绝对值的和相关的附加惩罚项被添加到损失函数中。L1 正则化的正则化惩罚项如下:


L2 正则化提供了稀疏的解决方案。当输入特征的数量非常大时,非常有用。在这种情况下,惩罚项是所有系数的平方之和:

其中,λ是正则化参数。

回归算法有哪些,常用回归算法(3种)详解相关推荐

  1. 回归算法分类,常用回归算法解析

    回归算法分类,常用回归算法解析 回归是数学建模.分类和预测中最古老但功能非常强大的工具之一.回归在工程.物理学.生物学.金融.社会科学等各个领域都有应用,是数据科学家常用的基本工具. 回归通常是机器学 ...

  2. 机器学习(二十二)——推荐算法中的常用排序算法, Tri-training

    推荐算法中的常用排序算法 Pointwise方法 Pranking (NIPS 2002), OAP-BPM (EMCL 2003), Ranking with Large Margin Princi ...

  3. 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解

    相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...

  4. 常用排序:冒泡排序与快速排序详解,看完这篇就够了!风马博客

    常用排序:冒泡排序与快速排序详解. 在排序算法中,冒泡排序和快速排序可以算是排序算法入门必会的两种排序了,今天和大家来分析一下如何快速理解并掌握这两种排序.首先冒泡排序是初学者最常用的排序,所以我们先 ...

  5. python常用内置模块-Python常用内置模块之xml模块(详解)

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

  6. python中common在哪个模块导入_python的常用模块之collections模块详解

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

  7. 数据结构与算法(程序员常用十种算法下:5~10)

    一:普里姆算法 应用场景和问题: (1)有胜利乡有7个村庄(A, B,C,D,E,F,G),现在需要修路把7个村庄连通 (2)各个村庄的距离用边线表示(权),比如A-B距离5公里 (3)间:如何修路保 ...

  8. 漏桶算法令牌桶算法理解及常用的算法

    令牌与漏桶的区别 1. 漏桶是出,令牌是进 2. 令牌是允许伸缩 漏桶算法 漏桶算法(Leaky Bucket)是网络世界中流量整形(Traffic Shaping)或速率限制(Rate Limiti ...

  9. Python实现Logistc回归分类(西瓜数据集、鸢尾花数据集)详解

    文章目录 Logistic回归原理讲解 逻辑回归的损失函数 梯度下降 代码实现 西瓜数据集 全代码 鸢尾花(Iris)数据集 LogisticModel 全代码 主函数实现 全代码 Logistic回 ...

  10. 【算法】桶排序(Bucket Sort)详解

    1. 概述 桶排序(Bucket Sort)又称箱排序,是一种比较常用的排序算法.其算法原理是将数组分到有限数量的桶里,再对每个桶分别排好序(可以是递归使用桶排序,也可以是使用其他排序算法将每个桶分别 ...

最新文章

  1. JAVA.IO字符流
  2. Redis 是属于多线程还是单线程?
  3. IE haslayout的理解与bug修复
  4. [ios][swift]UIButton
  5. 热点效应是指_热电偶的热电效应是什么意思 浅谈热电偶下的热点效应
  6. “约见”面试官系列之常见面试题第四十一篇之VUE生命周期(建议收藏)
  7. react判断点击位置是否为组件内,实现点击外部触发组件内事件
  8. 程序猿误区:程序员只负责编码
  9. 浏览器插件及好用的小工具
  10. Atitit 面试问题高难度问题 回答不上来的分析应对法 目录 1. 问题分析法 1 1.1. 判断是否超出自己范围的,直接回复超出自己范围了 1 1.2. 根据生活中的解决方法,大概说下解决模式
  11. NodeJs安装教程:看教程一步步学会安装NodeJs
  12. 嵌入式单片机学习入门到大牛
  13. DataGridView显示时间格式
  14. 计算机专业要考哪些证书?这5种证书含金量最高,拿到就是高薪
  15. 如何关闭计算机自动关机设置方法,电脑自动关机怎么设置(自动关机设置及取消方...
  16. Python自动化办公【PDF文件自动化】
  17. 【SpringBoot】实现短信验证码登录(榛子云的SDK)
  18. 超低功耗芯片ESP8266
  19. 阴阳师服务器无法显示,阴阳师服务器崩了修复了吗 突然出现无法登陆
  20. 操作系统——学习资料

热门文章

  1. 以专业素质和优秀技术能力 瑞星获高端企业级市场青睐
  2. html5 基础代码,{HTML5}基础核心-第一节-上
  3. 金士顿存储卡常识补充:
  4. <RTL设计的艺术> DDR带宽计算公式
  5. s400x ugee 驱动_友基手写板驱动下载_友基手写板驱动官方下载-太平洋下载中心...
  6. Windows Server 2022 安装Intel I219V 服务器网卡
  7. (私人收藏)蓝色抽象科技感工作计划PPT模板
  8. LAYDATE日历插件使用
  9. 渗透测试之社交工程攻击
  10. 掘金全球最大商务差旅市场 SAP旗下Concur联合中数通进军中国