线性回归模型试图学得一个通过属性的线性组合来进行预测的函数,即:
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(\bold{x}) = w_1x_1 + w_2x_2 + ... + w_dx_d + b f(x)=w1x1+w2x2+...+wdxd+b
其向量形式为:
f ( x ) = w T x + b f(\bold{x}) = \bold{w^Tx + b} f(x)=wTx+b
通过学习得到 w \bold{w} w 和 b b b,模型就确定了。
规定:当向量中的元素用分号“;”分隔时表示此向量为列向量,用逗号“,”分隔时表示为行向量。
1、数据集: D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D = \{(\bold{x_1},y_1),(\bold{x_2},y_2),...,(\bold{x_m},y_m)\} D={(x1,y1),(x2,y2),...,(xm,ym)}
2、样本属性: x i = ( x i 1 ; x i 2 ; . . . ; x i d ) \bold{x_i} = (x_{i1};x_{i2};...;x_{id}) xi=(xi1;xi2;...;xid) ===>为(d*1)的列向量
3、参数(w): w = ( w 1 ; w 2 ; . . . ; w d ) \bold{w} = (w_1;w_2;...;w_d) w=(w1;w2;...;wd)===>为(d*1)的列向量
4、维度: m m m= 样本数量, d d d= 属性数量
5、总体样本: x = ( x 1 , x 2 , . . . , x m ) \bold{x} = (x_1, x_2,...,x_m) x=(x1,x2,...,xm)===>代入 x i \bold{x_i} xi,得到(d*m)矩阵
6、表达式: w T x \bold{w^Tx} wTx===>为(1*d)*(d*m)得到(1*m)的行向量
预测:
对于某个样本,试图学得: f ( x i ) = w x i + b f(x_i) = wx_i + b f(xi)=wxi+b,使得 f ( x i ) ≈ y i f(x_i)\approx y_i f(xi)≈yi
属性数值化
为了能进行数学运算,样本中的非数值类属性都需要进行数值化。对于存在“序”关系的属性,可通过
连续化将其转化为带有相对大小关系的连续值;对于不存在“序”关系的属性,可根据属性取值将其拆解为
多个属性,例如“西瓜书”中所说的“瓜类”属性,可将其拆解为“是否是西瓜”、“是否是南瓜”、“是否是黄
瓜”3 个属性,其中每个属性的取值为1 或0,1 表示“是”,0 表示“否”。具体地,假如现有3 个瓜类样本:
x1 = (甜度= 高; 瓜类= 西瓜), x2 = (甜度= 中; 瓜类= 南瓜), x3 = (甜度= 低; 瓜类= 黄瓜),其中“甜
度”属性存在序关系,因此可将“高”、“中”、“低”转化为{1.0, 0.5, 0.0},“瓜类”属性不存在序关系,则按照上
述方法进行拆解,3 个瓜类样本数值化后的结果为:x1 = (1.0; 1; 0; 0), x1 = (0.5; 0; 1; 0), x1 = (0.0; 0; 0; 1)。
均方误差是回归任务中常用的性能度量,因此我们试图让均方误差最小化,即:
( w ∗ , b ∗ ) = a r g m i n ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 (w^*,b^*) = arg min_{(w,b)}\sum_{i=1}^m(f(x_i)-y_i)^2 (w∗,b∗)=argmin(w,b)i=1∑m(f(xi)−yi)2
= a r g m i n ( w , b ) ∑ i = 1 m ( y i − w x i − b ) 2 =arg min_{(w,b)}\sum_{i=1}^m(y_i-wx_i-b)^2 =argmin(w,b)i=1∑m(yi−wxi−b)2
求解 w w w和 b b 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最小化的过程,称为线性回归模型的最小二乘“参数估计”(parameter estimation)
将 E ( w , b ) E_{(w,b)} E(w,b)分别对 w w w和 b b b求导,得到:
∂ E ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial{E}}{\partial{w}} = 2\left( w\sum^m_{i=1}x^2_i - \sum^m_{i=1}(y_i-b)x_i \right) ∂w∂E=2(wi=1∑mxi2−i=1∑m(yi−b)xi)
∂ E ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) \frac{\partial{E}}{\partial{b}} = 2\left( mb - \sum^m_{i=1}(y_i-wx_i) \right) ∂b∂E=2(mb−i=1∑m(yi−wxi))
闭式解是指可以通过具体的表达式解出待解参数
令上面两式等于0,得到:
w = ∑ i = 1 m y i ( x i − x ‾ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 = ∑ i = 1 m ( y i − y ‾ ) ( x i − x ‾ ) ∑ i = 1 m ( x i − x ‾ ) 2 w = \frac{\sum^m_{i=1}y_i(x_i-\overline{x})}{\sum^m_{i=1}x^2_i-\frac{1}{m}(\sum^m_{i=1}x_i)^2} = \frac{\sum^m_{i=1}(y_i-\overline{y})(x_i-\overline{x})}{\sum^m_{i=1}(x_i-\overline{x})^2} w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−x)=∑i=1m(xi−x)2∑i=1m(yi−y)(xi−x)
b = 1 m ∑ i = 1 m ( y i − w x i ) = y ‾ − w x ‾ b = \frac{1}{m}\sum^m_{i=1}(y_i-wx_i) = \overline{y}-w\overline{x} b=m1i=1∑m(yi−wxi)=y−wx
其中:
x ‾ = 1 m ∑ i = 1 m x i , y ‾ = 1 m ∑ i = 1 m y i \overline{x} = \frac{1}{m}\sum^m_{i=1}x_i,\quad \overline{y} = \frac{1}{m}\sum^m_{i=1}y_i x=m1i=1∑mxi,y=m1i=1∑myi
为便于讨论,令 w ^ = ( w , b ) = ( w 1 ; w 2 ; . . . ; w d , b ) , x ^ i = ( x i 1 ; x i 2 ; . . . ; x i d , 1 ) \bold{\hat{w}} = (\bold{w},b) = (w_1;w_2;...;w_d,b),\bold{\hat{x}_i} = (x_{i1};x_{i2};...;x_{id},1) w^=(w,b)=(w1;w2;...;wd,b),x^i=(xi1;xi2;...;xid,1),那么 ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗)可简化为:
w ^ ∗ = a r g m i n w ^ ∑ i = 1 m ( y i − w ^ T x ^ i ) = a r g m i n w ^ ∑ i = 1 m ( y i − x ^ i T w ^ ) \hat{w}^* = argmin_{\hat{w}}\sum^m_{i=1}\left(y_i-\hat{w}^T\hat{x}_i\right) = argmin_{\hat{w}}\sum^m_{i=1}\left(y_i-\hat{x}^T_i\hat{w}\right) w^∗=argminw^i=1∑m(yi−w^Tx^i)=argminw^i=1∑m(yi−x^iTw^)
w ^ ∗ = a r g m i n w ^ ( y − X w ^ ) T ( y − X w ^ ) \hat{w}^* = argmin_{\hat{w}}(\bold{y-X\hat{w}})^T(\bold{y-X\hat{w}}) w^∗=argminw^(y−Xw^)T(y−Xw^)
将 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat{w}} = (\bold{y-X\hat{w}})^T(\bold{y-X\hat{w}}) Ew^=(y−Xw^)T(y−Xw^)展开并求导得,
∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) \frac{\partial{E_{\hat{w}}}}{\partial{\hat{w}}} = \bold{2X^T(X\hat{w}-y)} ∂w^∂Ew^=2XT(Xw^−y)
令求导为0,得
w ^ = ( X T X ) − 1 X T y \bold{\hat{w} = (X^TX)^{-1}X^Ty} w^=(XTX)−1XTy
引入正则化项(regularization),使矩阵为满秩矩阵
对数线性回归
l n y = w T x + b lny = \bold{w^Tx} + b lny=wTx+b
形式上还是线性回归,但实质上是在求取输入空间到输出空间的非线性函数映射
更一般的,考虑单调可微函数g(·),令
y = g − 1 ( w T x + b ) y = g^{-1}( \bold{w^Tx} + b) y=g−1(wTx+b)
这样得到的模型称为“广义线性模型”,其中g(·)称为“联系函数”。
通过“广义线性模型”,将线性回归应用到分类任务中
1、逻辑回归 LogisticRegression
y = 1 1 + e − ( w T x + b ) y = \frac{1}{1+e^{-(\bold{w^Tx} + b)}} y=1+e−(wTx+b)1
上式可变化为:
l n y 1 − y = w T x + b ln\frac{y}{1-y} = \bold{w^Tx} + b ln1−yy=wTx+b
将 y 视为样本 x 作为正例的可能性,则1-y 是其反例的可能性,两者的比值 y 1 − y \frac{y}{1-y} 1−yy,称为“几率”,取对数后称为“对数几率”
后验概率估计 p ( y = 1 ∣ x ) p(y = 1 | x) p(y=1∣x), p ( y = 0 ∣ x ) p(y = 0 | x) p(y=0∣x)
上式重写为概率形式:
l n p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = w T x + b ln\frac{p(y = 1 | x)}{p(y = 0 | x)} = \bold{w^Tx} + b lnp(y=0∣x)p(y=1∣x)=wTx+b
有:
p ( y = 1 ∣ x ) = 1 1 + e − ( w T x + b ) = e ( w T x + b ) 1 + e ( w T x + b ) p(y = 1 | x) = \frac{1}{1+e^{-(\bold{w^Tx} + b)}} = \frac{e^{(\bold{w^Tx} + b)}}{1+e^{(\bold{w^Tx} + b)}} p(y=1∣x)=1+e−(wTx+b)1=1+e(wTx+b)e(wTx+b)
p ( y = 0 ∣ x ) = 1 1 + e ( w T x + b ) p(y = 0 | x) = \frac{1}{1+e^{(\bold{w^Tx} + b)}} p(y=0∣x)=1+e(wTx+b)1
可通过“极大似然法”来估计 w w w和 b b b,
l ( w , b ) = ∑ i = 1 m l n p ( y i ∣ x i ; w , b ) l(w,b) = \sum^m_{i=1}lnp(y_i| x_i;w,b) l(w,b)=i=1∑mlnp(yi∣xi;w,b)
未完待续…