基本形式
示例 x = ( x 1 ; x 2 ; . . . . . . ; x d ) x =(x_1; x_2; ......; x_d) x=(x1;x2;......;xd), 由 d 个属性组成,线性模型试图学得一个通过属性的线性组合来进行预测的函数,
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x)=w_1x_1+w_2x_2+...+w_dx_d+b f(x)=w1x1+w2x2+...+wdxd+b
向量形式为:
f ( x ) = w T x + b f( x )= w^T x + b f(x)=wTx+b
线性模型形式简单、易于建模,却蕴涵着机器学习中的一些重要的基本思想。许多更强大的非线性模型可在线性模型的基础上通过引入层级结构或高维映射而得。由于 w 表达了属性的重要性,模型的解释性很好。
线性回归
给定数据集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . ( x m , y m ) D = {(x_1, y_1),(x_2, y_2), . . . (x_m, y_m)} D=(x1,y1),(x2,y2),...(xm,ym),其中 x i = ( x i 1 ; x i 2 ; . . . x i d ) , y i ∈ R x_i = (x_{i1}; x_{i2}; . . . x_{id}), y_i \in R xi=(xi1;xi2;...xid),yi∈R。线性回归视图学得一个线性模型以尽可能准确的预测实值输出标记。
考虑属性只有一个的情况,即 d = 1,线性回归试图学得:
f ( x i ) = w x i + b 使 得 f ( x i ) ≈ y i (1) f(x_i) = wx_i + b \quad 使得 \quad f(x_i) \approx y_i \tag{1} f(xi)=wxi+b使得f(xi)≈yi(1)
确定 w 和 b 的关键在于如何衡量 f(x) 和 y 之间的差别。使用均方误差度量,那么
( w ∗ , b ∗ ) = a r g m i n ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = a r g m i n ( w , b ) ∑ i = 1 m ( y i − w x i − b ) 2 (w^*, b^*) = argmin_{(w,b)} \sum_{i=1}^m (f(x_i) - y_i)^2= argmin_{(w,b)} \sum_{i=1}^m (y_i - wx_i - b)^2 (w∗,b∗)=argmin(w,b)i=1∑m(f(xi)−yi)2=argmin(w,b)i=1∑m(yi−wxi−b)2
基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。
求解 w 和 b 使 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w, b)} = \sum_{i=1}^m (y_i - wx_i - b)^2 E(w,b)=∑i=1m(yi−wxi−b)2 最小化的过程,称为线性回归模型的最小二乘“参数估计”。
将 E ( w , b ) E_{(w, b)} E(w,b) 分别对 w 和 b 求导,
∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m ( x i ) 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial E_{(w,b)}}{\partial w} = 2(w\sum_{i=1}^m (x_i)^2 - \sum_{i=1}^m (y_i - b)x_i) ∂w∂E(w,b)=2(wi=1∑m(xi)2−i=1∑m(yi−b)xi)
∂ E ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) \frac{\partial E_{(w,b)}}{\partial b} = 2(mb - \sum_{i=1}^m (y_i - wx_i)) ∂b∂E(w,b)=2(mb−i=1∑m(yi−wxi))
然后使导数等于0, 得到 w 和 b 的解
w = ∑ i = 1 m y i ( x i − x ‾ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 w = \frac{\sum_{i=1}^m y_i(x_i - \overline{x})}{\sum_{i=1}^m x_i^2 - \frac{1}{m}(\sum_{i=1}^m x_i)^2} w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−x)
b = 1 m ∑ i = 1 m ( y i − w x i ) b = \frac{1}{m} \sum_{i=1}^m (y_i - wx_i) b=m1i=1∑m(yi−wxi)
当样本属性个数 d 不等于1的时候,公式(1)写成
f ( x i ) = w T x i + b f(x_i) = w^Tx_i + b f(xi)=wTxi+b 使得 f ( x i ) ≈ y i f(x_i) \approx y_i f(xi)≈yi
称为多元线性回归,也称多变量线性回归。
令 w ^ = ( w ; b ) \hat w = (w; b) w^=(w;b) ,数据集 D 表示为一个 m × ( d + 1 ) m \times (d + 1) m×(d+1) 大小的矩阵 X ,那么类似上面的公式
w ^ ∗ = a r g m i n ( w , b ) ( y − X w ^ ) T ( y − X w ^ ) \hat w^* = argmin_{(w,b)} (y - X\hat w)^T(y - X\hat w) w^∗=argmin(w,b)(y−Xw^)T(y−Xw^)
令 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat{w}} = (y - X\hat w)^T(y - X\hat w) Ew^=(y−Xw^)T(y−Xw^), 对 w ^ \hat{w} w^求导得到
∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) \frac{\partial E_{\hat{w}}}{\partial \hat{w}} = 2X^T (X \hat{w} - y) ∂w^∂Ew^=2XT(Xw^−y)
使导数等于0,就能得到 w ^ \hat w w^ 最优解的闭式解,但其中涉及到矩阵逆运算。
当 X T X X^TX XTX为满秩矩阵或者正定矩阵时(此时, X T X X^TX XTX存在逆矩阵),导数为0得
w ∗ ^ = ( X T X ) − 1 X T y \hat {w^*} = (X^TX)^{-1} X^Ty w∗^=(XTX)−1XTy
令 x i ^ = ( x i ; 1 ) \hat{x_i} = (x_i; 1) xi^=(xi;1)则学到的多元线性回归模型是
f ( x i ^ ) = x i ^ T ( X T X ) − 1 X T y f(\hat{x^i}) = \hat{x_i}^T (X^TX)^{-1}X^Ty f(xi^)=xi^T(XTX)−1XTy
但现实任务中 X T X X^TX XTX往往不是满秩矩阵,例如属性数量远远大于样本数量时,就像求解线性方程组时,因变量过多,有多个解一样,此时可以有多个 w ^ \hat w w^, 常见的做法是引入正则化项。
广义线性回归
如果 x 对应的输出 y 是在指数尺度上变化,可将线性回归的公式写成如下形式:
ln y = w T x + b \ln y = w^Tx + b lny=wTx+b
这就是“对数线性回归”,其仍是线性回归,但实质上已是在求输入空间到输出空间的非线性函数映射。
更一般的,考虑单调可微函数 g ( . ) g(.) g(.),令
y = g − 1 ( w T x + b ) y = g^{-1}(w^Tx + b) y=g−1(wTx+b)
这样得到的模型为“广义线性模型”,其中 g ( . ) g(.) g(.)称为“联系函数”。不同于一般线性模型参数估计的最小二乘法,广义线性模型的参数估计常通过加权最小二乘法或极大似然法进行。
参考
周志华《机器学习》