
- 引言
机器学习,绕不开预测问题,预测绕不开回归和分类。本篇介绍最常用的二分类算法:逻辑回归(Logistics Regression),当然随着算法的发展,它也可用于多分类问题。每一个算法都是许许多多数学家的努力铸就,理论篇希望自己可以尽量将算法发展过程叙述的平滑一些,可以即保留理论基础,又让读者感觉舒服。下面,就让我们一起来领教一下这处理问题的伟大逻辑。
2. 回归到分类的过渡
逻辑回归,顾名思义,分为两部分:逻辑和回归。
首先让我们回忆一下上一篇线性回归的内容。
我们希望透过样本得到数据背后的本质映射关系
但是,考虑这样一个问题,当因变量不是连续变量,而是分类变量,比如大或者小,黑或者白时,线性回归模型又应该如何应用?数学的魅力在于将现象数字化,或者称为模型化。所以处理这个问题的第一步,我们需要用数学来表示大或者小,黑或者白。
考虑类别之间相对的关系,我们可以用概率来表示这个问题,例如大的概率大于小的概率,我们将预测为大。那么我们知道线性回归的因变量的数值位于
3. 什么是逻辑
下面我们介绍几个可以完成上述映射的函数,

公式(1)称为逻辑函数(或者称为Sigmoid、S型函数),其将


公式(2)和公式(3)分别是反正切函数和双曲正切函数,它们分别将
实际应用中,在求解问题时,需要应用映射函数的梯度信息,逻辑函数梯度较为容易计算,公式(4)给出它们的梯度公式 。
在逻辑回归的实际应用中,通常情况下,我们应用逻辑函数的映射形式,但是具体哪种函数的形式更好,需要进一步考证。
4. 理想的最优模型
4.1 概率预测
我们成功的将线性回归过渡到逻辑回归的分类形式,总结一下现阶段的成果,我们构造了从自变量映射到因变量概率的函数关系,具体形式如公式(5)。
为了清晰描述二分类问题,我们不妨将两个类别分别标记为1和0,一般情况下,当
4.2 损失函数
此时,亟待解决就是求解逻辑回归模型中参数
遗憾的是,公式(7)形式的损失函数并不是凸函数,优化过程中存在困难。
所以数学家们考虑定义了一种新的损失函数来处理分类问题,损失函数需要满足的条件是可以衡量模型与真实数据之间的拟合程度,或者称之为距离。
为了清晰描述二分类问题,我们将两个类别分别标记为1和0,对于已经标记为1的数据,我们希望模型给出1的概率越大越好,反之,对于已经标记为0的数据,我们希望模型给出1的概率越小越好,那么基于这个原理,给出交叉熵损失函数,如公式(8):
观察公式(8)中交叉熵损失函数,当
关于交叉熵损失函数,其由来可由两个方面说明:
一是信息论角度,熵用来衡量信息量的多少,有兴趣同学可以查看一下信息熵,相对熵,交叉熵的概念。解释大致含义与我上面的解释类似;
另一个方面是从似然函数的角度解释,对于上面定义的二分类问题,
那么对于n个独立样本,其对数似然函数:
将对数似然函数取平均,加负号,与交叉熵损失函数形式一致,求似然函数最大化与求交叉熵损失函数最小化是等价的。求解过程一般使用梯度下降方法,当然基于梯度下降方法有许多进化算法,AdaGrad,RMSProp,Adam等。这里不详细介绍,后续再提炼一篇基于梯度下降的算法总结。
5. 多分类的扩展应用
对于逻辑回归,到这里我们已经将基本的框架搭好了。值得说明的一点是,线性回归中容易过拟合的问题,在逻辑回归中仍然存在,所以,有必要在损失函数上添加正则项,正则项的添加已经在线性回归中介绍,这里不再重复。
最后将二分类的逻辑回归扩展到多分类(N个类别),主要有两种方法:一种方法是One VS One,每个类别两两配对训练,共训练
6.结束语
逻辑回归是线性回归分析的扩展,其通过逻辑函数将回归值映射为概率值,实现了对分类问题的处理。下一篇作者将介绍逻辑回归的好伙伴支持向量机,并详细介绍它们之间的区别与联系,有兴趣的可以继续关注噢。
上一篇:
监督学习(1)|一文搞懂线性回归,lasso回归,岭回归zhuanlan.zhihu.com
下一篇:
监督学习(3)|支持向量机zhuanlan.zhihu.com