学习笔记八:对数几率回归
1. 基本概念
1.1 从回归到分类
问题背景:
前面讨论了用线性模型进行回归学习,但若要做的是分类任务,应该如何处理?
核心思路:
分类任务与回归任务不同。对于二分类任务,输出标记 y ∈ {0, 1},而线性回归模型产生的预测值 z = wᵀx + b 是实数值。因此,需要将这个实数值 z 转换为 0/1 值。
理想函数:
最理想的是单位阶跃函数(unit-step function):
- 若预测值
z大于零就判为正例 - 若
z小于零就判为反例 - 若
z等于零则可任意判别
1.2 对数几率函数
问题:
单位阶跃函数不连续,不可微,无法直接用于优化求解。
解决方案:
需要找一个在一定程度上近似单位阶跃函数的"替代函数"(surrogate function),且它单调可微。对数几率函数(logistic function)正是这样一个常用的替代函数。
Sigmoid函数:
对数几率函数是一个Sigmoid函数,它将 z 值转化为一个接近0或1的 y 值,并且其输出值在 z = 0 附近变化很陡。
基本形式:
y = 1 / (1 + e^(-z))
特点:
- 单调可微,处处连续
- 输出值在0到1之间
- 在
z = 0处输出为0.5,变化最陡 - 当
z趋近于正无穷时,y趋近于1 - 当
z趋近于负无穷时,y趋近于0
1.3 对数几率回归模型
模型形式:
将对数几率函数代入线性模型,得到:
y = 1 / (1 + e^(-(wᵀx + b)))
等价形式:
可以变换为:
ln(y / (1 - y)) = wᵀx + b
对数几率的含义:
- 若将
y视为样本x作为正例的可能性,则1 - y是其反例可能性 - 两者的比值
y / (1 - y)称为几率(odds),反映了x作为正例的相对可能性 - 对几率取对数则得到对数几率(log odds,亦称logit)
模型解释:
对数几率回归模型实际上是用线性回归模型的预测结果去逼近真实标记的对数几率。因此,其对应的模型称为对数几率回归(logistic regression,亦称logit regression)。
重要说明:
虽然名字里有"回归",但对数几率回归实际上是一种分类学习方法。
2. 对数几率回归方法
2.1 参数估计
目标:
如何确定模型中的 w 和 b?
概率解释:
若将模型中的 y 视为类后验概率估计 p(y = 1 | x),则:
p(y = 1 | x)表示样本x为正例的概率p(y = 0 | x)表示样本x为反例的概率
估计方法:
可通过极大似然法(maximum likelihood method)来估计 w 和 b。
基本思想:
给定数据集,对数几率回归模型最大化对数似然(log-likelihood),即令每个样本属于其真实标记的概率越大越好。
优化目标:
最大化对数似然等价于最小化一个关于参数的连续凸函数。这个函数具有良好的数学性质,可以使用经典的数值优化算法求解。
2.2 优化方法
优化算法:
由于目标函数是关于参数的高阶可导连续凸函数,根据凸优化理论,可以使用经典的数值优化算法:
- 梯度下降法(gradient descent method)
- 牛顿法(Newton method)
求解过程:
- 初始化参数
- 计算目标函数关于参数的一阶导数(梯度)和二阶导数(Hessian矩阵)
- 使用优化算法迭代更新参数
- 直到收敛或达到最大迭代次数
特点:
- 目标函数是凸函数,保证能找到全局最优解
- 可以使用成熟的数值优化算法
- 求解效率高
3. 总结
对数几率回归是一种重要的分类学习方法,虽然名字里有"回归",但它实际上是一种分类算法。它通过将对数几率函数作为联系函数,将线性回归模型的预测值映射到0到1之间的概率值,从而实现对分类可能性的建模。
对数几率回归具有直接对分类可能性建模、给出概率预测、数学性质优良、易于优化等优点,在二分类任务中应用广泛。它特别适用于需要概率输出的场景,如疾病诊断、信用评估等。在实际应用中,需要注意其线性假设的局限性,可通过特征工程、正则化等方法进行改进。当特征与目标之间存在线性或近似线性关系时,对数几率回归往往能取得良好的效果。
