【ML算法】监督学习——逻辑回归
- 更新时间:2018-08-24
前言
挺久没更新博客了,满是愧疚,最近一直在鼓捣数据,感觉没什么可写的,于是翻出之前没有完成的机器学习算法,继续完善~
概述
逻辑回归(Logistic Regression,LR),西瓜书中叫做对数几率回归,虽然叫回归,但实际上是一种分类算法,主要处理二分类问题,LR模型简单,但应用非常广,很多公司都是应用LR解决工业界问题,因为简单,模型生成后,处理速度快,可以满足工业需求。
逻辑回归的主要用途:
(1)解决二分类以及多分类问题
二分类问题比较好理解,例如电信运营商客户是否流失、是否采取某项决策等,LR通过训练数据给定的label值,反复迭代,最终生成样本的分布函数,将位置样本进行分类,如果样本类别多,可以通过多个LR组合解决。
(2)判别预测
LR不仅可以输出类别,还可以输出类别所占概率,在进行预测时更具解释性,并且在模型融合时很有优势。
算法介绍
引用Andrew Ng机器学习课程中的例子来说明:
下图所示,一个二分类问题,label为1或0,红色的叉叉为样本点,在图中样本点分布均匀的情况下,使用线性回归也可以解决这个问题,当 时,输出为1,反之为0,当样本点为多维向量时,这个一元线性回归函数就可以写成:
当样本点分布为下图所示情况时,使用一元线性回归就不是很合适了,因为没办法确定样本点的分界阈值,整个线性回归模型会因为这一个样本点作出很大的改变,导致模型的输出值超出了[0, 1]这个区间。
最理想的判断输出预测值的是“单位阶跃函数“(unit-step function),即若预测值大于零就判为正例,小于零就判为反例,等于零则可以任意判别,如下图所示,但这个单位阶跃函数不连续,因此使用sigmoid函数做替代。
于是,引入了逻辑函数来优化回归模型,我们的目标是: , 给出如下公式:
称为逻辑函数,于是逻辑回归的公式为:
对公式(4)取“对数几率”可得:
参数的求解
设y为后验概率估计 ,则式(4)变为:
于是,样本为正例:
样本为反例:
通过“极大似然法”对 进行估计,给定一个样本,估计对的概率为:
最大化似然函数:
由式(7)(8)(9)可知,最大化式(10)相当于最小化:
可根据牛顿法、梯度下降法等求解参数最优解。
- 参考资源:
吴恩达《machine learning》公开课
周志华《机器学习》