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 Y∣X后验概率,使用线性函数(或线性函数的变换)进行建模,从而得到线性的decision boundaries。
Linear Regression of an Indicator Matrix
正如前一节所讲的那样,只需要针对每一类使用线性函数建模,那么一种非常自然的想法就是针对Y的one-hot后虚拟变量的矩阵进行回归建模,这样很自然地期望:真实的那一类由于label是1所以值会高很多。
和一般的线性回归一样我是用线性模型去拟合 E ( Y k ∣ X ) E(Y_k|X) E(Yk∣X),也就是 P ( Y = k ∣ X ) P(Y=k|X) P(Y=k∣X)。但是问题在于概率是正值,并且K类相加概率为1,这都是一般的线性回归无法保证的(虽然可以证明,当样本量N趋于无穷的时候,确实是相合估计)。所以很自然的会提出一种想法,就是把0-1编码推广,变成 ( − ∞ , + ∞ ) (-\infty,+\infty) (−∞,+∞)上的值,并且使用一般的多元线性回归模型拟合,这种想法再严谨一些其实就可以看成是逻辑回归。
除了以上提到由于拟合概率本身会面临的问题,线性回归还有一个很明显的问题就是某些类别可能会被mask掉。正如下图中展示的那样,左图X轴的点展示的是一维特征下的三类分布,不同颜色的线展示的是拟合的三个线性回归模型。由于第二类主要集中在中间位置,所以在拟合线性回归模型的时候,它会是一个很平缓的直线,而另两类呈现的则是有明显的单调性。这样的处理就会导致三条直线在中间位置的值是几乎相等的,于是判为第二类的就会很少。右图展示的是一种解决方法,因为直线拟合做不到中间值高两边值低,所以需要使用二次函数拟合。更一般的结论是:对于K类的分类问题,如果使用线性回归的思路,那么每一维需要使用K-1次多项式进行变换而后拟合才可能不会出现masked的情况。 所以对于p维特征来说,最终进行回归的时候就需要估计 1 + ( K − 1 ) p 1+(K-1)^p 1+(K−1)p个参数,这明显是有很大缺陷的。
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(x∣y=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=k∣x)=∑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=l∣x)P(y=k∣x))=logπlπk−21(μ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 Σ^=N−K1∑i=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
-
协方差在相等和互异之间的平衡(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] -
将 Σ ^ \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=k∣x)=1+∑l=1K−1exp(β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=K∣x)=1+∑l=1K−1exp(β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=K∣X=x)Pr(G=k∣X=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=1∑N{yilogp(xi;β)+(1−yi)log(1−p(xi;β))}=i=1∑N{yiβTxi−log(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=1∑Nxi(yi−p(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=1∑N[yi(β0+βTxi)−log(1+eβ0+βTxi)]−λj=1∑p∣β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(y−p)=λ⋅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=K∣X=x)Pr(G=k∣X=x)=logπKπk−21(μ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=K∣X=x)Pr(G=k∣X=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)=−i∈M∑yi(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∣∣β∣∣2−i=1∑Nα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αi−21∑i=1N∑k=1NαiαkyiykxiTxksubject to αi≥0and∑i=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部分。