PRML读书笔记——线性分类模型

这一章主要介绍线性分类模型,包括生成模型和判别模型

线性模型:决策面是输入向量x的线性函数,决策面是D维输入空间的D-1维超平面

前言

所谓分类线性模型,是指决策⾯是输⼊向量 x 的线性函数,因此被定义为D维输⼊空间中的 (D1) 维超平⾯。如果数据集可以被线性决策⾯精确地分类(没有任何样本被错分),那么我们说这个数据集是线性可分的

一般线性模型如下:

y(x)=f(wTx+w0)

其中, f 被称为激活函数,而它的反函数被称为链接函数,这个模型被称为推广的线性模型。如果f是非线性函数,则模型是分类模型,如果 f 是恒等函数,则它是回归模型。

判别函数

判别函数是⼀个以向量x为输⼊,把它分配到 K 个类别中的某⼀个类别(记作Ck)的函数。这里主要考虑线性判别函数,即那些决策面是超平面的判别函数

二分类

线性判别函数最简单的形式如下:

y(x)=wTx+w0

这里作者推导了点到超平面的距离。因为是分类超平面,所以超平面上的点 x 满足y(x)=0,而且权向量 w 必然与平面上的向量正交。

首先,对于任意的点xn,可以分解为

xn=xn+rww

其中, xn 是x在超平面上的投影,r是点到超平面的距离。

则有:

wTxn=wTxn+rwTww

因此,点到超平面的距离为:

r=y(x)w

这里写图片描述

多分类

现在考虑吧线性判别函数推广到 K>2 个类别。这里有三种方法构建模型

(1)one-vs-rest:考虑K-1个分类器,每个分类器解决一个二分类问题,即是否属于类别 Ck

(2)one-vs-one:引入 K(K1)2 个二元判别函数,每一对类别设置一个判别函数。

但是这两种都会使得输入空间存在无法分类的区域,如下图。也就是说,部分样本可能无法分类到某个类别

这里写图片描述

(3)引入K类判别函数,每个判别函数都是线性函数:

yk(x)=wTkx+wk0

然后对于点 x , 如果对于所有的jk都有 yk(x)>yj(x) , 那么就把它分到 Ck 。于是类别 Ck Cj 之间的决策⾯为 yk(x)=yj(x) ,并且对应于⼀个 (D1) 维超平⾯,形式为:

(wkwj)Tx+(wk0wj0)=0

这种方法下,输入空间将不存在模糊区域

这里写图片描述

最小平方方法

下面首先尝试用最小平方误差法求解分类问题。

假设要分类K个类别,构建K个线性模型,则对应的判别函数为:

y(x)=W˜Tx˜

其中, W˜ 是一个矩阵,第 k 列由D+1维向量 w˜k=(wk0,wTk)T 组成, x˜ 是对应的增⼴输⼊向量 (1,xT)T ,它带有⼀个虚输⼊ x0=1

现在考虑一个数据集 {xn,tn} ,定义矩阵 T ,它的第n行是向量tTn,定义矩阵 X˜ ,它的第n行为 x˜Tn ,则平方和误差函数为:

ED(W˜)=12Tr{(X˜W˜T)T(X˜W˜T)}

求导并令导数为0可得:

W˜=(X˜TX˜)1X˜TT=X˜T

其中, X˜ X˜ 的伪逆矩阵

则判别函数为:

y(x)=W˜Tx˜=TT(X˜)Tx˜

优点:对参数给出了精确地解析解

缺点:对于离群点缺少鲁棒性;会惩罚了“过于正确”的预测,因为他们
在正确的⼀侧距离决策边界太远了;它来自于数据呈高斯分布的假设,当假设不成立,效果会相当差

这里写图片描述

这里写图片描述

Fisher线性判别

它的目的是使类均值的投影分开的较大,同时让每个类别内部的方差较小,从而最小化类别的重叠,如图:

这里写图片描述

首先考虑二分类的情况。假设有D维输入向量x,将它投影到一维如下:

y=wTx

一般在y上设置一个阈值,把 yw0 的样本分类为 C1 ,其余样本为 C2 。则两类的均值为:

m1=1N1nC1xn

m2=1N2nC2xn

此时,投影的类间均值距离为:

m2m1=wT(m2m1)

则投影后各类的类内方差为:

s2k=nCk(ykmk)2

不妨把整个数据集的类内方差定义为 s21+s22 ,则Fisher准则为类间方差与类内方差的比值,如下:

J(w)=(m2m1)2s21+s22

简单改写为:

J(w)=wTSBwwTSWw

其中, SB 为类间协方差矩阵, SW 为类内协方差矩阵

SB=(m2m1)(m2m1)T

SW=nC1(xnm1)(xnm1)T+nC2(xnm2)(xnm2)T

J(w) 求导并令导数为0可得:

(wTSBw)SWw=(wTSWw)SBw

调整后

wS1W(m2m1)

这个结果就是Fisher线性判别函数,它是对数据投影方向的一个选择,可用于构建最开始的判别函数。

值得注意的是,最小平方误差是Fisher准则的一个特例,具体证明书上有写这里省略

多分类的Fisher判别函数

现在将二分类的情况推广到多分类,假设输入空间的维度D大于类别数量K(不然都没法投影),引入 D 个线性特征 yk=wTkx ,其中 k=1,...,D 。则用向量形式表示:

y=WTx

其中,矩阵 W 的列为权向量{wk}

此时,有

SW=k=1KSk

其中

Sk=nCk(xnmk)(xnmk)T

mk=1NknCkxn

注意,这里全部都是原有特征空间上的处理

现在需要找到类间协方差矩阵的推广,先考虑整体的协方差矩阵

ST=n=1N(xnm)(xnm)T

其中,m为全体数据的均值

m=1Nn=1Nxn=1Nk=1KNkmk

这个整体的协⽅差矩阵可以分解为类内协⽅差矩阵,加上另⼀个矩阵 SB ,它可以看做类间协⽅差矩阵。

ST=SW+SB

其中

SB=k=1KNk(mkm)(mkm)T

现在,考虑投影空间上定义类似的矩阵

SW=k=1KnCk(ynμk)(ynμk)T

SB=k=1KNk(μkμ)(μkμ)T

其中

μk=1NknCkyn, u=1Nk=1KNkμk

最后可以构建对应的Fisher准则,有

J(W)=Tr{s1WsB}=Tr{(WTSWW)1(WTSBW)}

注意,可以通过理论推导证明,这种方法不能找到多于K-1个投影特征,这也是为什么输入空间维度D必须大于类别数量K的原因

感知器算法

这个模型中,输⼊向量 x ⾸先使⽤⼀个固定的⾮线性变换得到⼀个特征向量ϕ(x),这个特征向量然后被⽤于构造⼀个⼀般的线性模型

y(x)=f(wTϕ(x))

其中,非线性激活函数 f 是阶梯函数

f(a)={+11a0a<0

这里因为非线性激活函数是分段的,用最小平方误差准则运算繁琐,这里模型给出了感知机准则

EP(w)=nMwTϕntn

显然,这个判别准则就是是预测结果与真实标签 t 的乘积,只有错分类的时候才为负,因此错分类时,准则产生的损失为正

可以采用随机梯度下降算法那求解:

w(τ+1)=w(τ)ηEP(w)=w(τ)+ηϕntn

这里写图片描述

概率生成模型

引言

生成模型将对类条件概率密度 p(x|Ck) 和类先验概率分布 p(Ck) 建模,然后使⽤这两个概率密度通过贝叶斯定理计算后验概率密度 p(Ck|x)

对于二分类而言,有

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

其中

a=lnp(x|C1)p(C1)p(x|C2)p(C2)

σ 是logistic sigmoid函数

σ(a)=11+exp(a)

对于多分类的情形(分K类)

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

其中

ak=ln (p(x|Ck)p(Ck))

这个其实是softmax的形式

连续输入

首先假设类条件概率密度是高斯分布,然后假设所有类别协方差矩阵相同(只是为了简化运算和推导),则类条件概率如下:

p(x|Ck)=1(2π)D21|Σ|12exp{12(xμk)TΣ1(xμk)}

根据引言推导的一般结论,可得

p(C1|x)=σ(wTx+w0)

其中

w=Σ1(μ1μ2)

w0=12μT1Σ1μ1+12μT2Σ1μ2+lnp(C1)p(C2)

对于K个类别的情形

ak(x)=wTkx+wk0

其中

wk=Σ1μk

wk0=12μTkΣ1μk+ln p(Ck)

这里可以看出,无论是二分类还是多分类, a(x) 涉及到的都是x的线性函数,而原本高斯函数指数上是一个二次项,能去掉二次项的原因是协方差矩阵相同的假设,这会导致分布的椭圆形在方向上保持一致,是的分类平面为线性

这里写图片描述

最大似然解

这里主要分析二分类的情况,假设有一个数据集 {xn,tn} ,其中 n=1,...,N tn=1 表示属于类别 C1 tn=0 则属于类别 C2 。假设每个类别都服从高斯类条件概率,而且协方差矩阵相同,则有

p(xn,C1)=p(C1)p(xn|C1)=πN(xn|μ1,Σ)

p(xn,C2)=p(C2)p(xn|C2)=(1π)N(xn|μ2,Σ)

构建似然函数,将是伯努利分布的形式

p(t,X|π,μ1,μ2,Σ)=n=1N[πN(xn|μ1,Σ)]tn[(1π)N(xn|μ2,Σ)]1tn

转化为对数似然函数,对各个参数分别求导并令导数为0可得

π=1Nn=1Ntn=N1N=N1N1+N2

μ1=1N1n=1Ntnxn

μ2=1N2n=1Ntnxn

Σ=S=N1NS1+N2NS2

S1=1N1nC1(xnμ1)(xnμ1)T

S2=1N2nC2(xnμ2)(xnμ2)T

这里推导过程主要是分析清楚对数似然函数中包含各个参数的项分别是什么,然后逐一求解,推导过程省略了。这里主要想表达的是,各个后验概率的意义。 π 的似然解表示的是对应类别的样本所占的比例; μk 的似然解表示的是对应类别的特征向量的均值

离散特征

这里就是说离散特征对比连续特征在结果上会有区别
考虑二元的特征值 xi{0,1} ,则如果特征向量是D维的,假设D维特征相互独立,则有

p(x|Ck)=i=1Dμxiki(1μki)1xi

可以得到对应的结果

ak(x)=i=1D{xiln μki+(1xi)ln (1μki)}+ln p(Ck)

注意,无论输入是高斯分布的还是离散输入,后验概率都是线性模型与logistic sigmoid或者softmax激活函数给出的。

指数族分布

因为我们知道大部分的分布都可以写成指数族分布的形式,这里考虑指数族分布的情况下,后验概率的形式。

指数族分布的形式如下:

p(x|λk)=h(x)g(λk)exp{λTkμ(x)}

考虑 u(x)=x 的情况,有

p(x|λk,s)=1sh(1sx)g(λk)exp{1sλTkx}

那么,对于二分类,有

a(x)=1s(λ1λ2)Tx+ln g(λ1)ln g(λ2)+ln p(C1)ln p(C2)

对于多分类,有

ak(x)=1sλTkx+ln g(λk)ln p(Ck)

他们都是x的线性函数

概率判别式模型

生成式模型的过程是分别寻找类条件概率密度和类别先验,然后使⽤贝叶斯定理。而判别式模型的过程是直接最⼤化由条件概率分布 p(Ck|x) 定义的似然函数。

这里讨论的模型类似回顾问题的模型,采用固定的基函数,尽管基函数的存在可能会导致样本类别重叠区域的增加(增加了 p(Ck|x)1 的情况),但恰当地选择非线性变换能然后概率的建模过程变得简单

logistic 回归

因为概率生成模型的形式告诉我们,后验概率可以写成logistic sigmoid嵌套线性模型的形式,因此我们从这个模型入手:

p(C1|Φ)=y(Φ)=σ(wTΦ)

对于⼀个数据集 ϕn tn ,其中 tn{0,1} ϕn=ϕ(xn) ,并且 n=1,...,N ,似然函数可以写成

p(t|w)=n=1Nytn{1yn}1tn

其中, t=(t1,...,tN)T yn=p(C1|ϕn) 。去负对数后,形成交叉熵误差函数

E(w)=ln p(t|w)=n=1N{tnln yn+(1tn)ln (1yn)}

求导可得:

E(w)=n=1N(yntn)ϕn

这里,数据点n对导数的贡献是⽬标值和模型预测值之间的“误差” yntn 与基函数向量 ϕn 相乘。

最大似然求解的不足:

(1)产生严重过拟合;因为它的解的超平面为 σ=0 ,等价于 wTϕ=0 。因为是度量概率高低的,这个解会尽可能远的把数据集分成两类,这就导致 w 的大小趋于无穷大,因此函数在特征空间变得很陡峭,接近一个跳变得阶梯函数,是的后验概率满足p(Ck|x)=1

(2)这种解法无法区分某个解优于另⼀个解,并且在实际应⽤中哪个解被找到将会依赖于优化算法的选择和参数的初始化,可以通过加入正则化项避免。

迭代重加权最小平方

其实上面的最大似然方法无法得到解析解,因为logistic sigmoid是非线性函数,书中介绍了Newton-Raphson方法进行局部二次近似。

它的权值更新形式为:

wnew=woldH1E(w)

其中, H 是Hessian矩阵,它的元素由E(w)关于 w 的二阶导数组成

因此,对于上面的logistic回归模型的交叉熵误差函数,有

E(w)=n=1N(yntn)ϕn=ΦT(yt)

H=E(w)=n=1Nyn(1yn)ϕnϕTn=ΦTRΦ

其中, R N×N的对角矩阵,有:

Rnn=yn(1yn)

因此,更新公式变为

wnew===wold(ΦTRΦ)1ΦT(yt)(ΦTRΦ)1{ΦTRΦwoldΦT9yt}(ΦTRΦ)1ΦTRz

其中, Z 是一个N维向量,有

z=ΦwoldR1(yt)

由于权矩阵 R 不是常量,⽽是依赖于参数向量w,因此我们必须迭代地应⽤规范⽅程,每次使⽤新的权向量 w 计算⼀个修正的权矩阵R,所以这个算法被称为迭代重加权最⼩平⽅(iterative reweighted least squares, IRLS)

多类logistic回归

考虑多分类的情况,由生成式模型可知,它对应的后验概率是softmax的形式,即

p(Ck|ϕ)=yk(ϕ)=exp(ak)jexp(ak)

其中

ak=wTkϕ

它对应的似然函数为:

p(T|w1,...,wk)=n=1Nk=1Kp(Ck|ϕn)tnk=n=1Nk=1Kytnknk

其中, ynk=yk(ϕn) T 是目标变量的N×K矩阵,元素为 tnk ,对上式取负对数,有

E(w1,...,wK)=ln p(T|w1,...,wK)=n=1Nk=1Ktnkln ynk

wjE(w1,...,wK)=n=1N(ynjtnj)ϕn

这里,梯度的形式和之前一样,为误差 (ynjtnj) 与基函数 ϕn 的乘积。同样,它可以用迭代重加权最小平方算法求解。

probit回归

对于由指数族分布描述的⼀⼤类的类条件概率分布,最终求出的后验类概率
为作⽤在特征变量的线性函数上的logistic(或者softmax)变换。但不是所有的类条件概率密度都可以写成这种形式,这一节给出了相应的例子。

回到一般的线性模型

p(t=1|a)=f(a)

其中, a=wTϕ

考虑噪声阈值模型,不妨按照下式设置目标值

参数θ从概率密度中抽取,则有

f(a)=ap(θ)dθ

这里假设概率密度函数 p(θ) 是零均值、单位房差的高斯概率密度,则对应得到累积分布函数

Φ(a)=aN(θ|0,1)dθ

这个累积分布函数被称为逆probit函数,它也可以写成

Φ(a)=12{1+erf(a2)}

其中

erf(a)=2sqrtπa0exp(θ2)dθ

基于probit激活函数的一般线性模型被称为prbit回归

这个函数的形状有点类似sigmoid,如下图,但是它比sigmoid对离群点更加敏感。原因是它存在参数的平方的形式,当出现离群点时,衰减速度类似 exp(x2) ,而sigmoid则像 exp(x) 的形式衰减(这里没看明白)

这里写图片描述

标准链接函数

上面关于logistic回归的推导中,我们发现对数似然函数的导数都是一致的形式:误差 (yntn) 与基函数 ϕn 的乘积,其中 yn=wTϕn 。这一节将说明,如果⽬标变量的条件分布来⾃于指数族分布,对应的激活函数选为标准链接函数,那这个结论将具有一般性

考虑将指数族分布的假设应用于目标变量t

p(t|η,s)=1sh(hs)g(η)exp{ηts}

则可以得到 t 的条件均值y

yE[t|η]=sddηln g(η)

这里, y η相关,记作 η=ψ(y)

构建似然函数如下:

ln p(t|η,s)=n=1Nln p(tn|η,s)=n=1N{ln g(ηn)+ηntns}+const

则对应对数似然函数关于参数 w 的导数如下:

wln p(t|η,s)==n=1N{ddηnln g(ηn)+tns}dηndyndyndanann=1N1s{tnyn}ψ(yn)f(an)ϕn

其中 an=wTϕn yn=f(an) ,注意,这里意味着 f 是激活函数,f1是链接函数。所以

f1(y)=ψ(y)

因此, f(ψ(y))=y ,故 f(ψ)ψ(y)=1 ,由于 a=f1(y) ,则 a=ψ ,所以 f(a)ψ(y)=1 。最终,误差函数梯度可以转化为:

E(w)==1sn=1N{yntn}ϕn

拉普拉斯近似

这是一种简单而且广泛使用的近似框架。它利用泰勒展开的技术,将一个高斯近似为未知的概率分布形式

先考虑单一连续变量z的情况,假设分布 p(z) 定义为

p(z)=1Zf(z)

其中, Z=f(z)dz 是归一化系数,一般假设未知。拉普拉斯⽅法的⽬标是寻找⼀个⾼斯近似 q(z) ,它的中⼼位于 p(z) 的众数的位置。

首先,我们寻找 p(z) 的众数,即找一个点 z0 ,使得 p(z0)=0 ,也就是 f(z0)=0

因为高斯分布的对数是变量的二次函数,下面不妨考虑 ln f(z) 以众数 z0 为中心的泰勒展开

ln f(z)ln f(z0)12A(zz0)2

其中

A=d2dz2ln f(z)z=z0

两边取指数并归一化后可得

q(z)=(A2π)12exp{A2(zz0)2}

下面将拉普拉斯方法进行推广,考虑近似M维空间z上的概率分布 p(z)=f(z)Z ,在驻点 z0 处做泰勒展开,得

ln f(z)ln f(z0)12(zz0)TA(zz0)

其中, A M×M的Hessian矩阵,有

A=ln f(z)z=z0

两边取指数并归一化得

q(z)=|A|12(2π)M2exp{12(zz0)TA(zz0)}=N(z|z0,A1)

局限性:它完全依赖于真实概率分布在变量的某个具体值位置上的性质,因此会⽆法描述⼀些重要的全局属性

这里写图片描述

贝叶斯logistic回归

这里作者用贝叶斯的思想求解logistic回归用于分类的情况

拉普拉斯近似求解

考虑参数满足高斯先验

p(w)=N(w|m0,S0)

其中, m0 S0 是固定的超参数。则参数的后验概率为:

p(w|t)p(w)p(t|w)

上面分析logistic回归时,我们有似然函数

p(t|w)=n=1Nytn{1yn}1tn

则后验概率为:

ln p(w|t)=12(ww0)TS10(ww0)+n=1N{tnln yn+(1tn)ln (1yn)}+const

下面将用拉普拉斯近似求解。用求导方式得到最大化后验的参数 wMAP ,它定义了高斯分布的均值,协方差如下:

S1N=ln p(w|t)=S10+n=1Nyn(1yn)ϕnϕTn

得到高斯近似为:

q(w)=N(w|wMAP,SN)

最后作者还给出了对应了预测分布的推导,由于上面贝叶斯的求解看的不太懂,后面部分的推导这里省略了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值