机器学习

逻辑回归

对于二分类任务,其输出标记,而线性回归模型产生的预测值是实值。利用线性回归中的预测函数 ,我们定义阈值函数来完成 0/1 分类:


但这样做存在一些问题,那就是当某类中存在极端值时,会使直线发生很大的偏移,影响分类效果。
逻辑回归
这主要是由于线性回归在整个实数域内敏感度一致,而二分类问题需要将数值的范围在[0,1]当中。
使用线性回归来处理 0/1 分类问题总是困难重重的,因此,我们就自然的想到有没有一种函数在整个定义域内取值在[0, 1]之间,这样我们就可以将样本比较好地分成两类。答案是有的,这种方法就叫做逻辑回归,其中逻辑一词代表了是(1)和非(0)。
逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,其回归方程与回归曲线如图2所示。逻辑曲线在z=0时,十分敏感,在z>>0或z<<0处,都不敏感,将预测值限定为(0,1)。它的函数形式表现为:

sigmoid

我们假设h为样本为正例的可能性,那么1-h就是其反例的可能性。对于二分类问题,我们自然希望我们的算法将正例划分为正例(y>0.5),将反例划分为反例(y<=0.5)。我们可以将这种希望的情况用公式表示如下(这里的y表示样本的真实类别):
当y=1时, (最大化样本为正例的概率);
当y=0时,(最大化样本为反例的概率)
因为使用{0,1}来表示样本的两个类别的缘故,接下来我们就可以神奇地把上述两个公式融合在一起:

之后我们再对公式做一定的处理,对h和(1-h)做对数变换,并给上式加个负号变为最小化问题,我们就可以得出逻辑回归的目标函数啦!

接下来就可以推导出上式的向量形式:

我们在梯度下降中更新参数的公式为: