1. 核心思想
最小二乘法是勒让德( A. M. Legendre)于1805年在其著作《计算慧星轨道的新方法》中提出的。其核心的思想就是说求解未知参数,使得理论值与观测值之差(误差,或者说残差)的平方和(一般叫做损失函数)达到最小:
其中 y_i 就是我们的观测样本,\hat y 就是我们的理论值(也叫你和函数),目标函数就是我们说的损失函数 E ,我们的目标就是得到使得 E 最小时候的参数取值。
所谓最小二乘,其实也可以叫做最小平方和,其目的就是通过最小化误差的平方和,使得拟合对象无限接近目标对象。换句话说,最小二乘法可以用于对函数的拟合。
2. 通用解法
- 列出损失函数E,样本值用 x_i 来表示
- 求损失函数关于参数的导数,使导数为0,代表损失函数最小
- 此时的参数即为我们所求解得未知参数
3. 对真值的估计
这里看一个例子理解一下上面所说的1/2两点。
我们用最小二乘法来解释 为什么多次测量取平均值的结果就接近于真值,比如说我们测身高时候取三次平均。
我们对某个未知量 θ 观测 m 次,记录每次结果为 x_i。则写出其损失函数 E:
其中 a 是未知量的真实值。根据上面的计算过程,我们令导数为0,可得:
最终解得:
即多次的算术平均就是真实值。
4. 多元线性回归
上面我们提到了,求导计算是最通用的解法,但实际上,矩阵法要比代数法简单很多。而且,矩阵法可以取代循环,所以现在很多书和机器学习库都是用矩阵法来做最小二乘。
对于函数 ,我们将其矩阵形式计为:
损失函数定义为:(1/2系数是为了简化运算的)
矩阵迹计算公式:
令上式为0,求解可得
这里所谓的迹计算公式我不太懂,不过知道是这样来的就行了。
5. 最小二乘法的适用场景
这里需要考虑一下样本数量 m 和特征数量 n 之间的大小关系。如果 m<n,则上一小节中解得的 矩阵的逆是不存在的,这时候需要做正则化(这一部分和西瓜书对应的部分是一致的)。m=n,直接解方程组即可。m>n,这时候用最小二乘法。
局限性
- 第一,最小二乘法需要计算 (XTX) 逆矩阵,有可能逆矩阵不存在,这样就没有办法直接用最小二乘法。
- 第二,当样本特征n非常的大的时候,计算逆矩阵是一个非常耗时的工作,甚至不可行。建议不超过10000个特征。
- 第三,如果拟合函数不是线性的,这时无法使用最小二乘法,需要通过一些技巧转化为线性才能使用。
6. 总结
最小二乘法用最小化损失函数的方法,来拟合线性函数。