最小二乘可谓是机器学习的最基础的算法。尤其重要,可以说是非常重要的一课!整个正交这一章就为了讲明白最小二乘法
再谈投影
从上一节我们知道
会把一个向量b投影到C(A)中。那么存在以下两种极限情况:
- 如果b垂直于C(A),那么Pb=0, b肯定在A的左零空间里(相当于b和C(A)完全没有交集,e最大,最坏的情况)
- 如果b本身就在C(A)里,那么 b=Ax, Pb=b. 误差e=0, 投影矩阵为单位阵,这时候Ax=b可解。不需要最小二乘法了。
但是在通常情况下,一个向量即含有在C(A)中的部分p也含有垂直于C(A)部分的e(e实际上在A的左零空间里), 投影后e被干掉,只剩在C(A)中的p。
关于I-P
将b投影到A的左零空间的投影矩阵是I-P:
再谈最小二乘
我们的目的是求出C和D,使得
对于点(1,1), (2,2), (3,2) 是最佳拟合的直线。这个过程也叫作
线性回归。这种方法对于没有
离群点(outliers, 比如(1,1000)这种明显偏离其他值的数据)的数据集是很好的一种方法。
“最佳" 在数学上意味着这些点到拟合直线的距离之和最小。换句话说,我们要最小化
。如果这些点都经过拟合直线,那么有:
但是这是不可能的,这个方程组Ax=b是无解的, 其中
最小二乘有两种理解方式:
- 我们要找出这些点到拟合直接的距离
并且使这些e最小, 这些点在拟合直线的投影部分就是数据点在拟合直线上的最佳近似,
- 矩阵和子空间的角度:最小二乘实际上是将b投影在A的列空间,投影结果为p,将垂直部分e投影在
现在给出例子的解法:
套用公式:
可得:
我们也可以使用微积分的方法求出C,和D:
, 分别对C和D求导并令导函数为0,也可以解得答案。
再谈
记住,最小二乘法要求A(或者说
)必须可逆
习题
题1 对于线性回归问题
,经过点(t=-1, b=7) (t=1, b=7) (t=2,b=21).求解最小二乘问题,解出C,D:
答: 常规操作,套公式:
,答案:
题2 在上一题的基础上求出 投影向量
,证明误差向量为
,证明
答:
, e = b-p = (2,-6, 4).
题3 假设
答:
,计算得e=0, 因为b在C(A)中
题4 四大子空间中哪个包含e? 哪个包含p? 哪个包含
答:
题5 最小二乘法求解:
,
答:套公式即可
, 可以发现,对称的t会得到 对角的