
逻辑回归分类算法的前世今生
前沿
首先说明此次的分享是笔者学习逻辑回归的各种博客、书籍、资料后整理的个人认为最全最有价值的内容,其中会涉及到很多你可以在其他资料中见到的内容,涉及到的内容笔者一定也会指出引用。强调一下,这篇文章也只是网上各种优秀分享的集大成者和一些笔者浅陋的认识而已。
第一层境界
首先我们来看一下网上最常见的一种逻辑回归讲解方法【1】:
提到LR,就得从线性回归讲起,线性回归模型的目的是在多维空间中存在的样本点,我们用特征的线性组合(特征加权)去拟合空间中点的分布和轨迹。对于有监督训练数据集(X,Y),X表示特征,Y表示标签,w表示该某一特征对应的权重,最终的线性模型如hw(x)所示:



线性回归结果示意图:

可以看到线性回归模型主要解决对于连续数值的拟合任务,因为其输出范围是无穷大(计算机存储空间限制内)所以原则上也是可以做分类。但是针对分类问题,该方法则有点不适应,因为线性回归的输出值是不确定范围的,无法很好的一一对应到我们的若干分类中。即便是一个二分类,线性回归+阈值的方式,已经很难完成一个鲁棒性很好的分类器了。由于线性回归的输出范围不确定,所以我们能不能找一个函数把输出强制规范到0-1区间内来做分类呢?当然可以,通过在线性回归模型中引入Sigmoid函数,将线性回归的不确定范围的连续输出值映射到(0,1)范围内,成为一个概率预测问题,bingo!这就是逻辑回归模型。逻辑回归是假设数据服从Bernoulli分布,因此LR属于参数模型。我们先来看一下sigmoid函数的定义及图像:


可以看到sigmoid函数的定义域是负无穷到正无穷,值域是0-1,可以很好地满足我们对于改进线性回归的需求。除此之外,sigmoid还有一个有点就是导数好求:

整合一下,逻辑回归的推断公式为:

所以对于整个样本集,m个独立的样本出现的似然函数为(因为每个样本都是独立的,所以m个样本出现的概率就是他们各自出现的概率相乘),得到整个样本的似然函数为: