分类——线性模型

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=wy(x)

这里留一个疑问,如何利用训练集去估计参数

多分类问题

刚刚学习了二分类问题,一个直接的想法是使用 k − 1 k-1 k1个二分类分离器解决K分类问题,这个分类器被称为one-versus-the-rest classifier,他会有模糊区域如图
在这里插入图片描述
另一个简单的想法是使用 K ( K − 1 ) 2 \frac{K(K-1)}{2} 2K(K1)个二分类器,用两条线为每一个类划分一个区域,这个分类器被称为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,x2Rk,则
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^+wk0wkT(λ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 yw0x被分类为 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=N11nC1xnm2=N21nC2xn
即最大化 m 2 − m 1 = w T ( m 2 − m 1 ) m_2-m_1 = \mathbf{w}^{T}(\mathbf{m}_{2}-\mathbf{m}_{1}) m2m1=wT(m2m1),同时限制 ∑ 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=(m2m1)(m2m1)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=nC1(xnm1)(xnm1)T+nC2(xnm2)(xnm2)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)SBwwSW1(m2m1)

感知机算法

这个很熟悉,不写了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值