第四章:Linear Models for Classification

本文探讨了分类问题中的核心概念,包括线性分类模型、判别函数、生成模型及判别模型等,并介绍了几种常用的分类方法如最小二乘法、费舍线性判别法和感知机算法。

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

一:导论

1:分类问题的目标是把输入矢量为x⃗ 的一个数据点分类到K个离散类Ck中的一个。在大部分的情况下,这些类是不相交的,因此每个输入数据点只能分配到一个类中,因为每个输入都对应着一个类,因此输入空间(input space)被分成了一系列的decision regions,这些decision regions的边界称为decision boundaries或者是decision surfaces。

2:线性分类模型是指decision surface是输入矢量x⃗ ϕ⃗ (x⃗ )的线性函数,因此decision surface是D维输入空间中的D-1维超平面(hyperplane)。如果数据集中的类能够被线性的decision surfaces分离开,则称该数据集是linearly separable。

注:超平面(hyperplane)的定义:假定有一个N维的空间,则超平面就是该N维空间中的N-1维线性子空间。

3:对于递归问题,目标变量t⃗ 简单地是我们希望预测的实数值的向量,但是对于分类问题,有着许多使用目标值去代表类标号的方法。在概率论模型中,对于两类问题,最常见使用的是二进制表示,一个单个目标变量t有着值0或1,t的值为1代表着类C1,t的值为0代表着类C2,我们能够把t的值理解为类是C1的概率;对于K>2的多类问题,我们能够使用1-of-K coding scheme,目标变量t⃗ 是长度为K的向量,如果某个数据点属于第j个类,则该向量除了第j个分量是1,其它的均为0。

4:我们有三种能够被用于解决分类问题的方法:

(1):Discriminant Function:通过一个函数,直接把输入x⃗ 分类到某一类别;

(2):Generative Model:模型化类条件密度p(x⃗ |Ck)和先验概率p(Ck),然后使用贝叶斯定理p(Ck|x⃗ )=p(x⃗ |CK)p(CK)p(x⃗ )计算出后验概率p(CK|x⃗ )

(3):Discriminant Model:用参数化的模型直接代表后验概率p(Ck|x⃗ ),然后使用训练集去最优化模型参数。

5:我们用(输出值在[0,1]之间的)y(x⃗ )=f(w⃗ Tϕ⃗ (x⃗ )+w0)去模型化分类问题,这本质上是后验概率p(Ck|x⃗ )的函数表达形式,非线性f()函数被称之为activation function,f()的逆函数被称为link function。decision surfaces对应于y=constant,因此w⃗ Tϕ⃗ (x⃗ )+w0=constant,因此decision surfaces 是ϕ⃗ (x⃗ )的线性函数,尽管f()函数是非线性的。由于这个原因,y(x⃗ )=f(w⃗ Tϕ⃗ (x⃗ )+w0)被称之为gneralized linear models(GLM)。书中不仅介绍了用于两类分类模型的f()函数,分别是logistic sigmoid和probit函数,还介绍了用于多类的f()函数,叫做normalized exponential函数

二:Discriminant Functions:

1:discirminant是直接把输入矢量x⃗ 分类到某一个类别的函数。在本章中,我们考虑linear discriminant,也就是它的decision surfaces是超平面,因此linear discriminant是我们上述所说的线性分类模型,但linear discriminant不属于概率模型。

2:两类问题的linear discriminant:对于两类问题,最简单的linear discriminant是直接采取输入矢量x⃗ 的线性函数,表达式为y(x⃗ )=w⃗ Tx⃗ +w0,在这里w⃗ 被称为weight vector,w0被称为bias。如果y(x⃗ )0,输入矢量x⃗ 则被分到类C1,否则就被分到类C2。不难发现,这对应的decision boundary或者是decision surface满足y(x⃗ )=0这一条件,因此这时decision boundary是输入矢量x⃗ 的线性函数,为D维输入空间下的(D-1)维超平面。

3:多类问题的linear discriminant:K类问题的linear discriminant是由K个线性函数组成的discriminant,每个线性函数的形式是yk(x⃗ )=w⃗ Tkx⃗ +wk0 并且当yk(x⃗ )>yj(x⃗ )时(j取遍除了k类外的所有其它类),把点x⃗ 分类到Ck。因此类CkCj之间的decision boundary是yk(x⃗ )=yj(x⃗ ),对应的D-1维超平面方程式是(w⃗ kw⃗ j)Tx⃗ +(wk0wj0)=0,并且可以证明这个k-类discriminant所决定的decision region是单连通凸空间。

4:训练linear discriminant的三种方法:least squares,Fisher’s linear discriminant和perceptron algorithm。

1):least squares:每个类Ck对应着线性模型yk(x⃗ )=w⃗ Tkx⃗ +wk0,我们能够把这K个线性模型写成y⃗ (x⃗ )=W˜Tx⃗ ˜。假设训练集有N个数据点(x⃗ n,t⃗ n),则其误差函数和为

ED(W˜)=n=1N||t⃗ nW˜Tx⃗ n˜||2
为了最小化该误差函数,令该误差函数和对W˜的导数为0,则W˜=((˜X)T(˜X))1X˜TT,其中矩阵X的第n行是矢量x⃗ ˜Tn,矩阵T的第n行是矢量t⃗ Tn

用最小二乘法决定linear discriminant模型中参数w⃗ 的方法并不是很理想,原因在于最小二乘法对应的是高斯分布假设下的极大似然法,但是二进制目标变量t⃗ 所遵循的分布显然离高斯分布相差甚远。

2):Fisher’s linear discriminant

(1):用于两类问题的Fisher’s linear discriminant:假定我们有一个D维输入矢量x⃗ ,用y=w⃗ Tx⃗ 把其投影到一维上,为了尽量使投影到一维的类分离开,我们应该使数据投影到一维后,不同类的数据尽可能的分开,同时又要使同类的数据尽量聚集在一块,因此我们要最大化Fisher criterion,即the ratio of the between-class variance to the within-class variance

J(w⃗ )=(m2m1)2s21+s22=w⃗ TSBw⃗ w⃗ TSWw⃗ SB=(m⃗ 2m⃗ 1)(m⃗ 2m⃗ 1)T(betweenclass variance)SW=nC1(x⃗ nm⃗ 1)(x⃗ nm⃗ 1)T+nC2(x⃗ nm⃗ 2)(x⃗ nm⃗ 2)T (withinclass variance)

最大化J(w⃗ ),我们能够得到w⃗ S1W(m⃗ 2m⃗ 1)

(2):用于多类问题的Fisher’s linear discriminant:假设我们有K>2个类,输入矢量x⃗ 是D维的,我们有D’个linear ‘features’ yk=w⃗ Tkx⃗  (k=1,...,D),注意D’不等于K,同样地我们能够用y⃗ =WTx⃗ 去代表这D’个linear ‘features’,因此我们能够用y⃗ =WTx⃗ 把D维的输入矢量x⃗ 投影到D’维空间,这相当于dimensionality reduction。再一次我们希望投影后不同类的数据要尽可能的分开,同类的数据尽可能地聚集在一块,这一次我们选择最大化J(W⃗ )=Tr{s1wsB}=Tr{(WSWWT)1(WSBWT)}

通过一些分析,我们能够发现linear ‘features’的个数D’应该要小于等于(K-1)。

3):The perceptron algorithm

The perceptron algorithm算法只能用于解决两类问题。我们用generalized linear model(GLM)y(x⃗ )=f(w⃗ Tϕ⃗ (x⃗ ))来描述,其中非线性activation function f()为阶跃函数(当a>=0时,f(a)=+1,当a<0,f(a)=-1),然后为了用训练集训练参数w⃗ ,我们最小化perceptron criterionEp(w⃗ )=nMw⃗ Tϕ⃗ (x⃗ n)tn,其中M代表是全部misclassified patterns的集合。

我们能够对这个误差函数采用stochastic gradient descent algorithm算法来求得参数w⃗ 

w⃗ (τ+1)=w⃗ (τ)ηEp(w⃗ )=w⃗ (τ)+ηϕ⃗ (x⃗ n)tn

对上式可以采用如下理解:我们轮流地对训练集进行逐个循环,对于每一个数据点x⃗ n,我们先计算y(x⃗ )=f(w⃗ Tϕ⃗ (x⃗ )),如果这个数据点被正确分类了,参数w⃗ 则不改变;如果它没有被正确分类,我们就用上式对参数w⃗ 进行更新。

但是这个perceptron algorithm有着很大的缺点,除了上面说的只能用于两类问题外,还有一点就是当数据集不是linealy separable时,该算法不收敛,并且就算数据集是linearly separable,算法运行也很慢。

三:Probabilistic Generative Model:

1:我们先模型化类条件密度p(x⃗ |Ck)和类先验概率p(Ck),然后使用贝叶斯定理计算后验概率p(Ck|x⃗ )

2:后验概率表达形式

两类问题

p(C1|x⃗ )=p(x⃗ |C1)p(C1)p(x⃗ |C1)p(C1)+p(x⃗ |C2)p(C2)=11+exp(a)=σ(a)a=lnp(x⃗ |C1)p(C1)p(x⃗ |C2)p(C2)

其中σ(a)是logistic sigmoid函数,满足对称性质σ(a)=1σ(a),并且它的逆函数为a=ln(σ1σ),此逆函数也被称之为logit函数

多类问题

p(Ck|x⃗ )=p(x⃗ |Ck)p(Ck)jp(x⃗ |Cj)p(Cj)=exp(ak)jexp(aj)ak=ln(p(x⃗ |Ck)p(Ck))

上述表达式exp(ak)jexp(aj)被称之为normalized exponential,有时候也被称之为softmax function

3:我们假定类条件密度p(x⃗ |Ck)为高斯函数p(x⃗ |Ck)=1(2π)(D/2)1|Σ|1/2exp{12(x⃗ uk)TΣ1(x⃗ u⃗ k)},并且所有类条件密度有着相同的协方差矩阵,则

两类问题

p(C1|x⃗ )=σ(w⃗ Tx⃗ +w0)w⃗ =Σ1(u⃗ 1u⃗ 2)w0=12u⃗ T1Σ1u⃗ 1+12u⃗ T2Σ1u⃗ 2+lnp(C1)p(C2)

这导致的decision boundaries对应于后验概率p(Ck|x⃗ )是常数的平面,因此是关于x⃗ 的线性函数。

多类问题

ak(x⃗ )=w⃗ Tkx⃗ +wk0w⃗ k=Σ1u⃗ kwk0=12u⃗ TkΣ1u⃗ k+lnp(Ck)

ak(x⃗ )是关于x⃗ 的线性函数,相等的后验概率则定义了decision boundaries,对应着x⃗ 的线性函数,因此我们再一次得到了一个generalized linear model。

注明:如果每个类条件密度p(Ck|x⃗ )有着自己的协方差矩阵,而不是像上面所说的有着共同的协方差矩阵,则我们就得不到关于x⃗ 的一次函数形式,得到的是关于x⃗ 的二次函数形式。

4:两类问题模型的极大似然解

(1):我们现在假设了类条件密度p(x⃗ |Ck)服从高斯分布,我们能够用极大似然法求得此高斯分布的一些列参数以及对应的类先验概率p(Ck)

(2):考虑两类问题:假设我们有一个数据集{x⃗ n,tn},tn=1代表着类C1tn=0代表着类C2。并且我们还令先验类概率p(C1)=π,因此p(C2)=1π,则似然函数能够写成如下形式:

p(t⃗ ,X|π,u⃗ 1,u⃗ 2,Σ)=n=1N[πN(x⃗ n|u⃗ 1,Σ)]tn[(1π)N(x⃗ n|u⃗ 2,Σ)]1tn

分别对π,u⃗ 1,u⃗ 2,Σ求导,令这些导数为0,我们就能够得到如下结果:
π=N1N1+N2N1,N2C1C2u⃗ 1=1N1n=1Ntnx⃗ nu⃗ 2=1N2n=1N(1tn)x⃗ nΣ=1NnC1(x⃗ nu1)(x⃗ nu1)T+1NnC2(x⃗ nu⃗ 2)(x⃗ nu⃗ 2)T

5:Exponential family

如果类条件密度满足如下指数形式:

p(x⃗ |λ⃗ k,s)=1sh(1sx⃗ )g(λ⃗ k)exp{1sλ⃗ Tkx⃗ }
则对应的后验概率p(Ck|x⃗ )为generalized linear model,K=2时为logistic sigmoid,K>2时为softmax activation functions,具体的形式如下:

K=2时,a(x⃗ )=1s(λ1λ2)Tx⃗ +lng(λ⃗ 1)lng(λ⃗ 2)+lnp(C1)lnp(C2)

K>2时,ak(x⃗ )=1sλ⃗ Tkx⃗ +lng(λ⃗ k)+ln(p(Ck))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值