logistic 回归
如何用线性模型做分类任务?
只需要在广义线性模型 (1) 中找一个单调可微函数将线性回归的值与分类任务的真实标签 yy 联系起来。
其中,g(⋅)g(⋅) 称为 link function
考虑二分类任务,其输出标签 y∈{0,1}y∈{0,1},而线性回归模型产生的预测值 z=wTx+bz=wTx+b 是实值,于是,需要将实值 zz 转换为 值。最理想的单位阶跃函数 (unit-step function, Heaviside function)。
y=⎧⎩⎨00.51z<0z=0z>0y={0z<00.5z=01z>0
即若预测值 zz 大于零就判为正例,小于零则判为负例,预测值为临界值零则可以任意判断。
但单位阶跃函数不连续,因此不能直接用作 ,于是希望找到能在一定程度上近似单位阶跃函数的替代函数 ,并希望它单调可微。对数几率函数 (logistic function)正是这样一个常用的替代函数:
y=11+e−z(2)(2)y=11+e−z
对数几率函数是一种Sigmoid function ,它将 zz 值转化为一个接近0或1的 值,并且其输出值在 z=0z=0 附近变化很陡。将对数几率函数 (2) 带入 (1) 得到:
y=11+e−(wTx+b)(3)(3)y=11+e−(wTx+b)
通过化简可得:
logy1−y=wTx+b(4)(4)logy1−y=wTx+b
若将 yy 视为样本 作为正例的可能性,则 1−y1−y 是其反例的可能性,两者的比值 y1−yy1−y 称为 几率 (odds),反应了 xx 作为正例的相对可能性,对几率取对数则得到 对数几率 (log odds,亦称logit):
由此可以看出,(5) 实际上是在用线性回归模型的预测结果去逼近真实标签的对数几率,因此,其对应的模型称为 对数几率回归 (logistic regression)。特别需要注意到,虽然它的名字是”回归”,但实际确实一种分类学习方法。
这种方法有很多优点,例如:
- 它是直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题。
- 它不是仅预测出”类别”,而是可以得到近似概率的预测,这对许多需利用概率辅助决策的任务很有用。
- 对数几率函数是任意阶可导的凸函数,有很好的数学性质,现有的很多数值优化算法都可以直接用于求解最优解。
若将 (4) 中的 yy 视为类的后验概率估计 ,因此有:
logp(y=1|x)p(y=0|x)=wTx+blogp(y=1|x)p(y=0|x)=wTx+b
注意到 p(y=0|x)+p(y=1|x)=1p(y=0|x)+p(y=1|x)=1,可以得到:
p(y=1|x)=ewTx+b1+ewTx+bp(y=0|x)=11+ewTx+bp(y=1|x)=ewTx+b1+ewTx+bp(y=0|x)=11+ewTx+b
因此,yy 概率密度函数为:
于是,可以通过 极大似然估计 (MLP) 来估计 w,bw,b 。
似然函数为:
L(w,b)=∏i=1np(yi=1|xi)yip(yi=0|x)1−yiL(w,b)=∏i=1np(yi=1|xi)yip(yi=0|x)1−yi
对数似然函数为:
==l(w,b)=logL(w,b)∑i=1nyilogp(yi=1|xi)+(1−yi)logp(yi=0|x)∑i=1n(yi(wTxi+b)−log(1+ewTxi+b))l(w,b)=logL(w,b)=∑i=1nyilogp(yi=1|xi)+(1−yi)logp(yi=0|x)=∑i=1n(yi(wTxi+b)−log(1+ewTxi+b))
于是对应的优化问题是为:
minw,b∑i=1n(−yi(wTxi+b)+log(1+ewTxi+b))(6)(6)minw,b∑i=1n(−yi(wTxi+b)+log(1+ewTxi+b))
优化问题 (6) 是关于 w,bw,b 的高阶可导的凸优化问题,根据凸优化理论,经典的数值优化算法如梯度下降,牛顿法等都可以求得其最优解。
1285

被折叠的 条评论
为什么被折叠?



