最小二乘法--多特征(矩阵形式)

Posted pengpenghuhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最小二乘法--多特征(矩阵形式)相关的知识,希望对你有一定的参考价值。

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

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

单变量线性回归:技术图片
多变量线性回归:技术图片

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

模型变换

  线性回归的标量形式:技术图片

  这里把上诉式子中的系数m与误差c转换为向量(为了统一从下面开始使用技术图片
表示c与m),把式子中c看成是1c,把1与特征x也转换为向量;
技术图片

所以有: 技术图片

损失函数

  损失函数也可以变为:
技术图片

从第二步到第三步没看明白?
  根据矩阵乘积转置规则损失函数可以进一步化简为:
技术图片
技术图片
技术图片

(中间一项再转置下得第三步)

偏导数

  还是和之前一样求损失函数L的极小值,所以求上式L关于W的偏导数;
技术图片

向量微分常用等式
技术图片

补充下矩阵的微分运算?

求L关于W的偏导数:
技术图片

因为
技术图片

则有:
技术图片

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

示例

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

单变量线性回归示例:

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

nxy
1 2 4
2 6 8
3 9 12
4 13 21

x、y的矩阵为:

技术图片

根据公式求w
技术图片

以下子求整个式子不好求,我们可以先分解该公式;
技术图片
技术图片
技术图片
技术图片

所以,也就是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

以上是关于最小二乘法--多特征(矩阵形式)的主要内容,如果未能解决你的问题,请参考以下文章

理解最小二乘法

带遗忘因子的递推最小二乘法推导

线性回归——最小二乘法_实例

ML-2最小二乘法(least squares)介绍

谁懂迭代加权最小二乘法,能否给讲下原理

一元线性最小二乘法正规方程组的求解过程