对数几率回归(逻辑回归)
广义线性模型:
指数族(Exponential family)分布是一类分布的总称,该类分布的分布律(或者概率密度函数)的一般形式如下:
p(y;η)=b(y)exp(ηTT(y)−a(η))
其中η称为该分布的自然参数;T(y)为充分统计量,视具体的分布而定,通常是等于随机变量y本身;a(η)为配分函数;b(y)为关于随机变量y的函数。常见的伯努利分布和正态分布均属于指数族分布。
以下证明伯努利属于指数族分布:
p(y)=ϕy(1−ϕ)1−y
其中y∈{0,1},p(y=1)=ϕ对上式恒等变形可得
p(y)=ϕy(1−ϕ)1−y=exp(ln(ϕy(1−ϕ)1−y))=exp(lnϕy+ln(1−ϕ)1−y)
p(y)=exp(ylnϕ+(1−y)ln(1−ϕ))=exp(ylnϕ+ln(1−ϕ)−yln(1−ϕ))=exp(y(lnϕ−ln(1−ϕ))+ln(1−ϕ))=exp(yln(1−ϕϕ)+ln(1−ϕ))
对比指数族分布可知
b(y)ηT(y)a(η)=1=ln(1−ϕϕ)=y=−ln(1−ϕ)=ln(1+eη)
- 广义线性模型的三条假设
- 在给定x的条件下,假设随机变量y服从某个指数族分布;
- 在给定x的条件下,我们的目标是得到一个模型h(x)能预测出T(y)的期望值;
- 假设该指数族分布中的自然参数η和x呈线性关系,即,η=wTx
对于对数几率回归的广义线性模型推导如下:
对数几率回归是在对一个二分类问题进行建模,并且假设被建模的随机变量y取值为0或1,因此我们可以很自然得假设y服从伯努利分布。此时,如果我们想要构建一个线性模型来预测在给定x的条件下y的取值的话,可以考虑使用广义线性模型来进行建模。
已知y是服从伯努利分布,而伯努利分布属于指数族分布,所以满足广义线性模型的第-条假设,接着根据广义线性模型的第二条假设我们可以推得模型h(x)的表达式为:
h(x)=E[T(y∣x)]
将ϕ=1+e−η1代入h(x)的表达式可得
h(x)=ϕ=1+e−η1
根据广义线性模型的第三条假设η=wTx,h(x)最终可化为:
h(x)=ϕ=1+e−wTx1=p(y=1∣x)
即对数几率回归模型。
上述线性模型实现了回归学习,需找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。
考虑二分类任务,输出标记y∈(0,1),最理想的是“单位阶跃函数”
y=⎩⎨⎧0,0.5,1,z<0z=0z>0
由于不连续,所以不能直接使用g−(⋅)。寻找一个近似单位阶跃函数的“替代函数”:
y=1+e−z1
将对数几率函数作为g−(⋅)代入
y=1+e−(wTx+b)1
ln1−yy=wTx+b
若将y视为样本x作为正例的可能性,则1-y是其反例可能性,两者的比值
1−yy
称为“几率”。
几率对数:
ln1−yy
由此可看出,实际上是在用线性回归模型的预测结果去逼近真实标记的对数几率,因此,其对应的模型称为**“对数几率回归”(logistic regression,亦称logit regression).特别需注意到,虽然它的名字是“回归”,但实际却是一种分类学习方法**.这种方法有很多优点,例如它是直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题;它不是仅预测出“类别”,而是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用;此外,对率函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解.
上式可重写为
lnp(y=0∣x)p(y=1∣x)=wTx+b
有:
p(y=1∣x)=1+ewTx+bewTx+bp(y=0∣x)=1+ewTx+b1
极大似然估计的具体方法:
通常记
L(y1,y2,…,ym;w1,w2,…,wk)=L(w)
,并称其为似然函数。于是求w的极大似然估计就归结为求L(w)得最大值点。由于对数函数是单调递增函数,所以
lnL(w)=ln(i=1∏mf(yi,w1,w2,…,wk))=i=1∑mlnf(yi,w1,w2,…,wk)
与L(w)有相同得最大值点,而在许多情况下,求lnL(w)的最大值点比较简单,于是,我们就将求L(w)的最大值点转化为求lnL(w)的最大值点,通常称lnL(w)为对数似然函数。
通过极大似然法来估计w和b。给定数据集{(xi,yi)}i=1m对率回归最大化“对数似然”
ℓ(w,b)=i=1∑mlnp(yi∣xi;w,b)
令β=(w;b),x^=(x;1)。则wTx+b可简写为βTx^。再令p1(x^;β)=p(y=1∣x^;β)。$ p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})=p(y=0 | \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=1-p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})$
则上式的似然项可重写为
p(yi∣xi;w,b)=yip1(x^i;β)+(1−yi)p0(x^i;β)
代入得(书上为损失函数,加负号)
ℓ(β)=i=1∑m(−yiβTx^i+ln(1+eβTz^i))
上式为β的高阶可导连续凸函数,根据凸优化理论,梯度下降法、牛顿法等都可求得其最优解,就得到:
β∗=βargminℓ(β)
以牛顿法为例,其第t+1轮迭代解的更新公式为
βt+1=βt−(∂β∂βT∂2ℓ(β))−1∂β∂ℓ(β)
其中关于β的一阶、二阶导数分别为:
∂β∂ℓ(β)∂β∂βT∂2ℓ(β)=−i=1∑mx^i(yi−p1(x^i;β))=i=1∑mx^ix^iTp1(x^i;β)(1−p1(x^i;β))