ML - 线性回归


是什么

线性回归:Linear Regression
寻找一条直线,最大程度的“拟合”样本特征和样本输出标记之间的关系。
主要解决回归问题


特点

  • 思想简单,实现容易

  • 许多强大的非线性模型的基础

  • 结果具有很好的可解释性

  • 蕴含机器学习中的很多重要思想

  • 是典型的参数学习;
    对比之下,kNN 是非参数学习

  • 只能解决回归问题
    虽然很多分类方法中,线性回归是基础(如 逻辑回归);
    对比之下,kNN 既可以解决分类 也可以解决回归问题。

  • 对数据有假设:线性;
    对比之下,kNN 对数据没有假设。

  • 稍微改变线性回归算法,也可以处理非线性问题。


和 kNN 图示的区别

kNN(左图)的 x, y 轴都是样本特征;
线性回归(右图)的 x 轴是特征,y 轴是输出标记 label;

回归问题要预测的是一个具体的数值,这个数值是在连续的空间里的。


简单线性回归

样本特征只有一个,称为 简单线性回归。
可以通过简单线性回归,学习到线性回归相应的内容,之后再将它推广到特征有多个的情况(多元线性回归)。


算法原理

假没我們找到了最佳批合的直线方程: y = a x + b y = ax + b y=ax+b

则对于毎一个样本点 x ( i ) x^{(i)} x(i)来说,根据我们的直线方程,预测值为: y ^ ( i ) = a x ( i ) + b \hat{y}^{(i)} = ax^{(i)} + b y^(i)=ax(i)+b。( y ^ \hat{y} y^ 读作 y hat )

希望这条直线 让 真值 y ( i ) {y}^{(i)} y(i) 和 预测值 y ^ ( i ) \hat{y}^{(i)} y^(i) 差距尽量小。

表达 ${y}^{(i)} $ 和 $ \hat{y}^{(i)}$ 的差距

  • y ^ ( i ) − y ( i ) \hat{y}^{(i)} - {y}^{(i)} y^(i)y(i) 不合适,因为有可能为负值;
  • ∣ y ^ ( i ) − y ( i ) ∣ | \hat{y}^{(i)} - {y}^{(i)} | y^(i)y(i) 不够好,因为绝对值不是处处可导的;绝对值可以后续用来衡量性能。
  • ( y ^ ( i ) − y ( i ) ) 2 ( \hat{y}^{(i)} - {y}^{(i)})^2 (y^(i)y(i))2 可以,考虑到所有样本,可使用 ∑ i = 1 m ( y ^ ( i ) − y ( i ) ) 2 \sum^m_{i=1} ( \hat{y}^{(i)} - {y}^{(i)})^2 i=1m(y^(i)y(i))2

所以线性回归计算的目标,是使 ∑ i = 1 m ( y ^ ( i ) − y ( i ) ) 2 \sum^m_{i=1} ( \hat{y}^{(i)} - {y}^{(i)})^2 i=1m(y^(i)y(i))2 尽可能小。

将上述式子代入 y ^ ( i ) = a x ( i ) + b \hat{y}^{(i)} = ax^{(i)} + b y^(i)=ax(i)+b,可转化目标为:
找到 a 和 b,使 ∑ i = 1 m ( y ^ ( i ) − a x ( i ) − b ) 2 \sum^m_{i=1} ( \hat{y}^{(i)} - {ax}^{(i)} - b)^2 i=1m(y^(i)ax(i)b)2 尽可能小。这里 a 和 b 是未知数。

这是一个典型的最小二乘法问题:最小化误差的平方。
通过最小二乘法,可以解出 a 和 b 的表达式:

a = ∑ i = 1 m ( x ( i ) − x ‾ ) ( y ( i ) − y ‾ ) ∑ i = 1 m ( x ( i ) − x ‾ ) 2 a = \frac{\sum^m_{i=1} (x^{(i)} - \overline{x} )(y^{(i)} - \overline{y} ) }{ \sum^m_{i=1} (x^{(i)} - \overline{x} )^ 2 } a=i=1m(x(i)x)2i=1m(x(i)x)(y(i)y)

b = y ‾ − a x ‾ b = \overline{y} - a\overline{x} b=yax

x ‾ \overline{x} x 读作 x bar


求函数最小值,是一个极值问题,方法为求导;导数为 0 的地方是极值点。

J ( a , b ) = ∑ i = 1 m ( y ( i ) − a x ( i ) − b ) 2 J(a, b) = \sum^m_{i=1} ( {y}^{(i)} - {ax}^{(i)} - b)^2 J(a,b)=i=1m(y(i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值