机器学习 2.1.1 最小二乘估计

最小二乘估计是一种基于误差平方和最小化的参数估计方法。对于线性模型,其最小估计量是一种具有最小方差的无偏估计量,由最小二乘法求得的参数估计值是最优估计量,此外,最小二乘法计算简单、易于理解且具有良好的实际意义。

如前所述,对于任意一个给定的示例 X X X,可将其表示为表征向量或特征向量的形式。不失一般性,将样本集合中的每个示例看作分别看作一个特征向量。假设训练样本集为:
S = { ( X 1 , y 1 ) , ( X 2 , y 2 ) , … , ( X n , y n ) } S = \{(X_1, y_1), (X_2, y_2), \dots, (X_n, y_n)\} S={(X1,y1),(X2,y2),,(Xn,yn)}
可将其中的示例 X i X_i Xi表示为特征向量 X i = ( x 1 i , x 2 i , … , x k i ) T X_i = (x_{1i}, x_{2i}, \dots, x_{ki})^T Xi=(x1i,x2i,,xki)T x i x_i xi表示为示例 X X X的第 s s s个特征。

线性模型的初始模型一般可写为 f ( X ) = X T β f(X) = X^T\beta f(X)=XTβ,其中 β = ( β 1 , β 2 , … , β k ) T \beta = (\beta_1, \beta_2, \dots, \beta_k)^T β=(β1,β2,,βk)T为待求的参数向量, X X X为某个示例的特征向量。对于训练样本集中任意给定的一个示例 X X X,模型参数 β \beta β的真实值应该尽可能的使模型对示例 X i X_i Xi的输出 f ( X i ) f(X_i) f(Xi)与该标注值 y i y_i yi之间的误差达到最小。因此从整体上来看,如果存在参数向量的一组取值 β ^ \hat\beta β^,线性模型能够在该组参数取值下,获得模型输出与标注值之间在训练样本集上最小的整体误差,则将 β ^ \hat\beta β^作为 β \beta β的估计值最为合理。

最小二乘法正式基于上述思想。用 f ( X i ) → y i f(X_i) \rightarrow y_i f(Xi)yi表示模型 f f f对示例 X i X_i Xi的输出与该示例的真实值之间的误差。为防止误差正负值相互抵消和便于数学上的求导运算,最小二乘法将优化目标函数定义为样本个体误差的平方和,即有:
F ( β ) = ∑ i = 1 n [ f ( X i ) − y i ] 2 = ∑ i = 1 n ( X i T β − y i ) 2 F(\beta) = \sum^{n}_{i = 1}[f(X_i) - y_i]^2 = \sum^{n}_{i = 1}(X_i^T \beta - y_i)^2 F(β)=i=1n[f(Xi)yi]2=i=1n(XiTβyi)2
当目标函数去取得最小值时,所对应模型参数为最优。由于函数极值点除对所有参数的偏导均为 0 0 0,故可用此求得最二乘估计值。使用一个 n × k n \times k n×k的矩阵 X = ( X 1 , X 2 , … , X n ) T X = (X_1, X_2,\dots ,X_n)^T X=(X1,X2,,Xn)T表示训练样本集,则线性模型可表示为 f ( X ) = X β f(X) = X \beta f(X)=Xβ,由此可得如下目标函数:
F ( β ) = ( y − X β ) T ( y − X β ) F(\beta) = (y - X \beta)^T(y - X \beta) F(β)=(yXβ)T(yXβ)
其中, F ( β ) F(\beta) F(β)为向量形式的误差平方; y = ( y 1 , y 2 , … , y n ) T y = (y_1, y_2, \dots, y_n)^T y=(y1,y2,,yn)T为训练样本集的标注值向量。

F ( β ) F(\beta) F(β)取得最小值时所对应的参数向量 β ^ \hat{\beta} β^即为最小二乘法的估计值,即有:
β ^ = arg ⁡ β F ( β ) = arg ⁡ β min ⁡ ( y − X β ) T ( y − X β ) \hat{\beta} = \arg_{\beta}F(\beta) = \arg_{\beta}\min(y - X\beta)^T(y - X\beta) β^=argβF(β)=argβmin(yXβ)T(yXβ)
F ( β ) F(\beta) F(β) β \beta β的偏导为 0 0 0,可得方程组: X T ( y − X β ) = 0 X^T(y - X\beta) = 0 XT(yXβ)=0。解得:
β ^ = ( X T X ) − 1 X T y \hat{\beta} = (X^TX)^{-1}X^Ty β^=(XTX)1XTy
此处求偏导所用到的公式:
∂ x T a ∂ x = ∂ a T x ∂ x = a ∂ x T A x ∂ x = A x + A T x \frac{\partial x^Ta}{\partial x} = \frac{\partial a^Tx}{\partial x} = a \\ \frac{\partial x^TAx}{\partial x} = Ax + A^Tx \\ xxTa=xaTx=axxTAx=Ax+ATx
求导过程如下:

如果矩阵 A A A是对称的:
A x + A T x = 3 A x Ax + A^Tx = 3Ax Ax+ATx=3Ax
对目标函数化简:
F ( β ^ ) = β T X T X β − β T X T y − y T X β + Y T Y F(\hat\beta) = \beta^TX^TX\beta - \beta^TX^Ty - y^TX \beta + Y^TY F(β^)=βTXTXββTXTyyTXβ+YTY
F ( β ) F(\beta) F(β) β \beta β的偏导为 0 0 0
∂ F ( β ^ ) ∂ β = 2 X T X β − 2 X T Y = 0 \frac{\partial F(\hat\beta)}{\partial \beta} = 2X^TX\beta - 2X^TY = 0 βF(β^)=2XTXβ2XTY=0
解得 β ^ = ( X T X ) − 1 X T y \hat\beta = (X^TX)^{-1}X^Ty β^=(XTX)1XTy

你可能感兴趣的:(机器学习ML,机器学习,算法,线性代数)