在用最小二乘法拟合直线时,拟合直线与真值之间的平方误差可以表示为:
E=∑i=1m[yi−(xiw+b)]2
如果用Y表示为(n,1)的y矩阵,X表示为(n,2)的x和1的合成矩阵(如下图所示),w,b表示为(2,1)维矩阵W。
那么平方误差可以写成如下矩阵的形式:
E=(Y−XW)T(Y−XW)
先要求W使得E最小,那么我们就需要将E对W求导,导数为零处的W就是极值。
但矩阵如何求导呢?下面开始罗列要用到的数学公式:
(A+B)T=AT+BT
(AB)T=BTAT
dXTdX=I
dXdXT=I
dXTAdX=A
dXAdX=AT
dAXdX=AT
dAXdXT=A
d(UTV)dX=d(UT)dXV+d(VT)dXU
根据上面的公式就可以求得
dEdX=−2XT(Y−XW)
令上式等于0
求得:
w=(XTX)−1XTY