本偏笔记主要针对线性分类模型中的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 = { 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
)
可化为
其中
则式 (1.3) ( 1.3 ) 可化为
其中 μ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
}
,且类别编码方式
那么完全数据的对数似然函数为:
求解可得:
其中
也就是说利用最大似然求解,类条件密度分布的期望为该类的数据的均值,而协方差则为各类协方差的加权平均
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
)
可视为对原始输入做了特征提取。那么似然函数为:
其中
那么损失函数便可定义为:
注意到这个误差函数叫交叉熵损失函数
其关于参数
w
w
的导数为:
3.2迭代再加权最小二乘法
对于参数
w
w
的求解除了一般的梯度下降,我们还可以使用更有效的迭代算法,这便是IRLS(IteRative reweighted least squares)。这个算法是基于Newton-Raphson Iterative optimization scheme:
其中 H H 为误差函数关于参数 w w 的二阶导
这是一种局部二次近似,我们可以从线性回归模型来看看:
在线性回归模型中,我们知道对数似然函数是参数 w的二次函数 w 的 二 次 函 数 ,其有解析解(Normal Equation),但是在利用梯度下降求解的时候,我们是逐步去逼近这个最优解(解析解)。但是如果我们用局部二次近似,便可以一步到位
:
∇E(w)=∑n=1N(wTϕn−tn)ϕ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而言:
其中 R R 是一个对角阵, Rnn=yn(1−yn) R n n = y n ( 1 − y n )
其中
直接求解的好处