机器学习——3.线性模型

1. 基本形式

    给定 d d d 维的数据集 X = ( x 1 , x 2 . . . x d ) \mathcal{X} = (x_1,x_2 ... x_d) X=(x1,x2...xd),其中 x i x_i xi X \mathcal{X} X在第 i个特征上的取值,线性模型(Linear model) 试图学得一个通过特征的线性组合来进行预测的函数,即:
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^Tx + b f(x)=wTx+b
其中 w = ( w 1 ; w 2 ; . . . ; w d ) w = (w_1;w_2;...;w_d) w=(w1;w2;...;wd),学得 w , b w,b w,b后即确定了模型。

  1. 线性模型简单可解释性强
  2. 可在线性模型基础上加入一些结构变成非线性模型,表达更强

    

2. 线性回归

2.1 线性回归

    给定数据集 D = ( X 1 , y 1 ) , ( X 2 , y 2 ) , . . . ( X m , y m ) D = {(\mathcal{X}_1,y_1),(\mathcal{X}_2,y_2),...(\mathcal{X}_m,y_m)} D=(X1,y1),(X2,y2),...(Xm,ym),其中 X = ( x i 1 ; x i 2 ; . . . x i d ) \mathcal{X} =(x_{i1};x_{i2};...x_{id}) X=(xi1;xi2;...xid), “线性回归”(linear regression) 试图学得一个线性模型以尽可能准确地预测实值输出的标记。

    将数据输入到模型时,要求输入模型是数值,所以对离散数值通常我们也有如下的做法:

  • 离散特征存在“序”关系,直接转换为连续值,例如(“低”,“中”,“高”)转化为(1,2,3)
  • 离散特征不存在“序”关系,通过一些编码的方式转换位数值,例如(“西瓜”,“南瓜”,“黄瓜”)使用OneHot编码转化为([1,0,0],[0,1,0],[0,0,1])

    模型将试图学得
f ( x i ) = w x i + b , f ( x i ) ≃ y i f(x_i) = wx_i + b, f(x_i) \simeq y_i f(xi)=wxi+b,f(xi)yi

2.2 最小化均方误差

    如何学得对应的 w , b w,b w,b呢,通常回归任务可以通过最小化均方误差的方式。
( 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=1m(f(xi)yi)2=argmin(w,b)i=1m(yiwxib)2

2.3 凸函数求最值问题

    上述的最小化均方误差求解 w , b w,b w,b 本质上是对多元函数求最值的问题,即是凸函数求最值点的问题。所以我们以下的步骤是:

  1. 证明该均方误差 ∑ i = 1 m ( y i − w x i − b ) 2 \sum_{i=1}^m(y_i - wx_i -b)^2 i=1m(yiwxib)2 为一个凸函数
  2. 利用凸函数求最值的方法解得参数 w , b w,b w,b
2.3.1 凸函数

定理:设 D ⊂ R n D\subset R^n DRn 是非空开凸集, f : D ⊂ R n → R \mathcal{f} :D \subset R^n\rightarrow R f:DRnR,且 f ( x ) f(x) f(x) D D D上二价连续可微,如果 f ( x ) f(x) f(x)的Hessian矩阵在 D D D上是半正定的,则 f ( x ) f(x) f(x) D D D上的凸函数。

    以上,所以只需证明均方误差 ∑ i = 1 m ( y i − w x i − b ) 2 \sum_{i=1}^m(y_i - wx_i -b)^2 i=1m(yiwxib)2 的Hessian矩阵
[ ∂ 2 E ( w , b ) ∂ w 2 ∂ 2 E ( w , b ) ∂ w ∂ b ∂ 2 E ( w , b ) ∂ b ∂ w ∂ 2 E ( w , b ) ∂ b 2 ] = [ 2 ∑ i = 1 m x i 2 2 ∑ i = 1 m x i 2 ∑ i = 1 m x i 2 m ] \left[ \begin{matrix} \frac{\partial ^2E_{(w,b)}}{\partial w^2} & \frac{\partial ^2E_{(w,b)}}{\partial w \partial b} \\ \frac{\partial ^2E_{(w,b)}}{\partial b \partial w}& \frac{\partial ^2E_{(w,b)}}{\partial b^2} \end{matrix} \right] = \left[ \begin{matrix} 2\sum_{i=1}^{m} x_i^2 & 2\sum_{i=1}^{m} x_i \\ 2\sum_{i=1}^{m} x_i & 2m \end{matrix} \right] [w22E(w,b)bw2E(w,b)wb2E(w,b)b22E(w,b)]=[2i=1mxi22i=1mxi2i=1mxi2m] 是一个半正定矩阵,即可得 ∑ i = 1 m ( y i − w x i − b ) 2 \sum_{i=1}^m(y_i - wx_i -b)^2 i=1m(yiwxib)2 是一个关于 w , b w,b w,b 的凸函数

半正定矩阵判定定理之一:若是对称矩阵的所有顺序主子式均为非负,则该矩阵为半正定矩阵

可证上述HEssian矩阵所有顺序主子式为非负(证明略)

2.4 求解模型参数

求解 w , b w,b w,b使 ∑ i = 1 m ( y i − w x i − b ) 2 \sum_{i=1}^m(y_i - wx_i -b)^2 i=1m(yiwxib)2最小化的过程,称为线性回归模型的最小二乘“参数估计(parameter estimation)”。我们可将 E ( w , b ) E_{(w,b)} E(w,b)分别对 w , b w,b w,b求导
∂ E ( w , b ) ∂ w = ∂ ∂ w [ ∑ i = 1 m ( y i − w x i − b ) 2 ] = ∑ i = 1 m ∂ ∂ w [ ( y i − w x i − b ) 2 ] = ∑ i = 1 m [ 2 ∗ ( y i − w x i − b ) ∗ ( − x i ) ] = ∑ i = 1 m [ 2 ∗ ( w x i 2 − y i x i + b x i ) ] = 2 ∗ ( w ∑ i = 1 m x i 2 − ∑ i = 1 m y i x i + b ∑ i = 1 m x i ) = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial E_{(w,b)}}{\partial w} = \frac{\partial}{\partial w}[\sum_{i=1}^{m}(y_i - wx_i - b)^2] \\ = \sum_{i=1}^m \frac{\partial}{\partial w}[(y_i - wx_i -b)^2] \\ = \sum_{i=1}^m [2 * (y_i - wx_i - b) * (-x_i)] \\ =\sum_{i=1}^m[2 * (wx_i^2 - y_ix_i +bx_i)] \\ =2 *(w\sum_{i=1}^m x_i^2 -\sum_{i=1}^m y_ix_i + b\sum_{i=1}^m x_i) \\ = 2(w\sum_{i=1}^m x_i^2 - \sum_{i=1}^m (y_i -b)x_i) wE(w,b)=w[i=1m(yiwxib)2]=i=1mw[(yiwxib)2]=i=1m[2(yiwxib)(xi)]=i=1m[2(wxi2yixi+bxi)]=2(wi=1mxi2i=1myixi+bi=1mxi)=2(wi=1mxi2i=1m(yib)xi)

∂ E ( w , b ) ∂ b = ∂ ∂ b [ ∑ i = 1 m ( y i − w x i − b ) 2 ] = ∑ i = 1 m ∂ ∂ b [ ( y i − w x i − b ) 2 ] = ∑ i = 1 m [ 2 ∗ ( y i − w x i − b ) ∗ ( − 1 ) ] = ∑ i = 1 m [ 2 ∗ ( b − y i + w x i ) ] = 2 ∗ ( ∑ i = 1 m b − ∑ i = 1 m y i + ∑ i = 1 m w x i ) = 2 ( m b − ∑ i = 1 m ( y − w x i ) ) \frac{\partial E_{(w,b)}}{\partial b} = \frac{\partial}{\partial b}[\sum_{i=1}^{m}(y_i - wx_i - b)^2] \\ = \sum_{i=1}^m \frac{\partial}{\partial b}[(y_i - wx_i -b)^2] \\ = \sum_{i=1}^m [2 * (y_i - wx_i - b) * (-1)] \\ =\sum_{i=1}^m[2 * (b - y_i +wx_i )] \\ =2 *(\sum_{i=1}^m b -\sum_{i=1}^m y_i+ \sum_{i=1}^m wx_i) \\ = 2(mb -\sum_{i=1}^m (y - wx_i)) bE(w,b)=b[i=1m(yiwxib)2]=i=1mb[(yiwxib)2]=i=1m[2(yiwxib)(1)]=i=1m[2(byi+wxi)]=2(i=1mbi=1myi+i=1mwxi)=2(mbi=1m(ywxi))

∂ E ( w , b ) ∂ w = 0 \frac {\partial E_{(w,b)}}{\partial w} = 0 wE(w,b)=0,即:

0 = w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − ∑ i = 1 m b x i 0 = w \sum_{i =1}^m x_i^2 - \sum_{i=1}^m(y_i -b)x_i \\ w\sum_{i=1}^m x_i^2 = \sum_{i=1}^m y_ix_i - \sum_{i=1}^m bx_i 0=wi=1mxi2i=1m(yib)xiwi=1mxi2=i=1myixii=1mbxi

∂ E ( w , b ) ∂ b = 0 \frac {\partial E_{(w,b)}}{\partial b} = 0 bE(w,b)=0,可得:
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=1m(yiwxi)
因为 1 m ∑ i = 1 m y i = y ‾ , 1 m ∑ i = 1 m x i = x ‾ \frac {1}{m}\sum_{i=1}^m y_i = \overline y, \frac{1}{m} \sum_{i=1}^{m} x_i = \overline x m1i=1myi=y,m1i=1mxi=x , 即有 b = y ‾ − w x ‾ b = \overline y - w\overline x b=ywx

    代入b代入 ∂ E ( w , b ) ∂ w = 0 \frac {\partial E_{(w,b)}}{\partial w} = 0 wE(w,b)=0中,得:
w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − ∑ i = 1 m ( y ‾ − w x ‾ ) x i w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − y ‾ ∑ i = 1 m x i + w x ‾ ∑ i = 1 m x i w = ∑ i = 1 m y i x i − y ‾ ∑ i = 1 m x i ∑ i = 1 m x i 2 − x ‾ ∑ i = 1 m x i w\sum_{i=1}^m x_i^2 = \sum_{i=1}^m y_ix_i - \sum_{i=1}^m (\overline y - w\overline x) x_i \\ w\sum_{i=1}^m x_i^2 = \sum_{i=1}^m y_ix_i - \overline y \sum_{i=1}^m x_i + w\overline x \sum_{i=1}^m x_i \\ w =\frac{\sum_{i=1}^m y_ix_i - \overline y \sum_{i=1}^m x_i}{\sum_{i=1}^m x_i^2 -\overline x \sum_{i=1}^m x_i } wi=1mxi2=i=1myixii=1m(ywx)xiwi=1mxi2=i=1myixiyi=1mxi+wxi=1mxiw=i=1mxi2xi=1mxii=1myixiyi=1mxi

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=1mxi2m1(i=1mxi)2i=1myi(xix)
    

2.5 广义线性模型

    当我们输出标记的对数作为线性模型逼近的目标:
l n y = w T x + b ln y = w^Tx +b lny=wTx+b
上式即是 “对数线性回归"(log-linear regression),实际上是让 e w T x + b e^{w^Tx +b} ewTx+b逼近y,但 l n 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=g1(wTx+b)
    这样得到的模型称为 “广义线性模型”(generalized linear model) 。其中函数 g ( . ) g(.) g(.)称为 “联系函数”(link function)
        
    

3. 对数几率回归

    上述讨论了用线性模型进行了回归任务的学习,加若要做分类任务,则可以利用广义线性回归的理论,找到一个联系函数将线性模型和预测目标联系起来。

    假设在二分类任务中,输出标记即 y ∈ { 0 , 1 } \mathcal{y} \in \{0,1\} y{0,1},我们则需要利用一个联系函数将 z = w T x + b z = w^Tx +b z=wTx+b y y y联系起来,即将 z z z值转换位0/1值。

    我们找到将一个联系函数, y = 1 1 + e − z y = \frac{1}{1+e^{-z}} y=1+ez1,代入 z z z则有:
y = 1 1 + e − ( w T x + b ) y + y e − ( w T x + b ) = 1 e − ( w T x + b ) = 1 − y y − ( w T x + b ) = l n 1 − y y l n y 1 − y = w T x + b y = \frac{1}{1+e^{-(w^Tx +b)}} \\ y +ye^{-(w^Tx +b)}= 1\\ e^{-(w^Tx +b)} = \frac{1-y}{y} \\ -(w^Tx+b) = ln \frac{1-y}{y} \\ ln \frac{y}{1-y} = w^Tx +b y=1+e(wTx+b)1y+ye(wTx+b)=1e(wTx+b)=y1y(wTx+b)=lny1yln1yy=wTx+b
    其中 y 1 − y \frac{y}{1-y} 1yy称为几率,则 l n y 1 − y ln \frac{y}{1-y} ln1yy称之为对数几率。上述的模型用线性回归模型的预测结果去逼近真实标记的对数几率,称之为 “对数几率回归”(logistic regression)
    

4. 线性判别分析(Linear Discriminant Analysis,LDA)

4.1 基本思想

    假设给定一个二维的,二类别任务数据集,LDA则设法将样本投影到一条直线上,使得同类的样本的投影点尽可能接近,反之尽可能远离。则新样本分类时,则对其投影到直线再根据区域对其进行分类。
在这里插入图片描述

4.2 原理
  • 给定数据集 D = ( x i , y i ) i = 1 m , y i ∈ { 0 , 1 } D = {(x_i,y_i)}_{i=1}^m,y_i \in \{0,1\} D=(xi,yi)i=1m,yi{0,1}
  • X i , μ i , ∑ i \mathcal{X}_i,\mu_i,\sum_i Xi,μi,i分别表示类别 i ∈ { 0 , 1 } i \in \{0,1\} i{0,1}的数据集、均值向量,协方差矩阵
  • 则两类样本的中心在直线上的投影分别为 w T μ 0 w^T\mu_0 wTμ0 w T μ 1 w^T\mu_1 wTμ1
  • 投影后样本的协方差为 w T ∑ 0 w , w T ∑ 1 w w^T\sum_0w,w^T\sum_1w wT0w,wT1w

    为了将同类样本尽可能接近,异类样本尽可能远离。即两类样本的协方差和 w T ∑ 0 w + w T ∑ 1 w w^T\sum_0w+w^T\sum_1w wT0w+wT1w尽量小,两个类中的中心 ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ ||w^T\mu_0 - w^T\mu_1|| wTμ0wTμ1尽可能远离。
则得到最大化目标:
J = ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 w T ∑ 0 w + w T ∑ 1 w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( ∑ 0 + ∑ 1 ) w = w T S b w w T S w w J = \frac{||w^T\mu_0 - w^T\mu_1||_2^2}{w^T\sum_0 w + w^T\sum_1w} \\ =\frac{w^T(\mu_0 - \mu_1)(\mu_0 -\mu_1)^Tw}{w^T(\sum_0 + \sum_1)w} = \frac{w^TS_bw}{w^TS_ww } J=wT0w+wT1wwTμ0wTμ122=wT(0+1)wwT(μ0μ1)(μ0μ1)Tw=wTSwwwTSbw
其中记 S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T , S w = ∑ 0 + ∑ 1 S_b =(\mu_0 - \mu_1)(\mu_0 - \mu_1)^T,S_w =\sum_0 + \sum_1 Sb=(μ0μ1)(μ0μ1)T,Sw=0+1

5. 多分类学习

 考虑 N N N个类别 C 1 , C 2 , . . . C N C_1,C_2,...C_N C1,C2,...CN,多分类的基本思路是“拆解法”,即将多分类任务拆为若干个二分类的任务求解。

5.1 “一对一”(One vs One,OvO)

    OvO将 N N N个类别的两两配对,从而产生 N ( N − 1 ) / 2 N(N-1)/2 N(N1)/2个分类任务。例如,OvO将为区分类别 C i C_i Ci C j C_j Cj训练一个分类器,该分类器将同时提交给所有分类器,于是我们将得到 N ( N − 1 ) / 2 N(N-1)/2 N(N1)/2个分类节气,最终结果可通过投票产生。

5.1 “一对其余”(One vs Rest,OvR)

    OvR则是每次将一类的样例作为正例,所有其他类别的样本作为反例来训练 N N N个分类。

5.1 “多对多”(Many vs Many,MvM)

    MvM是每次将若干个类作为正类,若干个类作为反类。

6. 参考资料

1.《机器学习》周志华 著. 机器学习, 北京: 清华大学出版社
2.《统计学习方法》李航 著. 北京: 清华大学出版社
3. 南瓜书
4. datawhale讲解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值