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