线性分类模型(三)——判别式模型

本文首发于我的个人博客Suixin’s Blog
原文: https://suixinblog.cn/2018/10/linear-classification3.html  作者: Suixin

判别式方法:直接对条件概率分布 p ( C k ∣ x ) p(C_k|\pmb{x}) p(Ckxxx)进行建模。
相比生成式方法有两个优点:需要训练的参数更少,预测表现会提升(尤其当类条件概率密度的假设没有很好的近似真实分布的时候)。

logistic回归

对于二分类问题,类别 C 1 C_1 C1的后验概率为
p ( C 1 ∣ ϕ ) = y ( ϕ ) = σ ( w ⊤ ϕ ) p(C_1|\pmb{\phi})=y(\pmb{\phi})=\sigma(\pmb{w}^\top\pmb{\phi}) p(C1ϕϕϕ)=y(ϕϕϕ)=σ(wwwϕϕϕ)
可见,对于 M M M维特征空间 ϕ \pmb{\phi} ϕϕϕ,该模型只有 M M M个可调节参数,而生成式模型需要调节参数总数为 M ( M + 5 ) 2 + 1 \frac{M(M+5)}{2}+1 2M(M+5)+1
对于一个数据集 { ϕ n , t n } \{\pmb{\phi}_n,t_n\} {ϕϕϕn,tn},其中, t n ∈ { 0 , 1 } t_n\in \{0,1\} tn{0,1} ϕ n = ϕ ( x n ) \pmb{\phi}_n=\phi(\pmb{x}_n) ϕϕϕn=ϕ(xxxn) n = 1 , 2 , ⋯   , N n=1,2,\cdots,N n=1,2,,N
似然函数为
p ( t ∣ w ) = ∏ n = 1 N y n t n ( 1 − y n ) 1 − t n p(\textbf{t}|\pmb{w})=\prod_{n=1}^Ny_n^{t_n}(1-y_n)^{1-t_n} p(twww)=n=1Nyntn(1yn)1tn
其中, t = ( t 1 , t 2 , ⋯   , t N ) ⊤ \textbf{t}=(t_1,t_2,\cdots,t_N)^\top t=(t1,t2,,tN)通过对似然函数取负对数的方式定义一个误差函数,即交叉熵(cross-entropy)误差函数
E ( w ) = − ln ⁡ p ( t ∣ w ) = − ∑ n = 1 N { t n ln ⁡ y n + ( 1 − t n ) ln ⁡ ( 1 − y n ) } E(\pmb{w})=-\ln p(\textbf{t}|\pmb{w})=-\sum_{n=1}^N\{t_n\ln y_n+(1-t_n)\ln(1-y_n)\} E(www)=lnp(twww)=n=1N{tnlnyn+(1tn)ln(1yn)}
w \pmb{w} www求梯度,可得
∇ E ( w ) = ∑ n = 1 N ( y n − t n ) ϕ n = Φ ⊤ ( y − t ) \nabla E(\pmb{w})=\sum_{n=1}^N(y_n-t_n)\pmb{\phi}_n=\Phi^\top(\textbf{y}-\textbf{t}) E(www)=n=1N(yntn)ϕϕϕn=Φ(yt)
注: 最大似然方法对于线性可分的数据集会产生严重的过拟合。

迭代重加权最小平方(IRLS)

logistic回归不再有解析解,故需要用Newton-Raphson迭代
w n e w = w o l d − H − 1 ∇ E ( w ) \pmb{w}^{new}=\pmb{w}^{old}-H^{-1}\nabla E(\pmb{w}) wwwnew=wwwoldH1E(www)
其中, H H H是Hessian矩阵,其元素为 E ( w ) E(\pmb{w}) E(www)关于 w \pmb{w} www的二阶导数。
推导可得
H = ∇ ∇ E ( w ) = ∑ n = 1 N y n ( 1 − y n ) ϕ n ϕ n ⊤ = Φ ⊤ R Φ H=\nabla\nabla E(\pmb{w})=\sum_{n=1}^Ny_n(1-y_n)\pmb{\phi}_n\pmb{\phi}_n^\top=\Phi^\top R\Phi H=E(www)=n=1Nyn(1yn)ϕϕϕnϕϕϕn=ΦRΦ
其中, N × N N\times N N×N的对角矩阵 R R R元素为 R n n = y n ( 1 − y n ) R_{nn}=y_n(1-y_n) Rnn=yn(1yn)。由于 o &lt; y n &lt; 1 o&lt;y_n&lt;1 o<yn<1,故对任意向量 u u u都有 u ⊤ H u &gt; 0 u^\top Hu&gt;0 uHu>0,即 H H H正定,因此误差函数是 w \pmb{w} www的凸函数,有唯一最小值。

softmax分类

对于多分类问题,后验概率为
p ( C k ∣ ϕ ) = y k ( ϕ ) = exp ⁡ ( a k ) ∑ j exp ⁡ ( a j ) p(C_k|\pmb{\phi})=y_k(\pmb{\phi})=\frac{\exp(a_k)}{\sum_j\exp(a_j)} p(Ckϕϕϕ)=yk(ϕϕϕ)=jexp(aj)exp(ak)
其中, a k = w k ⊤ ϕ a_k=\pmb{w}_k^\top\pmb{\phi} ak=wwwkϕϕϕ。求导,有
∂ y k ∂ a j = { y k ( 1 − y k ) , j = k − y k y j , j ≠ k \frac{\partial y_k}{\partial a_j}=\begin{cases} y_k(1-y_k), &amp; j=k \\ -y_ky_j, &amp; j\neq k \end{cases} ajyk={yk(1yk),ykyj,j=kj̸=k
从而,似然函数为
p ( T ∣ w 1 , ⋯ &ThinSpace; , w K ) = ∏ n = 1 N ∏ k = 1 K p ( C k ∣ ϕ n ) t n k = ∏ n = 1 N ∏ k = 1 K y n k t n k p(T|\pmb{w}_1,\cdots,\pmb{w}_K)=\prod_{n=1}^N\prod_{k=1}^Kp(C_k|\pmb{\phi}_n)^{t_{nk}}=\prod_{n=1}^N\prod_{k=1}^Ky_{nk}^{t_{nk}} p(Twww1,,wwwK)=n=1Nk=1Kp(Ckϕϕϕn)tnk=n=1Nk=1Kynktnk
其中, y n k = y k ( ϕ n ) y_{nk}=y_k(\pmb{\phi}_n) ynk=yk(ϕϕϕn) T T T是一个 N × K N\times K N×K的矩阵,元素 t n k t_{nk} tnk为1-of-K编码值。
交叉熵误差函数为
E ( w 1 , ⋯ &ThinSpace; , w K ) = − ln ⁡ p ( T ∣ w 1 , ⋯ &ThinSpace; , w K ) = − ∑ n = 1 N ∑ k = 1 K t n k ln ⁡ y n k E(\pmb{w}_1,\cdots,\pmb{w}_K)=-\ln p(T|\pmb{w}_1,\cdots,\pmb{w}_K)=-\sum_{n=1}^N\sum_{k=1}^Kt_{nk}\ln y_{nk} E(www1,,wwwK)=lnp(Twww1,,wwwK)=n=1Nk=1Ktnklnynk
同样利用Newton-Raphson迭代可求解。

参考

“Pattern Recognition and Machine Learning”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值