线性回归之最小二乘法(Least Squares)推导

假设 n − 1 n - 1 n1 维空间变量点为 x ⃗ = ( x 1 , x 2 , ⋯   , x n − 1 ) T \vec{x}= (x_1, x_2, \cdots, x_{n-1})^T x =(x1,x2,,xn1)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 w Tx +by ,为了简化上述表达式,我们将 w ⃗ \vec{w} w b b b 放到一起简记为 ( w ⃗ T , b ) = w ⃗ T ({\vec{w}}^T,b) = {\vec{w}}^T (w T,b)=w T,并令 x ⃗ n ( i ) = 1 \vec{x}^{(i)}_{n} = 1 x n(i)=1,于是上述表达式等价于找到 w ⃗ \vec{w} w 使得 w ⃗ T x ⃗ ≈ y {\vec{w}}^T\vec{x}\approx y w Tx 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)Tx (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 mn 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^ =argw minXw 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^ =argw minXw y =argw minXw 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 wiL=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} (w1L,w2L,,wnL)T=0 T2XT(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) 为什么这个极小值就是我们需要的最小值?

你可能感兴趣的:(概率论与数理统计)