线性模型

本文深入解析线性模型,包括线性回归、对数几率回归及线性判别分析,探讨了模型公式、参数求解及多分类策略,是理解机器学习基础的必备指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在读《机器学习》——周志华的西瓜书, 打卡学习——2019年05月16日

线性模型

  1. 基本形式:

给定由ddd个属性描述的示例x=(x1;x2;...;xi)x =(x_1; x_2;...;x_i)x=(x1;x2;...;xi),其中xix_ixi

xxx在第$ i$个的属性上的取值,一般式为:
(1)f(x)=w1x1+w2x2+...+wixi f(x)= w_1x_1 +w_2x_2+...+w_ix_i\tag{1} f(x)=w1x1+w2x2+...+wixi(1)
即:
(2)f(x)=wTx+b f(x)=w^Tx+b\tag{2} f(x)=wTx+b(2)

  1. 线性回归:

给定数据集D=(x1,y1),(x2,y2),…,(xi,yi)D={(x_1, y_1), (x_2,y_2 ), …,(x_i, y_i)}D=(x1,y1),(x2,y2),,(xi,yi),其中xi=(xi1;xi2;…;xid),y∈Rx_i=(x_{i1}; x_{i2};…;x_{id}), y\in Rxi=(xi1;xi2;;xid),yR。"线性回归"试图学的一个线性模型以尽可能准确的预测输出标记。线性回归试图学得:
(3)f(xi)=wxi+b,使得f(xi)≃yi f(x_i) = wx_i +b,使得f(x_i)\simeq y_i\tag{3} f(xi)=wxi+b,使f(xi)yi(3)
我们使用均方误差衡量f(xi)f( x_i)f(xi)yyy之间的关系, 以求得wwwbbb, 均方误差最小化, 即
(4)(w∗,b∗)=argmin∑i=1m(f(xi)−yi)2=argmin∑i=1m(yi−wxi−b)2 (w^*, b^*) = argmin\sum_{i=1}^m(f(x_i)-y_i)^2 \\ =argmin\sum_{i= 1}^{m}(y_i-wx_i-b)^2\tag{4} w,b=argmini=1m(f(xi)yi)2=argmini=1m(yiwxib)2(4)
基于均方误差最小化来进行模型求解的方法称为“最小二乘”, 最小二乘试图找到一条直线,使所有的样本到直线上的欧式距离之和最小。

求解wwwbbb 使E(w,b)=∑i=1m(y−wxi−b)2E_{(w,b)}=\sum_{i=1}^m(y-wx_i-b)^2E(w,b)=i=1m(ywxib)2最小化的过程,成为线性回归模型的最小二乘“参数估计”, 将Ew,bE_{w,b}Ew,b分别对wwwbbb求导:
(5)∂Ew,b∂w=2(w∑i=1mxi3−∑i=1m(yi−b)xi), \frac{\partial E_{w, b}}{\partial w}=2(w\sum_{i=1}^mx^3_i -\sum_{i=1}^m(y_i-b)x_i),\tag{5} wEw,b=2(wi=1mxi3i=1m(yib)xi),(5)

(6)∂E(w,b)∂b=2(mb−∑i=1m(yi−wxi)) \frac{\partial E_{(w, b)}}{\partial{b}}=2(mb-\sum_{i=1}^m(y_i-wx_i))\tag{6} bE(w,b)=2(mbi=1m(yiwxi))(6)

​ 令式(5)、(6)为0, 可得wwwbbb最优的闭解:
(7)w=∑i=1m(yi(xi−xˉ)∑i=1mxi2−1m(∑i=1mxi)2 w=\frac{\sum_{i=1}^m(y_i(x_i- \bar{x})}{\sum_{i=1}^m x_i^2 -\frac{1}{m}(\sum_{i=1}^m x_i)^2} \tag{7} w=i=1mxi2m1(i=1mxi)2i=1m(yi(xixˉ)(7)

(8)b=1m∑i=1i(yi−wxi) b=\frac{1}{m}\sum_{i=1}^i(y_i-wx_i)\tag{8} b=m1i=1i(yiwxi)(8)

​ 其中xˉ=1m∑i=1mxi\bar{x} =\frac{1}{m}\sum_{i=1}^m x_ixˉ=m1i=1mxixxx的均值。

​ 同时数据集DDD ,样本由多个ddd个属性描述, 此时f(xi)=wTx+b,f(xi)≃yif(x_i)= w^Tx+b, f(x_i)\simeq y_if(xi)=wTx+b,f(xi)yi 为“多元线性回归”

​ 将(4)式写成矩阵的形式,即:
(9)w∗^=argmin(y−Xw^)T(y−Xw^) \hat{w^*}= argmin(y-X\hat{w})^T(y-X\hat{w}) \tag{9} w^=argmin(yXw^)T(yXw^)(9)
​ 对$ \hat{w}$求导得:
(10)∂Ew^∂w^=2XT(Xw^−y) \frac{\partial E_{\hat{w}}}{\partial \hat{w}}= 2X^T(X\hat{w}-y)\tag{10} w^Ew^=2XT(Xw^y)(10)
​ 当XTXX^ TXXTX为满秩矩阵或者正定矩阵时, (10)式可得闭解, 即:
w^∗=(XTX)−1XTy \hat{w}^*= (X^TX)^{-1}X^Ty w^=(XTX)1XTy
​ 当XTXX^TXXTX不是满秩矩阵时, 需要引入正则化项。

  1. 对数几率回归(逻辑回归)

    对于二元分类问题, 其输出得标记y∈{0,1}y \in \{0, 1\}y{0,1},而线性回归模型产生得预测值z=wTx+bz=w^Tx +bz=wTx+b是实值, 最理想得是“单位阶跃函数”,由于其不是单调可微的。但是对数几率函数常用的替代函数, 它将zzz值转化成一个接近0或1的yyy值, 并且其输出值再z=0z=0z=0附近变化很陡。
    (11)y=11+e−z y=\frac{1}{1+e^{-z}}\tag{11} y=1+ez1(11)
    即:
    (12)y=11+e−(wTx+b) y=\frac{1}{1+e^{-(w^Tx+b)}}\tag{12} y=1+e(wTx+b)1(12)

对(12)式取对数,
(13)lny1−y=wTx+b ln\frac{y}{1-y} = w^Tx+b\tag{13} ln1yy=wTx+b(13)
若将yyy视为样本xxx作为正例的可能性, 则1−y1-y1y是其反例的可能性, 两者的比值
(14)y1−y \frac{y}{1-y}\tag{14} 1yy(14)
称为"几率", 反应了xxx作为正例的可能性, 对几率取对数则可以得到“对数几率”
(15)lny1−y ln\frac{y}{1-y}\tag{15} ln1yy(15)
“对数几率回归”实际是一种分类学习方法, 可以直接对分类可能性进行建模, 无需假设数据分布, 他不仅预测出“类别”, 而且还可得到近似概率预测。

  1. 线性判别分析

    线性判别分析(Linear Discriminant Analysis 简称LDA)是一种经典的线性学习方法,最早称"Fisher 判别分析"。

    LDA的思想很朴素: 给定训练样例集, 设法将样例投影到一条直线上, 使得同类样例的投影点尽可能接近, 异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影在这条直线上, 再根据投影点的位置来确定新的样本类别。

    数据集: D={(xi,yi)}i=1mD=\{(x_i, y_i)\}^m_{i=1}D={(xi,yi)}i=1m,yi={0,1}y_i=\{0, 1\}yi={0,1}, 令 Xi,μi,ΣiX_i, \mu_i, \Sigma_iXi,μi,Σi分别表示第i∈{0,1}i\in \{0, 1\}i{0,1}类实例的集合,均值向量, 协方差矩阵。

    样本在直线上的投影为 wTμ0,wTμ1w^T\mu_0,w^T\mu_1wTμ0,wTμ1, 协方差为:wTΣ0w,wTΣ1ww^T\Sigma_0w, w^T\Sigma_1wwTΣ0w,wTΣ1w


    欲使同类的投影点尽可能接近, 可以让同类的投影点的协方差尽可能小 (wTΣ0w+wTΣ1ww^T\Sigma_0 w+w^T\Sigma_1 wwTΣ0w+wTΣ1w), 而欲使异类样例的投影点尽可能远离, 可以让类中心的距离尽可能大(∣∣wTμ0−wTμ1∣∣22||w^T\mu_0 -w^T\mu_1||^2_2wTμ0wTμ122)尽可能大, 同时考虑两者, 则可得到最大化目标:
    (16)J=∣∣wTμ0−wTμ1∣∣22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)wwT(Σ0+Σ1)w J=\frac{||w^T\mu_0 -w^T\mu_1||^2_2}{w^T\Sigma_0 w+w^T\Sigma_1 w}\\ =\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)w}{w^T(\Sigma_0+\Sigma_1)w}\tag{16} J=wTΣ0w+wTΣ1wwTμ0wTμ122=wT(Σ0+Σ1)wwT(μ0μ1)(μ0μ1)w(16)
    定义“类内散度矩阵”
    (17)Sw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T S_w=\Sigma_0+\Sigma_1\\ =\sum_{x\in X_0}(x-\mu_0)(x-\mu_0)^T+\sum_{x\in X_1}(x-\mu_1)(x-\mu_1)^T\tag{17} Sw=Σ0+Σ1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T(17)

以及“内间散度矩阵”
(18)Sb=(μ0−μ1)(μ0−μ1)T S_b =(\mu_0-\mu_1)(\mu_0-\mu_1)^T \tag{18} Sb=(μ0μ1)(μ0μ1)T(18)

(19)J=wTSbwwTSww J=\frac{w^TS_bw}{w^TS_ww}\tag{19} J=wTSwwwTSbw(19)
这就是LDA欲最大化的目标, 即SbS_bSb,SwS_wSw的“广义瑞利商”, 分子和分母都是关于www的二次项, 因此式(19)的解和www的长度无关, 只与其方向有关,不失一般性, 令wTSww=1w^TS_ww =1wTSww=1

即:
(20)minw−wTSbws.t.wTSww=1 min_{w} -w^TS_bw\\ s.t. w^TS_ww =1\tag{20} minwwTSbws.t.wTSww=1(20)
由拉格朗日乘子,Sbw=λSwwS_bw=\lambda S_wwSbw=λSww, 其中λ\lambdaλ是拉格朗日乘子 ,注意到SbwS_bwSbw的方向恒为μ0−μ1\mu_0-\mu_1μ0μ1, 不妨令:
Sbw=λ(μ0−μ1) S_bw=\lambda (\mu_0-\mu_1) Sbw=λ(μ0μ1)
即得:
w=Sw−1(μ0−μ1) w=S_w^{-1}(\mu_0-\mu_1) w=Sw1(μ0μ1)
使用奇异值分解SwS_wSw, 即Sw=UΣVTS_w=U\Sigma V^TSw=UΣVT, 再由
Sw−1=VΣ−1UT S_w^{-1}=V\Sigma^{-1}U^T Sw1=VΣ1UT
可以将LDA推广到多分类任务中, 假定存在NNN个类, 且第iii类示例数为mim_imi,我们先定义“全局散度矩阵”
St=Sb+Sw=∑i=1m(xi−μ)(xi−μ)T S_t = S_b+S_w\\ =\sum_{i=1}^m(x_i-\mu)(x_i-\mu)^T St=Sb+Sw=i=1m(xiμ)(xiμ)T
其中μ\muμ是所有样例的均值, 将类内散度矩阵SwSwSw重定义为每个类别的散度矩阵之和,即
Sw=∑i=1nSwiSwi=∑x∈Xi(x−μi)(x−μi)T S_w=\sum^n_{i=1}S_{w_i}\\ S_{w_i}=\sum_{x\in X_i}(x-\mu_i)(x-\mu_i)^T Sw=i=1nSwiSwi=xXi(xμi)(xμi)T
可得:
Sb=St−Sw S_b=S_t-S_w Sb=StSw
可以使用多种实现方法使用Sb,Sw,StS_b, S_w, S_tSb,Sw,St三者中的任何两种即可。常见的一种实现是采用优化目标
(21)maxtr(WTSbW)tr(WTSwW) max\frac{tr(W^TS_bW)}{tr(W^TS_wW)}\tag{21} maxtr(WTSwW)tr(WTSbW)(21)
可通过广义特征值问题求解:
SbW=λSwW S_bW=\lambda S_wW SbW=λSwW
WWW的闭解形式是Sw−1SbS^{-1}_wS_bSw1SbN−1N-1N1个最大广义特征值所对应的特征向量组成的矩阵。

  1. 多分类学习

    不失一般性, 考虑NNN个类别C1,C2,....,CNC_1, C_2, ...., C_NC1,C2,....,CN多分类学习的基本思路是“拆解法”, 最经典的拆分策略有三种:“一对一”(One vs. One 简称OvO)、“一对其余”(One vs. Rest 简称 OvR)和“多对多”(Many vs. Many 简称MvM).

    OvO将这NNN个类别两两配对, 从而产生N(N−1)/2N(N-1)/2N(N1)/2个二元分类任务。

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

    MvM是每次将若干个类作为正类, 若干个其他类作为反类。MVM技术常用的叫“纠错输出码”,由于纠错编码实用性不强,所以在这里不过多介绍。

    接下来我会找一些编程题来实现对线性回归算法的复盘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值