逻辑回归
一、问题
- 考虑二分类问题
给定给定数据集D = {(x1,y1),(x2,y2),…,(xm,ym)},其中 xi = {xi1;xi2;…;xid},yi∈{0,1}
-
考虑到ωTx+b取值是连续的,因此它不能拟合离散变量
可以考虑用它来拟合条件概率p(y=1 ∣ x),因为概率的取值也是连续的
-
但是对于w̸=0 (若等于零向量则没有什么求解的价值),z=ωTx+b取值是从−∞∼+∞,不符合概率取值为0∼1,于是,我们需将实值z转换为0/1值
最理想的是单位阶跃函数(unit-step function)
y=⎩⎨⎧0, z<0;0.5, z=0;1, z>0;(1)
即若预测值z大于零就判为正例,小于零则判为反例,预测值为临界值零则可任意判别,如图
-
但从图可以看出,单位阶跃函数不满足单调可微,不能直接用作g(⋅),于是我们希望找到能在一定程度上近似单位阶跃函数的替代函数(surrogate function)。对数几率函数(logistic function)正式这样一个常用的替代函数
y=1+e−z1(2)
从图中可以看出,对数几率函数是一种Sigmoid函数,它将z值转化为一个接近0或1的y值,并且其输出值在z=0附近变化很陡
Sigmoid函数即形似S的函数,对率函数是Sigmoid函数最重要的代表
-
采用广义线性模型,得到
y=1+e−(ωTx+b)1(3)
若将y=1+e−z1视为x作为正例的可能性,则1−y=1+e−ze−z是其反例可能性,两者的比值
1−yy(4)
称为几率(odds),反映了x作为正例的相对可能性
ln(1−yy)=z=ωTx+b(5)
对几率取对数则得到对数几率(log odds,亦称logit)
由此可以看出,式(3)实际上是在用线性模型的预测结果去逼近真实标记对数几率,因此,其对应的模型称为对数几率回归(logistic regression,亦称logit regression)
- 虽然对数几率回归名字带有回归,但是它是一种分类的学习方法。其优点
- 直接对分类的可能性进行建模,无需事先假设数据分布,这就避免了因为假设分布不准确带来的问题
- 不仅预测出来类别,还得到了近似概率的预测,这对许多需要利用概率辅助决策的任务有用
- 对数函数是任意阶可导的凸函数,有很好的数学性质,很多数值优化算法都能直接用于求取最优解
二、参数估计
-
给定给定数据集D = {(x1,y1),(x2,y2),…,(xm,ym)},其中 xi = {xi1;xi2;…;xid},yi∈{0,1}。可以用极大似然估计法估计模型参数,从而得出模型。
为方便讨论,令θ=(ω;b),x=(x;1),则ωTx+b可简写为θTx,预测函数为
hθ(x)=g(θTx)=1+e−θTx1(6)
其中θ0+θ1x1+,…,+ θmxm=∑i=1mθixi=θTx
-
对于二分类任务,令P(y=1∣x;θ)=hθ(x),则P(y=0∣x;θ)=1−hθ(x)
整合后
P(y∣x;θ)=(hθ(x))y(1−hθ(x))1−y(7)
解释:对于二分类任务(0, 1),整合后y取0只保留1−hθ(x),y取1只保留hθ(x)
-
由于有P(y=1∣x;θ) ;P(y=0∣x;θ),我们可以通过极大似然法(maximum likelihood method)来估计θ
似然函数
L(θ)=i=1∏mP(yi∣xi;θ)=i=1∏m(hθ(xi))yi(1−hθ(xi))1−yi(8)
对数似然(log likelihood)
l(θ)=lnL(θ)=i=1∑m(yilnhθ(xi)+(1−yi)ln(1−hθ(xi)))(9)
式(9)是关于θ的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降法(gradient descent method)、牛顿法(Newton method)等都可以求得其最优解,于是就得到
θ∗=θargminl(θ)(10)
三、求解
对于式(9),应用梯度上升求最大值,引入J(θ)=−m1l(θ)转换为梯度下降任务
求解过程
θj∂J(θ)=−m1∑i=1m(yihθ(xi)1∂θj∂hθ(xi)−(1−yi)1−hθ(xi)1∂θj∂hθ(xi))
=−m1∑i=1m(yig(θTxi)1−(1−yi)1−g(θTxi)1)∂θj∂g(θTxi)
=−m1∑i=1m(yig(θTxi)1−(1−yi)1−g(θTxi)1)g(θTxi)(1−g(θTxi))∂θj∂θTxi
=−m1∑i=1m(yi(1−g(θTxi))−(1−yi)g(θTxi))xij
=−m1∑i=1m(yi−g(θTxi))xij
=m1∑i=1m(hθ(xi)−yi)xij
参数更新
θj:=θj−αm1∑i=1m(hθ(xi)−yi)xij
参考