ESL读书笔记:Chap 4 Linear Methods for Classification

Chap 4 Linear Methods for Classification

Introduction

Linear Methods for Classification本质上就是对每一个类别k,使用线性判别函数 δ k ( x ) \delta_k(x) δk(x)建模,而后将x分为函数值最大的那一类。本章主要讨论两种线性方法,一种是线性判别分析,一种是逻辑回归。二者分别针对 X , Y X,Y X,Y联合概率, Y ∣ X Y|X YX后验概率,使用线性函数(或线性函数的变换)进行建模,从而得到线性的decision boundaries。

Linear Regression of an Indicator Matrix

正如前一节所讲的那样,只需要针对每一类使用线性函数建模,那么一种非常自然的想法就是针对Y的one-hot后虚拟变量的矩阵进行回归建模,这样很自然地期望:真实的那一类由于label是1所以值会高很多。

和一般的线性回归一样我是用线性模型去拟合 E ( Y k ∣ X ) E(Y_k|X) E(YkX),也就是 P ( Y = k ∣ X ) P(Y=k|X) P(Y=kX)。但是问题在于概率是正值,并且K类相加概率为1,这都是一般的线性回归无法保证的(虽然可以证明,当样本量N趋于无穷的时候,确实是相合估计)。所以很自然的会提出一种想法,就是把0-1编码推广,变成 ( − ∞ , + ∞ ) (-\infty,+\infty) (,+)上的值,并且使用一般的多元线性回归模型拟合,这种想法再严谨一些其实就可以看成是逻辑回归。

除了以上提到由于拟合概率本身会面临的问题,线性回归还有一个很明显的问题就是某些类别可能会被mask掉。正如下图中展示的那样,左图X轴的点展示的是一维特征下的三类分布,不同颜色的线展示的是拟合的三个线性回归模型。由于第二类主要集中在中间位置,所以在拟合线性回归模型的时候,它会是一个很平缓的直线,而另两类呈现的则是有明显的单调性。这样的处理就会导致三条直线在中间位置的值是几乎相等的,于是判为第二类的就会很少。右图展示的是一种解决方法,因为直线拟合做不到中间值高两边值低,所以需要使用二次函数拟合。更一般的结论是:对于K类的分类问题,如果使用线性回归的思路,那么每一维需要使用K-1次多项式进行变换而后拟合才可能不会出现masked的情况。 所以对于p维特征来说,最终进行回归的时候就需要估计 1 + ( K − 1 ) p 1+(K-1)^p 1+(K1)p个参数,这明显是有很大缺陷的。

masked

Linear Discriminant Analysis

LDA

这一节介绍线性判别分析。可以从两个角度来理解LDA:

  • 判为马氏距离小的一类,并认为每一类的协方差阵是相等的;

  • 在X的后验分布是高斯分布的情况下,去最大化联合分布来估计系数值,并且判为似然比最大的那一类,具体来说:
    p ( x ∣ y = k ) = f k ( x ) ∼ N ( μ k , Σ ) p(x|y=k)=f_k(x)\sim N(\mu_k,\Sigma) p(xy=k)=fk(x)N(μk,Σ)
    p ( y = k ∣ x ) = f k ( x ) π k ∑ k = 1 K f k ( x ) π k p(y=k|x)=\frac{f_k(x)\pi_k}{\sum_{k=1}^Kf_k(x)\pi_k} p(y=kx)=k=1Kfk(x)πkfk(x)πk
    其中 π k \pi_k πk是第k类的先验。从而对于其中任意两类k,l我们有:
    l o g ( P ( y = k ∣ x ) P ( y = l ∣ x ) ) = l o g π k π l − 1 2 ( μ k + μ l ) T Σ − 1 ( μ k − μ l ) + x T Σ − 1 ( μ k − μ l ) log(\frac{P(y=k|x)}{P(y=l|x)})=log\frac{\pi_k}{\pi_l}-\frac{1}{2}(\mu_k+\mu_l)^T\Sigma^{-1}(\mu_k-\mu_l)+x^T\Sigma^{-1}(\mu_k-\mu_l) log(P(y=lx)P(y=kx))=logπlπk21(μk+μl)TΣ1(μkμl)+xTΣ1(μkμl)
    所以是一个线性的decision boundaries。最大化联合似然,解得 μ ^ k = X ˉ ( k ) \hat \mu_k=\bar{X}^{(k)} μ^k=Xˉ(k) Σ ^ = 1 N − K ∑ i = 1 K A k \hat \Sigma=\frac{1}{N-K}\sum_{i=1}^KA_k Σ^=NK1i=1KAk

**二分类问题的LDA在两类数量相等的时候,和第二节的线性回归结果是一致的。**可以证明如果 n 1 = n 2 n_1=n_2 n1=n2,并且将y的label打为+1,-1那么得到的结果是一致的。其中如果 n 1 ≠ n 2 n_1\ne n_2 n1=n2那么 β 1 \beta_1 β1也会是成正比的,但是截距项不一样。线性回归估计得到的截距项对于分布并没有任何的假设限制,但是LDA需要。此外如果使用使用线性回归得到的 Y ^ \hat Y Y^作为X使用LDA得到的结果和直接基于X使用LDA得到的结果是一致的。(相当于对 x ( i ) x_{(i)} x(i)做统一的线性变换)

如果每一类的协方差阵不一样,那么就会是一个二次的判别函数,也被称作QDA(quadratic discriminant functions)。

2.2和2.3中介绍的方法虽然比较简单,但是效果很好,应用范围也很广。

Regularized Discriminant Analysis

  1. 协方差在相等和互异之间的平衡(regularized covariance matrices):
    Σ ^ k ( α ) = α Σ ^ k + ( 1 − α ) Σ ^ , α ∈ [ 0 , 1 ] \hat \Sigma_k(\alpha)=\alpha\hat \Sigma_k+(1-\alpha)\hat \Sigma,\alpha\in [0,1] Σ^k(α)=αΣ^k+(1α)Σ^,α[0,1]

  2. Σ ^ \hat \Sigma Σ^缩减到对角阵
    Σ ^ ( γ ) = γ Σ ^ + ( 1 − γ ) σ ^ 2 I , γ ∈ [ 0 , 1 ] \hat \Sigma(\gamma)=\gamma\hat \Sigma+(1-\gamma)\hat \sigma^2I,\gamma\in [0,1] Σ^(γ)=γΣ^+(1γ)σ^2I,γ[0,1]
    也可以将1.和2.结合得到 Σ ^ ( α , γ ) \hat \Sigma(\alpha,\gamma) Σ^(α,γ)

联系到高维统计,可以知道2.的操作实际上是在稀疏的结构下对协方差阵一种更好的估计

Reduced-Rank Linear Discriminant Analysis

简单来说就是先用Fisher判别法的降维方法,再使用LDA。在这里补充几点:

  • 可以使用Fisher判别法的降维方法来进行可视化

  • 实际上都是在高斯分布的假设下进行的,只是使用Fisher降维是把p维的集中在一个L维的空间上了

Logistic Regression

不同于LDA,逻辑回归构建的模型如下(以第K类为基准组):
P ( Y = k ∣ x ) = exp ⁡ ( β k 0 + β k T x ) 1 + ∑ l = 1 K − 1 exp ⁡ ( β l 0 + β l T x ) P(Y=k|x)=\frac{\exp(\beta_{k0}+\beta_k^Tx)}{1+\sum_{l=1}^{K-1}\exp(\beta_{l0}+\beta_l^Tx)} P(Y=kx)=1+l=1K1exp(βl0+βlTx)exp(βk0+βkTx)
P ( Y = K ∣ x ) = 1 1 + ∑ l = 1 K − 1 exp ⁡ ( β l 0 + β l T x ) P(Y=K|x)=\frac{1}{1+\sum_{l=1}^{K-1}\exp(\beta_{l0}+\beta_l^Tx)} P(Y=Kx)=1+l=1K1exp(βl0+βlTx)1
容易知道,和LDA一样,两类的似然比都有一样的形式表达式:
log ⁡ Pr ⁡ ( G = k ∣ X = x ) Pr ⁡ ( G = K ∣ X = x ) = β k 0 + β k T x . \log\frac{\Pr(G=k|X=x)}{\Pr(G=K|X=x)}=\beta_{k0}+\beta_k^Tx. logPr(G=KX=x)Pr(G=kX=x)=βk0+βkTx.
但是二者估计系数的出发点是不一样的。LDA是估计在正态假设下,使得联合似然最大的系数,逻辑回归是在上述对后验概率建模的形式下,估计使得后验概率最大的系数。

逻辑回归的最大似然估计:最大化后验似然。以二分类问题为例:
ℓ ( θ ) = ∑ i = 1 N { y i log ⁡ p ( x i ; β ) + ( 1 − y i ) log ⁡ ( 1 − p ( x i ; β ) ) } = ∑ i = 1 N { y i β T x i − log ⁡ ( 1 + e β T x i ) } \ell(\theta)=\sum_{i=1}^N\left \{ y_i \log p(x_i;\beta)+(1-y_i)\log (1-p(x_i;\beta)) \right \}=\sum_{i=1}^N\left \{ y_i\beta^Tx_i-\log (1+e^{\beta^Tx_i}) \right \} (θ)=i=1N{yilogp(xi;β)+(1yi)log(1p(xi;β))}=i=1N{yiβTxilog(1+eβTxi)}
求导等于零可以得到:
∑ i = 1 N x i ( y i − p ( x i ; β ) ) = 0 \sum_{i=1}^Nx_i(y_i-p(x_i;\beta))=0 i=1Nxi(yip(xi;β))=0
由于x的第一列是1,所以可以得到 ∑ i = 1 N y i = ∑ i = 1 N p ( x i ; β ) \sum_{i=1}^Ny_i=\sum_{i=1}^Np(x_i;\beta) i=1Nyi=i=1Np(xi;β)也就是说,期望预测为y=1的数量是相等的。求解这个问题需要使用Newton-Raphson迭代。

L1 Regularized Logistic Regression

和Lasso的形式一致:
max ⁡ β 0 , β { ∑ i = 1 N [ y i ( β 0 + β T x i ) − log ⁡ ( 1 + e β 0 + β T x i ) ] − λ ∑ j = 1 p ∣ β j ∣ } \max_{\beta_0,\beta}\left\{\sum_{i=1}^N\left[y_i(\beta_0+\beta^Tx_i)-\log(1+e^{\beta_0+\beta^Tx_i})\right]-\lambda\sum_{j=1}^p|\beta_j|\right\} β0,βmax{i=1N[yi(β0+βTxi)log(1+eβ0+βTxi)]λj=1pβj}
求导等于0,对于非零系数:
x j T ( y − p ) = λ ⋅ s i g n ( β j ) , \mathbf{x}_j^T(\mathbf{y}-\mathbf{p})=\lambda\cdot\mathrm{sign}(\beta_j), xjT(yp)=λsign(βj),
和Lasso同样的,对于active set中的变量仍然有与残差的相关程度一致,可以使用LAR进行求解,但是由于path是分段光滑而非分段线性的(L并不是二次的),所以优化的难度会更大一些。

LDA V.S. Logistic regression

从上面的介绍可以看出,二者的建模都是类似的,似然比的表达形式是一致的。

LDA:
log ⁡ Pr ⁡ ( G = k ∣ X = x ) Pr ⁡ ( G = K ∣ X = x ) = log ⁡ π k π K − 1 2 ( μ k + μ K ) T Σ − 1 ( μ k − μ K ) + x T Σ − 1 ( μ k − μ K ) = α k 0 + α k T x . \begin{aligned} \log\frac{\operatorname*{Pr}(G=k|X=x)}{\operatorname*{Pr}(G=K|X=x)}& \begin{aligned}=\quad\log\frac{\pi_{k}}{\pi_{K}}-\frac{1}{2}(\mu_{k}+\mu_{K})^{T}\Sigma^{-1}(\mu_{k}-\mu_{K})\end{aligned} \\ &+x^{T}\boldsymbol{\Sigma}^{-1}(\mu_{k}-\mu_{K}) \\ &=\quad\alpha_{k0}+\alpha_{k}^{T}x. \end{aligned} logPr(G=KX=x)Pr(G=kX=x)=logπKπk21(μk+μK)TΣ1(μkμK)+xTΣ1(μkμK)=αk0+αkTx.

逻辑回归:
log ⁡ Pr ⁡ ( G = k ∣ X = x ) Pr ⁡ ( G = K ∣ X = x ) = β k 0 + β k T x . \log\frac{\Pr(G=k|X=x)}{\Pr(G=K|X=x)}=\beta_{k0}+\beta_k^Tx. logPr(G=KX=x)Pr(G=kX=x)=βk0+βkTx.

二者的似然比都是线性函数,P(Y|X)的建模是相同的,但是一个对P(X|Y)有限制一个没有。

不同点在于优化求解系数估计的目标函数不同,一个是最大化后验似然,一个是最大化联合似然。这也导致如果是完全线性可分的问题,逻辑回归最终优化得到的后验似然是可以趋于负无穷的,但是LDA不会出现这个结果,因为X的似然不可能为负无穷。

虽然似乎加上正态分布的假设会使得LDA的应用范围和精度下降,但实际应用中二者差距不大。

Separating Hyperplanes

如果将线性判别的思路再推广,实际上就是拟合一个超平面,希望误差最小。在这里以二分类+1,-1提出误差的定义:
D ( β , β 0 ) = − ∑ i ∈ M y i ( x i T β + β 0 ) D(\beta,\beta_0)=-\sum_{i\in\mathcal{M}}y_i(x_i^T\beta+\beta_0) D(β,β0)=iMyi(xiTβ+β0)
也就是希望\textbf{错判点到线性边界的距离最小化}。可以使用随机梯度下降的方法进行数值求解(梯度易求)。

Optimal Separating Hyperplane

optimal separating hyperplane(最优分割超平面)可以正确分类所有的点(对于线性可分类问题)并且使得靠近分割超平面的点到超平面的距离最大化。对于线性可分问题,上述定义不仅可以决定出唯一的超平面,在测试集上效果也会更好。用式子表示即为:
max ⁡ β , β 0 , ∣ ∣ β ∣ ∣ = 1 M subject to  y i ( x i T β + β 0 ) ≥ M , i = 1 , … , N . \begin{aligned}&\max_{\beta,\beta_0,||\beta||=1}M\\\text{subject to }y_i&(x_i^T\beta+\beta_0)\geq M,i=1,\ldots,N.\end{aligned} subject to yiβ,β0,∣∣β∣∣=1maxM(xiTβ+β0)M,i=1,,N.
也就是每个点都正确分类并且到直线的距离大于M,其中限制 ∣ ∣ β ∣ ∣ = 1 ||\beta||=1 ∣∣β∣∣=1是因为分割超平面 β X + β 0 = 0 \beta X+\beta_0=0 βX+β0=0 β \beta β的任何倍数都满足同样的最优解。也正因如此,可以限制 ∣ ∣ β ∣ ∣ ||\beta|| ∣∣β∣∣是任何数,为了进一步简化,令 ∣ ∣ β ∣ ∣ = 1 / M ||\beta||=1/M ∣∣β∣∣=1/M,则等价化简为:
min ⁡ β , β 0 1 2 ∣ ∣ β ∣ ∣ 2 subject to  y i ( x i T β + β 0 ) ≥ 1 , i = 1 , … , N . \begin{aligned}&\min_{\beta,\beta_0}\frac{1}{2}||\beta||^2\\&\text{subject to }y_i(x_i^T\beta+\beta_0)\geq1,i=1,\ldots,N.\end{aligned} β,β0min21∣∣β2subject to yi(xiTβ+β0)1,i=1,,N.

这是一个凸优化问题,对应的拉格朗日函数为:
L P = 1 2 ∣ ∣ β ∣ ∣ 2 − ∑ i = 1 N α i [ y i ( x i T β + β 0 ) − 1 ] . L_P\quad=\quad\frac{1}{2}||\beta||^2-\sum_{i=1}^{N}\alpha_i[y_i(x_i^T\beta+\beta_0)-1]. LP=21∣∣β2i=1Nαi[yi(xiTβ+β0)1].
求导等于0:
β = ∑ i = 1 N α i y i x i , ( ∗ ) 0 = ∑ i = 1 N α i y i ( ∗ ∗ ) , \begin{matrix}\beta&=&\sum_{i=1}^N\alpha_iy_ix_i,(*)\\ 0&=&\sum_{i=1}^N\alpha_iy_i(**),\end{matrix} β0==i=1Nαiyixi,()i=1Nαiyi(),
再代回拉格朗日函数,得到Wolfe dual:
L D = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ k = 1 N α i α k y i y k x i T x k subject to  α i ≥ 0 and ∑ i = 1 N α i y i = 0 ( ∗ ∗ ∗ ) . \begin{array}{rcl}L_D&=&\sum_{i=1}^N\alpha_i-\frac12\sum_{i=1}^N\sum_{k=1}^N\alpha_i\alpha_ky_iy_kx_i^Tx_k\\&&\text{subject to }\alpha_i\geq0\text{and}\sum_{i=1}^N\alpha_iy_i=0(***).\end{array} LD=i=1Nαi21i=1Nk=1NαiαkyiykxiTxksubject to αi0andi=1Nαiyi=0().
这个问题可以等价转化为KKT条件,也就是满足:(*)(**)(***)及
α i [ y i ( x i T β + β 0 ) − 1 ] = 0 ∀ i . \alpha_i[y_i(x_i^T\beta+\beta_0)-1]=0\forall i. αi[yi(xiTβ+β0)1]=0∀i.
因此:

  • α i > 0 \alpha_i>0 αi>0,那么 y i ( x i T β + β 0 ) = 1 y_i(x_i^T\beta+\beta_0)=1 yi(xiTβ+β0)=1也就是这个点在分割超平面的边界上(虚线上),这类点被称作support vectors,只有它们对估计 β \beta β有作用

  • y i ( x i T β + β 0 ) > 1 y_i(x_i^T\beta+\beta_0)>1 yi(xiTβ+β0)>1,也就是这个点不仅分类正确还在“危险地带”外,那么 α = 0 \alpha=0 α=0,由(*)知这个点对于估计 β \beta β没有任何作用

由于只关注support points所以相对于LDA这种考虑全部点的方法来说,更加鲁棒。对于线性可分问题,SVM和逻辑回归往往得到的分界超平面高度相似,因为它们都更加关注靠近分界超平面的点。

使用上述方法进一步解决非线性可分问题参考第12章的SVM部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值