Linear Models for Classification
与回归模型的是它的预测结果是一个离散变量。
我们讨论的大多数分类问题类别都是不相交的,即一个样本只有一个类别。输入空间可以被划分成若干个决策区域,其边界称为决策边界(decision boundaries or decision surfaces)。标题中所谓的线性模型就是指决策边界是输入变量的线性函数。可以被线性的决策边界成功分类的问题称为线性可分的。
在分类问题中,目标变量
t
t
t的表示形式有多种。例如二分类问题
t
∈
{
0
,
1
}
t\in\{0,1\}
t∈{0,1},0代表类别
C
1
C_1
C1,1代表类别
C
2
C_2
C2。概率模型中,t可以被解释为该样本属于
C
1
C_1
C1的概率。多分类问题,t往往被表示为形式如
t
=
(
0
,
0
,
1
)
T
\mathbf{t}=(0,0,1)^T
t=(0,0,1)T的向量,其中只有一个分量为1,表示样本属于
C
k
C_k
Ck
判别函数 Discriminant Functions
讨论线性判别式模型,解决分类问题。几何上等价于,找一个决策平面(超平面)将不同类别的样本分开。从易到难,首先讨论二分类问题。
二分类问题
y
(
x
)
=
w
T
x
+
w
0
y(\mathbf{x})=\mathbf{w}^T\mathbf{x}+w_0
y(x)=wTx+w0
若
y
(
x
)
≥
0
y(x)\ge 0
y(x)≥0则样本分类成
C
1
C_1
C1类,否则为
C
2
C_2
C2类,决策边界为
w
T
x
+
w
0
=
0
\mathbf{w}^T\mathbf{x}+w_0=0
wTx+w0=0
可以看出向量
w
\mathbf{w}
w垂直于决策平面,样本到决策平面的距离
r
=
y
(
x
)
∥
w
∥
r=\frac{y(x)}{\rVert \mathbf{w}\lVert}
r=∥w∥y(x)
这里留一个疑问,如何利用训练集去估计参数
多分类问题
刚刚学习了二分类问题,一个直接的想法是使用
k
−
1
k-1
k−1个二分类分离器解决K分类问题,这个分类器被称为one-versus-the-rest classifier,他会有模糊区域如图
另一个简单的想法是使用
K
(
K
−
1
)
2
\frac{K(K-1)}{2}
2K(K−1)个二分类器,用两条线为每一个类划分一个区域,这个分类器被称为one-versus-one classifier
第三种想法是K个线性分类器,如下
y
k
(
x
)
=
w
k
T
x
+
w
k
0
y_k(\mathbf{x})=w^{T}_{k}x+w_{k0}
yk(x)=wkTx+wk0
x被预测为
C
k
C_{k}
Ck如果
y
k
(
x
)
>
y
j
(
x
)
y_{k}(x)>y_{j}(x)
yk(x)>yj(x)对于任意的
j
≠
k
j\ne k
j=k
可以证明被如此方法划分出来的决策区间是凸的。
假设
x
1
,
x
2
∈
R
k
x_{1},x_{2}\in \mathcal R_{k}
x1,x2∈Rk,则
x
^
=
λ
x
1
+
(
1
−
λ
)
x
2
w
k
T
x
^
+
w
k
0
≤
w
k
T
(
λ
x
1
+
(
1
−
λ
)
x
2
)
+
w
k
0
≤
λ
(
w
j
T
x
1
+
w
j
0
)
+
(
1
−
λ
)
(
w
j
T
x
2
+
w
j
0
)
,
∀
j
≠
k
\hat{x} = \lambda x_{1}+(1-\lambda)x_{2} w_{k}^{T}\hat{x}+w_{k0}\le w_{k}^{T}(\lambda x_{1}+(1-\lambda)x_{2})+w_{k0}\\ \le \lambda (w_{j}^{T}x_{1}+w_{j0}) + (1-\lambda) (w_{j}^{T}x_{2}+w_{j0}),\forall j\ne k
x^=λx1+(1−λ)x2wkTx^+wk0≤wkT(λx1+(1−λ)x2)+wk0≤λ(wjTx1+wj0)+(1−λ)(wjTx2+wj0),∀j=k
之后讲三种训练模型的方法,分别基于最小二乘,Fisher和感知机
Least Square for Classification
在这里,我们陈述使用最小二乘法解决多酚类问题的方法。在上所说的三种分类策略中,第三种用于实际的分类问题,但需要换一种更为简洁的表达方式
y
(
x
)
=
W
~
T
x
~
\mathbf{y}(\mathbf{x})=\tilde{W}^{T}\tilde{x}\\
y(x)=W~Tx~
其中
W
~
\tilde{W}
W~的列向量
w
k
~
=
(
w
k
0
,
w
k
T
)
T
\tilde{w_k}=(w_{k0},w_{k}^{T})^{T}
wk~=(wk0,wkT)T,
x
~
=
(
1
,
x
T
)
T
\tilde{x}=(1,x^{T})^{T}
x~=(1,xT)T。x的最终类别就是
w
k
~
T
x
~
\tilde{w_k}^{T}\tilde{x}
wk~Tx~最大的那一类
那么现在我们需要找到一个参数矩阵
W
~
\tilde{W}
W~使得二次损失函数最小
E
D
(
W
~
)
=
1
2
T
r
(
(
X
~
W
~
−
T
)
T
(
X
~
W
~
−
T
)
)
E_D(\tilde{W})=\frac{1}{2}Tr((\tilde{X}\tilde{W}-T)^{T}(\tilde{X}\tilde{W}-T))
ED(W~)=21Tr((X~W~−T)T(X~W~−T))
可以求得
W
~
=
(
X
~
T
X
~
)
−
1
X
~
T
T
=
X
~
†
T
\tilde{W}=(\tilde{X}^{T}\tilde{X})^{-1}\tilde{X}^{T}T=\tilde{X}^{\dagger}T
W~=(X~TX~)−1X~TT=X~†T
就这样,我们容易的求出判别模型的解析解
y
(
x
)
=
W
~
T
x
~
=
T
T
(
X
~
†
)
T
x
~
\mathbf{y}(\mathbf{x})=\widetilde{\mathbf{W}}^{\mathrm{T}} \widetilde{\mathbf{x}}=\mathbf{T}^{\mathrm{T}}\left(\widetilde{\mathbf{X}}^{\dagger}\right)^{\mathrm{T}} \widetilde{\mathbf{x}}
y(x)=W
Tx
=TT(X
†)Tx
最小二乘法对异常值缺少鲁棒性,异常点会对边界产生较为严重的影响,这是由于平方和误差函数的性质所造成的,后文中会介绍其他损失函数来减轻异常点的影响。在使用最大似然法时,我们假设了偏差符合高斯分布,在不满足这个假设的情况下,会导致分类结果的不尽如人意。
Fisher’s linear Discriminant
将线性分类模型视为一种降维的过程。首先考虑一个二分类问题。将一个D维向量投影到一个一维向量
y
=
w
T
x
y=\mathbf{w}^T\mathbf{x}
y=wTx
然后设置一个阈值
w
0
w_0
w0,当
y
≤
−
w
0
y\le-w_0
y≤−w0x被分类为
C
1
C_1
C1,否则为
C
2
C_2
C2类
正常来说降维会损失大量信息,甚至使原来线性可分的数据不可分。但是通过调整
w
w
w最大化两类样本投影后的距离。
一个简单的想法是让两类样本的中心值距离最远。如下
m
1
=
1
N
1
∑
n
∈
C
1
x
n
m
2
=
1
N
2
∑
n
∈
C
2
x
n
\mathbf{m}_1=\frac{1}{N_1}\sum_{n\in C_1}x_n\\ \mathbf{m}_2=\frac{1}{N_2}\sum_{n\in C_2}x_n\\
m1=N11n∈C1∑xnm2=N21n∈C2∑xn
即最大化
m
2
−
m
1
=
w
T
(
m
2
−
m
1
)
m_2-m_1 = \mathbf{w}^{T}(\mathbf{m}_{2}-\mathbf{m}_{1})
m2−m1=wT(m2−m1),同时限制
∑
i
w
i
2
=
1
\sum_{i}w^{2}_{i}=1
∑iwi2=1,但是这并不能很好的解决问题,当样本具有强非对角化协方差矩阵。
说完上一种方法的缺陷,将来讲讲这一节的正题,Fisher’s linear Discriminant。
Fisher的想法是最大化组间方差,最小化,最小化组内方差。最大化下式
J
(
w
)
=
w
T
S
B
w
w
T
S
W
w
J(\mathbf{w})=\dfrac{\mathbf{w}^{T}S_{B}\mathbf{w}}{\mathbf{w}^{T}S_{W}\mathbf{w}}
J(w)=wTSWwwTSBw
S
B
S_{B}
SB为组间协方差矩阵,定义为
S
B
=
(
m
2
−
m
1
)
(
m
2
−
m
1
)
T
\mathbf{S}_{\mathrm{B}}=\left(\mathbf{m}_{2}-\mathbf{m}_{1}\right)\left(\mathbf{m}_{2}-\mathbf{m}_{1}\right)^{\mathrm{T}}
SB=(m2−m1)(m2−m1)T
S
W
S_{W}
SW为总的组内协方差矩阵,定义如下
S
W
=
∑
n
∈
C
1
(
x
n
−
m
1
)
(
x
n
−
m
1
)
T
+
∑
n
∈
C
2
(
x
n
−
m
2
)
(
x
n
−
m
2
)
T
\mathbf{S}_{\mathrm{W}}=\sum_{n \in \mathcal{C}_{1}}\left(\mathbf{x}_{n}-\mathbf{m}_{1}\right)\left(\mathbf{x}_{n}-\mathbf{m}_{1}\right)^{\mathrm{T}}+\sum_{n \in \mathcal{C}_{2}}\left(\mathbf{x}_{n}-\mathbf{m}_{2}\right)\left(\mathbf{x}_{n}-\mathbf{m}_{2}\right)^{\mathrm{T}}
SW=n∈C1∑(xn−m1)(xn−m1)T+n∈C2∑(xn−m2)(xn−m2)T
这个想法和PCA是一致的。
省略计算过程,有结果如下,要最大化上式,
w
w
w满足
(
w
T
S
B
w
)
S
W
w
=
(
w
T
S
W
w
)
S
B
w
w
∝
S
W
−
1
(
m
2
−
m
1
)
\left(\mathbf{w}^{\mathrm{T}} \mathbf{S}_{\mathrm{B}} \mathbf{w}\right) \mathbf{S}_{\mathrm{W}} \mathbf{w}=\left(\mathbf{w}^{\mathrm{T}} \mathbf{S}_{\mathrm{W}} \mathbf{w}\right) \mathbf{S}_{\mathrm{B}} \mathbf{w}\\ \mathbf{w} \propto \mathbf{S}_{\mathrm{W}}^{-1}\left(\mathbf{m}_{2}-\mathbf{m}_{1}\right)
(wTSBw)SWw=(wTSWw)SBww∝SW−1(m2−m1)
感知机算法
这个很熟悉,不写了