勿在浮沙筑高台
A x=b
A∈Rm×n, m>n
- 我们不能期望找到一个 x ,x ∈Rn , 使得 A x=b ;
注:这里的矩阵A相当于线性模型中的输入,x相当于系数
考虑这样一组方程式:
x1+x2=3−2x1+3x2=12x1−x2=2
我们需要求解 x1,x2 。
⎛⎝⎜1−2213−1⎞⎠⎟=⎛⎝⎜312⎞⎠⎟
我们做一个行变换
⎛⎝⎜1001100⎞⎠⎟=⎛⎝⎜314−1⎞⎠⎟
发现其实是没有解的,如果我们选择只满足一二行的解,有
x1=85,x2=75
把这个解带回原方程,可以算出新的结果为
b1=⎛⎝⎜⎜⎜3195⎞⎠⎟⎟⎟
b0和b1 之间的距离为 ||b0−b1||2=125最小二乘法的解法如下:
ATAx=ATb
等价于:
x^=(ATA)−1ATb
我们尝试使用最小二乘法求解:
(9−7−711)(x1x2)=(54)
求得 :
x1=8350,x2=7150
b1=⎛⎝⎜⎜⎜⎜⎜⎜1545047509550⎞⎠⎟⎟⎟⎟⎟⎟
||b0−b1||2=(450)2+(350)2+(5502)
可以看出新生成的解与原向量的距离较短。
这其实是两个方向,一个是
- 方程的解满足大部分的方程;
- 方程的解使得新生成的向量与原来的向量距离最短;;
下面我们从矩阵的角度来看最小二乘法
以上述表达式为例
r(x)=b−Ax
b和Ax之间的距离可以表示为
||b−Ax||=||r(x)||
假设
x^
是我们要寻找的解,那么令
p=Ax^
,那么b是在A的列空间里离
b
最近的的一个向量。实际上
未完,待续。。。。