2021人工智能领域新星创作者,带你从入门到精通,该博客每天更新,逐渐完善机器学习各个知识体系的文章,帮助大家更高效学习。
概述
之前我们讲到了最小二乘法就是找到一条直线去拟合我们的数据
这是从这幅图中得出的结论,那么本篇文章从一个新的角度去论述这个事情。
最小二乘法几何表示
在将之前,我们举个线代中的例子来引出我们的问题:
现在有矩阵 A = [ a b c d e f ] A=
⎡⎣⎢acebdf⎤⎦⎥[abcdef]
A=⎣⎡acebdf⎦⎤ ,矩阵 X = [ x 1 x 2 ] X=
[x1x2][x1x2]
X = [ x 1 x 2 ] ,存在矩阵方程 :A X = [ a b c d e f ] [ x 1 x 2 ] = [ a x 1 + b x 2 c x 1 + d x 2 e x 1 + f x 2 ] = [ m p q ] = Y AX=
⎡⎣⎢acebdf⎤⎦⎥[abcdef]
[x1x2][x1x2]
=⎡⎣⎢ax1+bx2cx1+dx2ex1+fx2⎤⎦⎥[ax1+bx2cx1+dx2ex1+fx2]
=⎡⎣⎢mpq⎤⎦⎥[mpq]
=Y A X = ⎣ ⎡ a c e b d f ⎦ ⎤ [ x 1 x 2 ] = ⎣ ⎡ a x 1 + b x 2 c x 1 + d x 2 e x 1 + f x 2 ⎦ ⎤ = ⎣ ⎡ m p q ⎦ ⎤ = Y我们的目的就是求解方程 A X = Y AX=YAX=Y ,此时我们把上述方程换个表示方法:
x 1 [ a c e ] + x 2 [ b d f ] = [ m p q ] x_1
⎡⎣⎢ace⎤⎦⎥[ace]
+x_2⎡⎣⎢bdf⎤⎦⎥[bdf]
=⎡⎣⎢mpq⎤⎦⎥[mpq]
x 1 ⎣ ⎡ a c e ⎦ ⎤ + x 2 ⎣ ⎡ b d f ⎦ ⎤ = ⎣ ⎡ m p q ⎦ ⎤从这个方程很容易看出我们的Y向量可以由我们A矩阵的列向量线性表示,换种更高级的说法就是此时 [ m p q ]
⎡⎣⎢mpq⎤⎦⎥[mpq]
⎣ ⎡ m p q ⎦ ⎤ 向量在 [ a c e ]⎡⎣⎢ace⎤⎦⎥[ace]
⎣ ⎡ a c e ⎦ ⎤ 和向量 [ b d f ]⎡⎣⎢bdf⎤⎦⎥[bdf]
⎣ ⎡ b d f ⎦ ⎤ 所张成的空间上,再换一种说法就是可以把这两个列向量作为基底,这样由这两个向量不断用不同系数组合就会形成一个三维空间中的一个平面,三个维度,但只有两个向量,(前提这两个基地向量线性无关),那么此时求解方程的解就是能否在该空间中找到向量 y。换而言之,如果上述方程有解,则应该满足y向量在A的列空间中,这里采用了工程代数的理念,没有使用传统现代中秩的概念。
那么我们尝试将上面方程换成我们的拟合方程:
X W = Y XW=YXW=Y
w 1 [ x 11 x 21 ⋮ x m 1 ] + w 2 [ x 12 x 22 ⋮ x m 2 ] + . . . + w n [ x 1 n x 2 n ⋮ x m n ] = [ y 1 y 2 ⋮ y m ] w_1
⎡⎣⎢⎢⎢⎢x11x21⋮xm1⎤⎦⎥⎥⎥⎥[x11x21⋮xm1]
+w_2
⎡⎣⎢⎢⎢⎢x12x22⋮xm2⎤⎦⎥⎥⎥⎥[x12x22⋮xm2]
+...+w_n
⎡⎣⎢⎢⎢⎢x1nx2n⋮xmn⎤⎦⎥⎥⎥⎥[x1nx2n⋮xmn]
=
⎡⎣⎢⎢⎢⎢y1y2⋮ym⎤⎦⎥⎥⎥⎥[y1y2⋮ym]
w1⎣⎢⎢⎢⎡x11x21⋮xm1⎦⎥⎥⎥⎤+w2⎣⎢⎢⎢⎡x12x22⋮xm2⎦⎥⎥⎥⎤+...+wn⎣⎢⎢⎢⎡x1nx2n⋮xmn⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡y1y2⋮ym⎦⎥⎥⎥⎤
我们此时是要求解W,那么和上面问题同理,将问题转化为能够找到一组系数w使得y向量能由X的列向量线性表示,高级的说法就是使我们的y处在X的列向量空间中。
为了推导以及画图方便,我们将X的维度设为2
这里X1和X2代表两个维度,我们的目的就是希望y落在x1和x_2形成的平面上,如果是这样的话那么说明该方程有解,也就是能够找到一组系数w使得我们的直线能够拟合所有的样本,但是这在显示中往往不成立,一条直线不可能拟合所以数据,那也就是肯定会有误差,那么我们上述的方程就会无解,那怎么办呢?
如果y落在该平面说明有解,能够拟合所有数据,而现在我们在该平面找不到y,y不在这个平面上,那么我们就希望在该平面找到一条直线近似的代替y,怎样才能使它与y相似呢?
将我们的直线y向该平面做投影,此时y和这条投影直线是最为相似的,我们可以使用这条投影直线来近似代替我们的y,所以此时就存在我们的垂线a垂直于该平面中任何一条直线。
其中 a = Y − X W a=Y-XWa=Y−XW ,利用向量的减法,而平面中的任何向量用 X T X^TXT 来代替,因为已经垂直该平面的所以直线,而 X T X^TXT 是平面中的一部分,所以也依然成立。
则满足
X T a = 0 X T ( Y − W X ) = 0 X^Ta=0\\X^T(Y-WX)=0XTa=0XT(Y−WX)=0
所以:
X T Y − X T W X = 0 X^TY-X^TWX=0XTY−XTWX=0
可以观察到该方程和我们使用最小二乘估计得出的方程使一致的,然后解出w:
w ∗ = ( X X ) − 1 X T Y w^*=(X^X)^{-1}X^TYw∗=(XX)−1XTY
此时的w*的意义就是我们用来近似Y的那条直线的系数。