线性回归——最小二乘法(二)

上篇文章中介绍了单变量线性回归,为什么说时单变量呢,因为它只有单个特征,其实在很多场景中只有单各特征时远远不够的,当存在多个特征时,我们再使用之前的方法来求特征系数时是非常麻烦的,需要一个特征系数一个偏导式,而却最要命的时特性的增长时及其迅猛的,几十、几百、几千……

单变量线性回归:84976-20161016090741670-1627572451.png
多变量线性回归:84976-20161016090814045-679286738.png

  所以从这里我们开始将介绍线性回归的另一种更方便求解多变量线性回归的方式:最小二乘法矩阵形式

模型变换

  线性回归的标量形式:84976-20161016090851811-1565115944.png

  这里把上诉式子中的系数m与误差c转换为向量(为了统一从下面开始使用84976-20161016093411999-1565933480.png
表示c与m),把式子中c看成是1c,把1与特征x也转换为向量;
84976-20161016090918280-1948347781.png

所以有: 84976-20161016090955686-2002581255.png

损失函数

  损失函数也可以变为:
84976-20161016091022936-180058357.png
  根据矩阵乘积转置规则损失函数可以进一步化简为:
84976-20161016091042561-1928244976.png
84976-20161016091058124-1904342059.png
84976-20161016091116045-1780351869.png

偏导数

  还是和之前一样求损失函数L的极小值,所以求上式L关于W的偏导数;
84976-20161016091147795-268751430.png

向量微分常用等式
84976-20161016091207452-1108130635.png

求L关于W的偏导数:
84976-20161016091231233-52785566.png

因为
84976-20161016091254780-2001923826.png

则有:
84976-20161016091317483-1413331265.png

W则是通过矩阵形式求出来的最小乘法的解;

示例

  下面还是先使用上次的那组数据进行线性拟合,然后再使用多变量数据再次进行线性拟合已验证上诉算法:

单变量线性回归示例:

这里使用上面得到的最小二乘法矩阵形式公式对以下数据集进行线性拟合:

nxy
124
268
3912
41321

x、y的矩阵为:

84976-20161016091342874-1673523028.png

根据公式求w
84976-20161016091405592-858019658.png

以下子求整个式子不好求,我们可以先分解该公式;
84976-20161016091427077-1649674158.png
84976-20161016091438311-548992010.png
84976-20161016091454061-577824543.png
84976-20161016092913545-1619023716.png

所以,也就是c=-0.23092,m=1.53092

线性回归函数可以写成:y = 1.53092x -0.23092

预测y的值:

y = 1.53092 * 2 - 0.23092=2.83092
y = 1.53092 * 6 - 0.23092=8.9546
y = 1.53092 * 9 - 0.23092=13.54736
y = 1.53092 * 13- 0.23092=19.67104

  与上偏文章直接求关于m与c的偏导得出来的结果几乎一样(因为小数点不同所以精度有所差异);下篇文章我们将使用本篇文章里的最小二乘法矩阵形式处理多变量的情况;

参考资料:
https://zh.wikipedia.org/zh/%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95
a first course in machine learning

文章首发地址:Solinx
http://www.solinx.co/archives/721

转载于:https://www.cnblogs.com/softlin/p/5965939.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值