假设 n − 1 n - 1 n−1 维空间变量点为 x ⃗ = ( x 1 , x 2 , ⋯ , x n − 1 ) T \vec{x}= (x_1, x_2, \cdots, x_{n-1})^T x=(x1,x2,⋯,xn−1)T , 并假设有 m m m 个这样的样本点 记为 x ⃗ ( 1 ) , x ⃗ ( 2 ) , ⋯ , x ⃗ ( m ) \vec{x}^{(1)}, \vec{x}^{(2)}, \cdots ,\vec{x}^{(m)} x(1),x(2),⋯,x(m),我们希望找到一个这样的超平面,来使得尽可能的拟合这些样本点,形式化表示等价于我们希望找到这样的系数 w ⃗ \vec{w} w 和 b b b 使得 w ⃗ T x ⃗ + b ≈ y {\vec{w}}^T\vec{x}+b \approx y wTx+b≈y ,为了简化上述表达式,我们将 w ⃗ \vec{w} w 和 b b b 放到一起简记为 ( w ⃗ T , b ) = w ⃗ T ({\vec{w}}^T,b) = {\vec{w}}^T (wT,b)=wT,并令 x ⃗ n ( i ) = 1 \vec{x}^{(i)}_{n} = 1 xn(i)=1,于是上述表达式等价于找到 w ⃗ \vec{w} w 使得 w ⃗ T x ⃗ ≈ y {\vec{w}}^T\vec{x}\approx y wTx≈y
我们记样本点集为矩阵 X X X,则有 X = ( x ⃗ ( 1 ) T x ⃗ ( 2 ) T ⋮ x ⃗ ( m ) T ) = ( x 1 ( 1 ) x 2 ( 1 ) ⋯ x n ( 1 ) x 1 ( 2 ) x 2 ( 2 ) ⋯ x n ( 2 ) ⋮ ⋮ ⋱ ⋮ x 1 ( m ) x 2 ( m ) ⋯ x n ( m ) ) X = \begin{pmatrix} {\vec{x}^{(1)}}^{T} \\ {\vec{x}^{(2)}}^{T} \\ \vdots \\ {\vec{x}^{(m)}}^{T} \end{pmatrix} = \begin{pmatrix} x_1^{(1)} & x_2^{(1)} & \cdots & x_n^{(1)}\\ x_1^{(2)} & x_2^{(2)} & \cdots & x_n^{(2)}\\ \vdots & \vdots & \ddots & \vdots \\ x_1^{(m)} & x_2^{(m)} & \cdots & x_n^{(m)}\\ \end{pmatrix} X=⎝⎜⎜⎜⎜⎛x(1)Tx(2)T⋮x(m)T⎠⎟⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎛x1(1)x1(2)⋮x1(m)x2(1)x2(2)⋮x2(m)⋯⋯⋱⋯xn(1)xn(2)⋮xn(m)⎠⎟⎟⎟⎟⎞
于是上述表述等价于找到 w ⃗ \vec{w} w 使得 X w ⃗ ≈ y ⃗ X\vec{w} \approx \vec{y} Xw≈y.
考虑这样的一个特殊情形:假设所有的样本点正好在一个超平面,且样本点所张成的空间( S p a n S p a c e Span\ Space Span Space)为该 n n n 维空间,意味着 m ≥ n m \ge n m≥n 且 r a n k ( X ) = n rank(X) = n rank(X)=n
此时方程 X w ⃗ = y ⃗ X\vec{w} = \vec{y} Xw=y 恰好有唯一解(即为该超平面) ,推导如下: X w ⃗ = y ⃗ ⇔ X T X w ⃗ = X T y ⃗ ⇔ w ⃗ = ( X T X ) − 1 X T y ⃗ X\vec{w} = \vec{y} \Leftrightarrow X^TX\vec{w}=X^T\vec{y} \Leftrightarrow \vec{w} = (X^TX)^{-1}X^T\vec{y} Xw=y⇔XTXw=XTy⇔w=(XTX)−1XTy
(注:因为 X X X 为列满秩,所以 r a n k ( X T X ) = r a n k ( X ) = n rank(X^TX)= rank(X) = n rank(XTX)=rank(X)=n,即 X T X X^TX XTX 为可逆方阵)
而对于一般情形,所有的样本点一般不会在同一个超平面中,所以方程 X w ⃗ = y ⃗ X\vec{w} = \vec{y} Xw=y 此时是无解的,这个方程组也称之为超定方程组( O v e r d e t e r m i n e d S y s t e m Overdetermined\ System Overdetermined System),即方程数量超过未知数个数,此时我们希望找到一个超平面使得 X w ⃗ ≈ y ⃗ X\vec{w} \approx \vec{y} Xw≈y 且误差 ∥ X w ⃗ − y ⃗ ∥ \Vert X\vec{w} - \vec{y}\Vert ∥Xw−y∥ 尽可能的小(这里符号 ∥ ∥ \Vert\ \Vert ∥ ∥ 为 L 2 L_2 L2范数,利用度量欧几里得距离来衡量误差大小是比较符合常识的)。形式化表达等价于 w ^ ⃗ = arg min w ⃗ ∥ X w ⃗ − y ⃗ ∥ \vec{\hat{{w}}} = \arg\min_{\vec{w}}\Vert X\vec{w} - \vec{y}\Vert w^=argwmin∥Xw−y∥
为了便于计算,我们不妨令 w ^ ⃗ = arg min w ⃗ ∥ X w ⃗ − y ⃗ ∥ = arg min w ⃗ ∥ X w ⃗ − y ⃗ ∥ 2 \vec{\hat{{w}}} = \arg\min_{\vec{w}}\Vert X\vec{w} - \vec{y}\Vert = {\arg\min_{\vec{w}}\Vert X\vec{w} - \vec{y}\Vert}^2 w^=argwmin∥Xw−y∥=argwmin∥Xw−y∥2
且令 L ( w 1 , w 2 , ⋯ , w n ) = ∥ X w ⃗ − y ⃗ ∥ 2 L(w_1,w_2,\cdots,w_n)={\Vert X\vec{w} - \vec{y}\Vert}^2 L(w1,w2,⋯,wn)=∥Xw−y∥2
仍不妨假设此时 X X X 是列满秩的
上述问题转化为了求极值问题,我们很自然的想到了利用导数来寻找极值。
于是对 w i w_i wi 求偏导且令其为零 ∂ L ∂ w i = 2 ( x i ( 1 ) , x i ( 2 ) , ⋯ , x i ( m ) ) ( X w ⃗ − y ⃗ ) = 0 \frac{\partial{L}}{\partial{w_i}}=2(x_i^{(1)},x_i^{(2)},\cdots,x_i^{(m)})(X\vec{w}-\vec{y})=0 ∂wi∂L=2(xi(1),xi(2),⋯,xi(m))(Xw−y)=0
于是 ( ∂ L ∂ w 1 , ∂ L ∂ w 2 , ⋯ , ∂ L ∂ w n ) T = 0 ⃗ T ⇔ 2 X T ( X w ⃗ − y ⃗ ) = 0 ⃗ ⇔ X T X w ⃗ − X T y ⃗ = 0 ⃗ (\frac{\partial{L}}{\partial{w_1}}, \frac{\partial{L}}{\partial{w_2}}, \cdots,\frac{\partial{L}}{\partial{w_n}})^T=\vec{0}^T \Leftrightarrow 2X^T(X\vec{w}-\vec{y})=\vec{0} \Leftrightarrow X^TX\vec{w}-X^T\vec{y}=\vec{0} (∂w1∂L,∂w2∂L,⋯,∂wn∂L)T=0T⇔2XT(Xw−y)=0⇔XTXw−XTy=0
即推出 w ⃗ = ( X T X ) − 1 X T y ⃗ \vec{w}=(X^TX)^{-1}X^T \vec{y} w=(XTX)−1XTy
上述就是众所周知的线性最小二乘法的基本思想
然而,这里会有两个问题
(1) 为什么在这个情况下我们找到的是极小值?
(2) 为什么这个极小值就是我们需要的最小值?