本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
在机器学习的线性求解中,线性方程组往往不可解,
我们更多时候是求取一个最小二乘解,
最小二乘解公式因此成为机器学习的一个常用公式,
本文介绍什么是最小二乘解、最小二乘解的公式,
和最小二乘解公式的两种推导。
最后,讲解QR分解如何优化最小二乘解的实际计算。
问 题
已知A,b,求一个x,使得 Ax =b
这里的A,x,b的大小分别为:
A : m*n矩阵
x : n*1列向量
b : m*1列向量
解决方法
在可解的情况下,
只要在左右两边乘以X的逆矩阵,
即有:
问 题
当以上问题不可解时,
即不存在这样一个 x 使,
则退而求其次,
求一个 x,使 的平方误差和最小
即 Ax 最佳迫近 b
该问题称为最小二乘问题
求解公式
上述问题求解公式为:
该公式称为最小二乘解公式
推导思路
公式推导有两个方向,
第一个是微积分方向,对总误差函数求偏导,令偏导为0,再联立解出x。
第二个方向是利用代数中的最佳迫近原理。
(一) 微方分方向推导过程
1.误差函数为:
2 . 求误差函数对x的偏导
先求单个x分量的偏导
则对x的总偏导为:
3 . 令偏导为0,联立解得x
令偏导为0,则可求得:
即有上述求解公式:
(二) 代数最佳迫近思想
由Ax是对b的最佳迫近,可得Ax-b与A构成的空间垂直。
图解如下:
Ax-b与A构成的空间垂直(即与A的每列的点积为0),即有:
即可推出:
两种推导方法的比较
微分方法推导过程较为复杂,
但思路简洁,
对知识起点要求较低。
而代数方法,
在了解代数的基础上,基本就是一步到位,
随时手推,不必记公式。
为什么要优化
最小二乘解公式 需 要计算的逆矩阵,
计算上会较为复杂,
更多时候,会使用QR分解来简化 ,
使用QR分解,可以避开直接求的逆矩阵。
什么是QR分解
👉QR分解简单来说是指:
m*n列满秩矩阵A,可将其分解为列正交矩阵与三角矩阵的积,即:
其中 Q列与列之间两两正交,R则为非奇异上三角矩阵。
QR分解优化最小二乘解公式
将A进行QR分解,则
R是一个上三角,计算逆矩阵更容易。
因此,用计算机计算最小二乘解,
更多时候是将A进行QR分解,
然后用公式求得最小二乘解
End