PRML学习笔记---线性分类模型(生成模型 & 判别模型)

本偏笔记主要针对线性分类模型中的logistic regression 以及 multiclass logistic regression

Logistic Regression Model

逻辑回归模型是针对二类的分类模型,本质上其建模了类的后验概率

1.其由来(Probabilistic Generative Models)

根据贝叶斯公式,类的后验概率为:

p(C1|x)=p(x|C1)p(C1)p(x|C2)p(C2)+p(x|C1)p(C1)(1.1) (1.1) p ( C 1 | x ) = p ( x | C 1 ) p ( C 1 ) p ( x | C 2 ) p ( C 2 ) + p ( x | C 1 ) p ( C 1 )

假设我们定义如下一个式子:
a=lnp(x|C1)p(C1)p(x|C2)p(C2)(1.2) (1.2) a = l n p ( x | C 1 ) p ( C 1 ) p ( x | C 2 ) p ( C 2 )

那么恰有:
σ(a)=11+exp(a)=p(C1|x)(1.3) (1.3) σ ( a ) = 1 1 + e x p ( − a ) = p ( C 1 | x )

也就是说,当我们做了式 (1.2) ( 1.2 ) 这样一个特殊的变量替换or换元后,类的后验概率可以用logistic sigmoid建模。实际上,我们知道logistic regression模型在做决策时:

y=C1,y>0.5C2,y<0.5randomGuess,y==0.5(1.4) (1.4) y = { C 1 , y > 0.5 C 2 , y < 0.5 r a n d o m G u e s s , y == 0.5

而当逻辑回归模型当输出为0.5时,也就是 a=lnp(x|C1)p(C1)p(x|C2)p(C2)=lnp(C1|x)p(x)p(C2|x)p(x)=lnp(C1|x)p(C2|x)=0.5 a = l n p ( x | C 1 ) p ( C 1 ) p ( x | C 2 ) p ( C 2 ) = l n p ( C 1 | x ) p ( x ) p ( C 2 | x ) p ( x ) = l n p ( C 1 | x ) p ( C 2 | x ) = 0.5 , 换言之两类当后验概率相等时,无法做出决策。

2.其求解(Maximum likelihood)

如果输入变量是连续的

假设类条件概率密度(class-conditional distribution)服从高斯分布,并且两类的协方差一致。在这样的前提假设下,据式 (1.2) ( 1.2 ) 可化为

a=wTx+w0(2.1) (2.1) a = w T x + w 0

其中
w=Σ1(μ1μ2)(2.2) (2.2) w = Σ − 1 ( μ 1 − μ 2 )

w0=12μT1Σ1μ1+12μT2Σ1μ2+lnp1p2(2.3) (2.3) w 0 = − 1 2 μ 1 T Σ − 1 μ 1 + 1 2 μ 2 T Σ − 1 μ 2 + l n p 1 p 2

则式 (1.3) ( 1.3 ) 可化为
p(C1|x)=σ(a)=σ(wTx+w0)(2.4) (2.4) p ( C 1 | x ) = σ ( a ) = σ ( w T x + w 0 )

其中 μ1 μ 1 μ2 μ 2 分别为 C1 C 1 C2 C 2 类分布的期望, Σ Σ 为分布的协方差。

也就是说在我们假定类条件密度分布服从高斯分布的前提下,最终类的后验概率是式 (2.4) ( 2.4 ) .可以看到最终的决策边界是线性超平面,也即 wTx=0 w T x = 0

要求类的后验,可以先求类的先验和类的条件密度分布的参数,再由贝叶斯公式(等价于直接使用式 (2.2) ( 2.2 ) (2.3) ( 2.3 ) , (2.4) ( 2.4 ) )。

假设当下训练数据集为 {xn,tn} { x n , t n } ,且类别编码方式

tn=1,C10,else t n = { 1 , 若 为 C 1 0 , e l s e

那么完全数据的对数似然函数为:
lnp(t,X|π,μ1,μ2,Σ)=lni=1N[π(xn|μ1,Σ)]tn[π(xn|μ2,Σ)]1tn(2.5) (2.5) l n p ( t , X | π , μ 1 , μ 2 , Σ ) = l n ∏ i = 1 N [ π N ( x n | μ 1 , Σ ) ] n t [ π N ( x n | μ 2 , Σ ) ] 1 − t n

求解可得:
μ1=1N1i=1Ntnxn(2.6) (2.6) μ 1 = 1 N 1 ∑ i = 1 N t n x n

μ2=1N2i=1N(1tn)xn(2.7) (2.7) μ 2 = 1 N 2 ∑ i = 1 N ( 1 − t n ) x n

Σ=S=N1NS1+N2NS2(2.8) (2.8) Σ = S = N 1 N S 1 + N 2 N S 2

其中
Si=1NinCi(xnμ1)(xnμ1)T(2.9) (2.9) S i = 1 N i ∑ n ∈ C i ( x n − μ 1 ) ( x n − μ 1 ) T

也就是说利用最大似然求解,类条件密度分布的期望为该类的数据的均值,而协方差则为各类协方差的加权平均

3.换个角度求解(Probabilistic Discriminative Models)

实际上,除了利用最大似然求解先验以及类的条件密度分布的参数后,隐式地利用式 (2.2),(2.3),(2.4) ( 2.2 ) , ( 2.3 ) , ( 2.4 ) 求解外,还有另一种求法。既然我们已经知道了类的后验概率可以在一定的假设下写作式 (2.4) ( 2.4 ) ,那么此时我们可以直接利用训练数据通过最大似然显式地求解参数 w w w0 w 0

3.1 梯度下降

要利用随机梯度下降或者批梯度下降求解,我们需要获得的便是梯度

假设我们手中的训练集为 {ϕn,tn} { ϕ n , t n } ,此处 ϕn=ϕ(xn) ϕ n = ϕ ( x n ) 可视为对原始输入做了特征提取。那么似然函数为:

p(t|w)=n=1Nytnn{1yn}1tn(3.1) (3.1) p ( t | w ) = ∏ n = 1 N y n t n { 1 − y n } 1 − t n

其中
yn=p(C1|ϕn)=σ(wTϕn)(3.2) (3.2) y n = p ( C 1 | ϕ n ) = σ ( w T ϕ n )

那么损失函数便可定义为:
E(w)=lnp(t|w)=n=1N{tnlnyn+(1tn)ln(1yn)}(3.3) (3.3) E ( w ) = − l n p ( t | w ) = − ∑ n = 1 N { t n l n y n + ( 1 − t n ) l n ( 1 − y n ) }

注意到这个误差函数叫交叉熵损失函数

其关于参数 w w 的导数为:

E(w)=n=1N(yntn)ϕn(3.4) (3.4) ∇ E ( w ) = ∑ n = 1 N ( y n − t n ) ϕ n

3.2迭代再加权最小二乘法

对于参数 w w 的求解除了一般的梯度下降,我们还可以使用更有效的迭代算法,这便是IRLS(IteRative reweighted least squares)。这个算法是基于Newton-Raphson Iterative optimization scheme:

w(new)=w(old)H1E(w)(3.5) (3.5) w ( n e w ) = w ( o l d ) − H − 1 ∇ E ( w )

其中 H H 为误差函数关于参数 w w 的二阶导

这是一种局部二次近似,我们可以从线性回归模型来看看:
在线性回归模型中,我们知道对数似然函数是参数 w w 的 二 次 函 数 ,其有解析解(Normal Equation),但是在利用梯度下降求解的时候,我们是逐步去逼近这个最优解(解析解)。但是如果我们用局部二次近似,便可以一步到位

E(w)=n=1N(wTϕntn)ϕn=ΦTΦwΦTt ∇ E ( w ) = ∑ n = 1 N ( w T ϕ n − t n ) ϕ n = Φ T Φ w − Φ T t

E(w)=n=1NϕnϕTn=ΦTΦ ∇ ∇ E ( w ) = ∑ n = 1 N ϕ n ϕ n T = Φ T Φ

w(new)=w(old)(ΦTΦ)1{ΦTΦwoldΦTt}=(ΦTΦ)1ΦTt(3.6) (3.6) w ( n e w ) = w ( o l d ) − ( Φ T Φ ) − 1 { Φ T Φ w o l d − Φ T t } = ( Φ T Φ ) − 1 Φ T t

那么对于logistic regression而言:

E(w)=n=1N(yntn)ϕn=ΦT(yt)(3.7) (3.7) ∇ E ( w ) = ∑ n = 1 N ( y n − t n ) ϕ n = Φ T ( y − t )

E(w)=H=n=1Nyn(1yn)ϕnϕTn=ΦTRΦ(3.8) (3.8) ∇ ∇ E ( w ) = H = ∑ n = 1 N y n ( 1 − y n ) ϕ n ϕ n T = Φ T R Φ

其中 R R 是一个对角阵, Rnn=yn(1yn) R n n = y n ( 1 − y n )
w(new)=w(old)(ΦTRΦ)1ΦT(yt)=(ΦTRΦ)1ΦTRZ(3.9) (3.9) w ( n e w ) = w ( o l d ) − ( Φ T R Φ ) − 1 Φ T ( y − t ) = ( Φ T R Φ ) − 1 Φ T R Z

其中
Z=ΦwoldR1(yt)(3.10) (3.10) Z = Φ w o l d − R − 1 ( y − t )

直接求解的好处

Multi-class logistic regression

More general

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值