逻辑回归:比概念稍微深入一点的细节

1 逻辑回归的定位

首先,逻辑回归是一种分类(Classification)算法。比如说:

  • 给定一封邮件,判断是不是垃圾邮件
  • 给出一个交易明细数据,判断这个交易是否是欺诈交易
  • 给出一个肿瘤检查的结果数据,判断这个肿瘤是否为恶性肿瘤

逻辑回归是互联网上最流行也是最有影响力的分类算法,也是深度学习(Deep Learning)的基本组成单元。

2 一个逻辑回归的例子

比如有下面一组数据:
一门考试之前学生的复习时间与这个学生最后是否Pass这门考试的数据

《逻辑回归:比概念稍微深入一点的细节》 数据:学生复习时间与考试通过

通过这些数据,利用逻辑回归算法进行模型训练,可以得到最终的模型结果是这个样子:

《逻辑回归:比概念稍微深入一点的细节》 logistic equation

这样,给出任何复习时间,就可以预测出是否通过的概率

《逻辑回归:比概念稍微深入一点的细节》 模型应用

3 逻辑回归拟合函数:Sigmod函数(逻辑函数)

可以看到,逻辑回归最后的分类结果是0/1,因此,我们选择Sigmod函数(貌似是一个专业术语)来拟合训练数据。Sigmod函数的形式如下,它的x可以无限取值,但是y就在(0,1)之间

《逻辑回归:比概念稍微深入一点的细节》 Sigmod函数

对于最简单的,只有一个自变量(x)的二元分类(y=0/1)逻辑回归中,构造出来的拟合函数为

《逻辑回归:比概念稍微深入一点的细节》 最简单的逻辑回归拟合函数

所以,要得到最终的模型,就是根据样本点,计算a和b的值.

在上一节的复习时间和考试的例子中,最终计算出参数a=1.5046,b=-4.0777,因此可以得到下面的拟合函数的图像:

《逻辑回归:比概念稍微深入一点的细节》 模型的图像

4 模型参数的计算方法

Coursera上Stanford大学的机器学习课程是很好的入门课程(虽说入门,但是我学习起来还是特别的吃力),主讲人Andrew Ng(吴恩达)原来是Google大脑的负责人,现在在百度负责百度大脑和深度学习,是业界最牛的人之一了。他的课程中详细讲解了在逻辑回归中如何来计算模型的参数,我把结论的一页截图放在下面:

《逻辑回归:比概念稍微深入一点的细节》 Coursera上Stanford的机器学习课程截图

其中,J就是进行拟合的成本函数:

《逻辑回归:比概念稍微深入一点的细节》 Cost Function

看起来比较复杂,用我们上一节的例子来解释:

  • m:代表给出的训练样本数,也就是20
  • h函数:其实代表的是我们的Sigmoid函数,把样本的X值带进去,就得到的是参数a,b的函数
  • y:就是样本中实际的y,只有0,1两个选择

把样本的数据都带入,最后得到的就是参数a,b的一个方程,逻辑回归就是求出一个最好的a,b的值,使得这个成本函数J的值最小。
那么,最终求解a和b就是一个纯数学问题了,比如可以用最小二乘法和梯度下降法来求解,纯数学的问题就不在这里展开了

5 多分类逻辑回归

生活中不仅仅只有分成两类的问题,还有分成多个类的问题,比如把邮件分成工作邮件、朋友邮件和垃圾邮件。
多分类的一般思想是:利用多次分成两类,计算划分到每一类的概率,取概率最大的。用邮件分类的例子来说就是:

  • 将邮件分成“工作/非工作邮件”,可以根据上文的算法得出工作邮件的概率
  • 将邮件分成“朋友/非朋友邮件”,计算出朋友邮件的概率
  • 将邮件分成“垃圾/非垃圾邮件”,计算出垃圾邮件的概率

比较三个概率,取最大的那个概率,作为这个邮件的分类结果。

    原文作者:程sir
    原文地址: https://www.jianshu.com/p/31f41fa694e8#comments
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞