查看原文
其他

逻辑回归:基本算法原理及应用方法(不是回归的回归)

NK冬至 首席数据科学家 2022-07-01

 逻辑回归,看似是回归算法,其实是典型与常用的分类算法。


关于机器学习,我们之前分享过《机器学习的分类和流程》《线性回归算法的详情》《线性分类基础与感知机》等。今天继续线性分类相关的内容,主要聊聊线性分类中的一个重要算法:逻辑回归。



01

逻辑回归基础


我们先介绍一下逻辑回归的一些基础背景。


(1)逻辑回归解决的问题


逻辑回归,虽然名字叫“回归”,但是它并不是用来回归的。什么是回归?我们《线性回归基础》中介绍过,回归问题解决的是因变量(即Y)是连续值的情况。


而逻辑回归是解决Y是离散变量的问题,即分类。



通常而言,逻辑回归主要解决的是二分类的问题,即分类的结果只有两个类别。比如【男,女】、【有钱,没钱】、【感染病毒,没感染病毒】、【垃圾邮件,不是垃圾邮件】……等等。


从上面的例子中,我们其实可以想象出,其实逻辑回归的应用场景是比较多的。比如基于邮件的特征,去判断一封邮件是否是垃圾邮件;基于用户行为,判断用户的性别等。


(2)都有哪些分类算法


上面我们提到了逻辑回归其实属于线性分类算法中的一种。


关于线性分类,我们上篇文章《线性分类基础》中有讲到,主要有以下分类:



其中逻辑回归算法,属于判别式的线性分类模型——就是直接根据数据进行参数估计的模型,不需要使用贝叶斯公式。


而关于生成式的线性分类模型(主要就是朴素贝叶斯),我们后续专门进行分享。


(3)逻辑回归的本质


逻辑回归,虽然是一种分类算法,但确实和“回归”有一些关联。如果用一个公式表达:


逻辑回归=线性回归+sigmoid函数


对,这里的关键,就是sigmoid函数。这个函数就是我们之前讲回归和分类时候的激活函数。激活函数还记得吧?《线性分类》中讲过,激活函数是为了将线性回归的连续性结果映射到离散值上,这样就是分类问题了。



至于逻辑回归算法的具体内容,我们看下面展开叙述。



02


算法逻辑


我们接下来讲一下逻辑回归算法的详细逻辑。


(1)sigmoid函数


上文中讲了,其实逻辑回归是线性回归的基础上,加了个sigmoid函数作为激活函数。那激活函数为什么是sigmoid函数呢?


我们先看一看下面的函数(单位越阶函数)作为激活函数:


这个是不是可以将连续的z(z=wx+b)映射到离散的y了?是的。


但是,如果将这个函数如果作为激活函数,将会导致函数是不连续不可导的。


因此,我们需要找到一个可以替代这个函数的函数,使其单调可微。什么函数呢?对,这就是sigmoid函数的一种:对数几率函数



这个函数是连续的,极限取值是0-1,且可以按照0.5的阈值进行二分类。


用了这个函数以后,y和x的函数关系变为:



(2)损失函数


ok,既然有了上述的预测函数,下一步,我们要定义具体的损失函数。这里,我们通常用对数似然损失来作为损失函数:



这个公式比较好理解,就不展开了。


有了预测函数和损失函数,接下来就是进行参数估计的过程了。关于参数的求解,我们可以使用极大似然估计、梯度下降法等。


关于极大似然估计,可以参考之前文章《极大似然估计》。 


关于逻辑回归,今天主要分享这些内容,欢迎各位朋友继续关注~后续逐步分享贝叶斯分类、神经网络等机器学习算法。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存