本偏笔记主要针对线性分类模型中的logistic regression 以及 multiclass logistic regression
Logistic Regression Model
逻辑回归模型是针对二类的分类模型,本质上其建模了类的后验概率
1.其由来(Probabilistic Generative Models)
根据贝叶斯公式,类的后验概率为:
假设我们定义如下一个式子:
那么恰有:
也就是说,当我们做了式(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={C1,y>0.5C2,y<0.5randomGuess,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.5a=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, 换言之两类当后验概率相等时,无法做出决策。
2.其求解(Maximum likelihood)
如果输入变量是连续的
假设类条件概率密度(class-conditional distribution)服从高斯分布,并且两类的协方差一致。在这样的前提假设下,据式(1.2)(1.2)可化为
其中
则式(1.3)(1.3)可化为
其中μ1μ1和μ2μ2分别为C1C1和C2C2类分布的期望,ΣΣ 为分布的协方差。
也就是说在我们假定类条件密度分布服从高斯分布的前提下,最终类的后验概率是式(2.4)(2.4).可以看到最终的决策边界是线性超平面,也即wTx=0wTx=0
要求类的后验,可以先求类的先验和类的条件密度分布的参数,再由贝叶斯公式(等价于直接使用式(2.2)(2.2)和(2.3)(2.3),(2.4)(2.4))。
假设当下训练数据集为{xn,tn}{xn,tn},且类别编码方式
那么完全数据的对数似然函数为:
求解可得:
其中
也就是说利用最大似然求解,类条件密度分布的期望为该类的数据的均值,而协方差则为各类协方差的加权平均
3.换个角度求解(Probabilistic Discriminative Models)
实际上,除了利用最大似然求解先验以及类的条件密度分布的参数后,隐式地利用式(2.2),(2.3),(2.4)(2.2),(2.3),(2.4)求解外,还有另一种求法。既然我们已经知道了类的后验概率可以在一定的假设下写作式(2.4)(2.4),那么此时我们可以直接利用训练数据通过最大似然显式地求解参数ww和w0w0
3.1 梯度下降
要利用随机梯度下降或者批梯度下降求解,我们需要获得的便是梯度
假设我们手中的训练集为{ϕn,tn}{ϕn,tn},此处ϕn=ϕ(xn)ϕn=ϕ(xn)可视为对原始输入做了特征提取。那么似然函数为:
其中
那么损失函数便可定义为:
注意到这个误差函数叫交叉熵损失函数
其关于参数ww的导数为:
3.2迭代再加权最小二乘法
对于参数ww 的求解除了一般的梯度下降,我们还可以使用更有效的迭代算法,这便是IRLS(IteRative reweighted least squares)。这个算法是基于Newton-Raphson Iterative optimization scheme:
其中HH为误差函数关于参数ww的二阶导
这是一种局部二次近似,我们可以从线性回归模型来看看:
在线性回归模型中,我们知道对数似然函数是参数w的二次函数w的二次函数,其有解析解(Normal Equation),但是在利用梯度下降求解的时候,我们是逐步去逼近这个最优解(解析解)。但是如果我们用局部二次近似,便可以一步到位
:
∇E(w)=∑n=1N(wTϕn−tn)ϕn=ΦTΦw−ΦTt∇E(w)=∑n=1N(wTϕn−tn)ϕn=ΦTΦw−ΦTt
∇∇E(w)=∑n=1NϕnϕTn=ΦTΦ∇∇E(w)=∑n=1NϕnϕnT=ΦTΦ
w(new)=w(old)−(ΦTΦ)−1{ΦTΦwold−ΦTt}=(ΦTΦ)−1ΦTt(3.6)(3.6)w(new)=w(old)−(ΦTΦ)−1{ΦTΦwold−ΦTt}=(ΦTΦ)−1ΦTt
那么对于logistic regression而言:
其中RR是一个对角阵,Rnn=yn(1−yn)Rnn=yn(1−yn)
其中
直接求解的好处