机器学习基础之逻辑回归算法
本章学习重点:
逻辑回归:损失函数、梯度、决策边界
实践部分:代码实现以及sklearn逻辑回归
1. 什么是逻辑回归算法
逻辑回归(Logistic Regression,LR)。在Kaggle竞赛的统计中,LR算法以63.5%的出产率,荣获各领域中“出场率最高的算法”这一殊荣。在实际场景中,逻辑回归同样应用广泛,大到国家各项经济政策的制定,小到计算广告CTR,都能看到LR算的身影。
除了应用广泛外,LR的建模过程还体现了数据建模中很重要的思想:对问题划分层次,并利用非线性变换和线性模型的组合,将未知的复杂问题分解为已知的简单问题。因此,我们可以说:理解好逻辑回归的细节,就掌握了数据建模的精髓。
1.1 线性回归能解决分类问题吗
其实,线性回归是不能解决分类问题的。因为我们在使用线性回归模型时,我们实际上做了3个假设(实际上有更多的假设,这里只讨论最基本的三个):
- 因变量和自变量之间呈线性相关。
- 自变量与干扰项相互独立。
- 没被线性模型捕捉到的随机因素服从正态分布。
1.2 用逻辑回归解决分类问题
其原理是将样本的特征和样本发生的概率联系起来,即,预测的是样本发生的概率是多少。由于概率是一个数,因此被叫做“逻辑回归。” 在线性回归的例子中,是进行房价的预测即一个数值,但是在逻辑回归算法中,得到的预测值是一个概率,然后在概率的基础上多做一个操作得到分类的结果。比如某银行使用逻辑回归做风控模型,先设置一个阈值0.5,如果得到它逾期的概率大于0.5,就不放款;否则就放款。对于“放款” or “不放款”来说,实际上是一个标准的分类问题。
通过这个小例子我们可以看到,在回归问题上再多做一步,就可以作为分类算法来使用了。逻辑回归只能解决二分类问题,如果是多分类问题,LR本身是不支持的。
那么线性回归能否直接表示概率结果呢?单单从应用的角度来说,是可以的,但是并不好。这是因为线性回归得到值是没有限制的,值域从负无穷到正无穷的值。而对于概率来说,其值域为[0,1],是有限制的。如果直接使用线性回归得到的结果,使得最终拟合的结果可信程度较差。
1.3 sigmoid函数与逻辑回归
sigmoid函数是在数据科学领域,特别是神经网络和深度学习领域中非常重要的函数!其图像如下图所示,呈S状,因此也被称为“S函数”。当t趋近于正无穷时, e − t e^{-t}