逻辑回归(Logistic Regression, LR)是传统机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛。它的起源非常复杂,可以看参考引用1。具体应用实践可以看这里。
问题背景
对于二元分类问题,给定一个输入特征向量
(例如输入一张图片,通过算法识别它是否是一只猫的图片),算法能够输出预测,称之为
,也就是对实际值
的估计。或者说,
表示
等于1的一种可能性或是置信度(前提条件是给定了输入特征
)。
如果代入带线性回归的模型中
:
假设输入
为肿瘤大小,上图表示
值大于0.5时算法预测为恶性肿瘤,小于0.5时预测为良性肿瘤。看上去好像没有什么问题,但是在
值大于1或者小于0的地方不能很好地表示分类的置信度。再者看下图:
如果新加入了一个样本点(最右),那么预测很可能就会如上图不是很准确了,恶性肿瘤的前几个样本点会被线性回归模型判定为良性肿瘤。因此我们引入sigmoid函数:
LR模型
Sigmoid函数
从上图可以看到sigmoid函数是一个s形的曲线,它的取值在[0, 1]之间,在0点取值为0.5,在远离0的地方函数的值会很快接近0或是1。这个性质使我们能够以概率的方式来解释分类的结果。
所以对应条件概率分布(二分类)
为
参数求解
那么我们该如何求救里面的参数
呢?常用的方法有梯度下降法,牛顿法和BFGS拟牛顿法。
梯度下降法
梯度下降(Gradient Descent)又叫作最速梯度下降,是一种迭代求解的方法,通过在每一步选取使目标函数变化最快的一个方向调整参数的值来逼近最优值。基本步骤如下:
选择下降方向(梯度方向,)