极客时间已完结课程限时免费阅读

10 机器学习 | 衍化至繁:逻辑回归

10 机器学习 | 衍化至繁:逻辑回归-极客时间

10 机器学习 | 衍化至繁:逻辑回归

讲述:王天一

时长12:13大小5.60M

周四我和你分享了机器学习中的朴素贝叶斯分类算法,这一算法解决的是将连续取值的输入映射为离散取值的输出的分类问题。朴素贝叶斯分类器是一类生成模型,通过构造联合概率分布 实现分类。如果换一种思路,转而用判别模型解决分类问题的话,得到的算法就是“逻辑回归”。
虽然顶着“回归”的名号,但逻辑回归解决的却是实打实的分类问题。之所以取了这个名字,原因在于它来源于对线性回归算法的改进。通过引入单调可微函数 ,线性回归模型就可以推广为 ,进而将线性回归模型的连续预测值与分类任务的离散标记联系起来。当 取成对数函数的形式时,线性回归就演变为了逻辑回归。
在最简单的二分类问题中,分类的标记可以抽象为 0 和 1,因而线性回归中的实值输出需要映射为二进制的结果。逻辑回归中,实现这一映射是对数几率函数,也叫 Sigmoid 函数
之所以选择对数几率函数,是因为它具备良好的特性
首先,对数几率函数能够将线性回归从负无穷到正无穷的输出范围压缩到 (0, 1) 之间,无疑更加符合对二分类任务的直观感觉。
其次,当线性回归的结果 时,逻辑回归的结果 ,这可以视为一个分界点:当 时,,此时逻辑回归的结果就可以判为正例;当 时,,逻辑回归的结果就可以判为反例。
显然,对数几率函数能够在线性回归和逻辑回归之间提供更好的可解释性。这种可解释性可以从数学的角度进一步诠释。
如果将对数几率函数的结果 视为样本 作为正例的可能性,则 就是其作为反例的可能性,两者的比值 称为几率,体现的是样本作为正例的相对可能性。如果对几率函数取对数,并将前文中的公式代入,可以得到
由此可见,当利用逻辑回归模型解决分类任务时,线性回归的结果正是以对数几率的形式出现的。
归根结底,逻辑回归模型由条件概率分布表示
对于给定的实例,逻辑回归模型比较两个条件概率值的大小,并将实例划分到概率较大的分类之中
学习时,逻辑回归模型在给定的训练数据集上应用最大似然估计法确定模型的参数。对给定的数据集 ,逻辑回归使每个样本属于其真实标记的概率最大化,以此为依据确定 的最优值。由于每个样本的输出 都满足两点分布,且不同的样本之间相互独立,因而似然函数可以表示为
利用对数操作将乘积转化为求和,就可以得到对数似然函数
由于单个样本的标记 只能取得 0 或 1,因而上式中的两项中只有一个有非零的取值。将每个条件概率的对数几率函数形式代入上式,经过化简可以得到
寻找以上函数的最大值就是以对数似然函数为目标函数的最优化问题,通常通过“梯度下降法”或拟“牛顿法”求解
当训练数据集是从所有数据中均匀抽取且数量较大时,以上结果还有一种信息论角度的阐释方式:对数似然函数的最大化可以等效为待求模型与最大熵模型之间 KL 散度的最小化。这意味着最优的估计对参数做出的额外假设是最少的,这无疑与最大熵原理不谋而合。
从数学角度看,线性回归和逻辑回归之间的渊源来源于非线性的对数似然函数;而从特征空间的角度看,两者的区别则在于数据判定边界的变化。判定边界可以类比为棋盘上的楚河汉界,边界两侧分别对应不同类型的数据。
以最简单的二维平面直角坐标系为例。受模型形式的限制,利用线性回归只能得到直线形式的判定边界;逻辑回归则在线性回归的基础上,通过对数似然函数的引入使判定边界的形状不再受限于直线,而是推广为更加复杂的曲线形式,更加精细的分类也就不在话下。
逻辑回归与线性回归的关系称得上系出同门,与朴素贝叶斯分类的关系则是殊途同归。两者虽然都可以利用条件概率 完成分类任务,实现的路径却截然不同。
朴素贝叶斯分类器是生成模型的代表,其思想是先由训练数据集估计出输入和输出的联合概率分布,再根据联合概率分布来生成符合条件的输出, 以后验概率的形式出现。
逻辑回归模型则是判别模型的代表,其思想是先由训练数据集估计出输入和输出的条件概率分布,再根据条件概率分布来判定对于给定的输入应该选择哪种输出, 以似然概率的形式出现。
即便原理不同,逻辑回归与朴素贝叶斯分类器在特定的条件下依然可以等效。用朴素贝叶斯分类器处理二分类任务时,假设对每个 ,属性条件概率 都满足正态分布,且正态分布的标准差与输出标记 无关,那么根据贝叶斯定理,后验概率就可以写成
根据朴素贝叶斯方法的假设,类条件概率可以表示为属性条件概率的乘积,因而令 并将满足正态分布的属性条件概率 代入以上表达式中,经过一番计算就可以得到
不难看出,上式的形式和逻辑回归中条件概率 的形式是完全一致的,这表明朴素贝叶斯方法和逻辑回归模型学习到的是同一个模型。实际上,在 的分布属于指数分布族这个更一般的假设下,类似的结论都是成立的。
说完了联系,再来看看区别。两者的区别在于当朴素贝叶斯分类的模型假设不成立时,逻辑回归和朴素贝叶斯方法通常会学习到不同的结果。当训练样本数接近无穷大时,逻辑回归的渐近分类准确率要优于朴素贝叶斯方法。而且逻辑回归并不完全依赖于属性之间相互独立的假设,即使给定违反这一假设的数据,逻辑回归的条件似然最大化算法也会调整其参数以实现最大化的数据拟合。相比之下,逻辑回归的偏差更小,但方差更大。
除此之外,两者的区别还在于收敛速度的不同。逻辑回归中参数估计的收敛速度要慢于朴素贝叶斯方法。当训练数据集的容量较大时,逻辑回归的性能优于朴素贝叶斯方法;但在训练数据稀缺时,两者的表现就会发生反转。
二分类任务只是特例,更通用的情形是多分类的问题,例如手写数字的识别。要让逻辑回归处理多分类问题,就要做出一些改进。
一种改进方式是通过多次二分类实现多个类别的标记。这等效为直接将逻辑回归应用在每个类别之上,对每个类别都建立一个二分类器。如果输出的类别标记数目为 ,就可以得到 个针对不同标记的二分类逻辑回归模型,而对一个实例的分类结果就是这 个分类函数中输出值最大的那个。在这种方式中,对一个实例执行分类需要多次使用逻辑回归算法,其效率显然比较低下。
另一种多分类的方式通过直接修改逻辑回归输出的似然概率,使之适应多分类问题,得到的模型就是 Softmax 回归。Softmax 回归给出的是实例在每一种分类结果下出现的概率
式中的 代表和类别 相关的权重参数。Softmax 回归模型的训练与逻辑回归模型类似,都可以转化为通过梯度下降法或者拟牛顿法解决最优化问题。
虽然都能实现多分类的任务,但两种方式的适用范围略有区别。当分类问题的所有类别之间明显互斥,即输出结果只能属于一个类别时,Softmax 分类器是更加高效的选择;当所有类别之间不存在互斥关系,可能有交叉的情况出现时,多个二分类逻辑回归模型就能够得到多个类别的标记。
今天我和你分享了机器学习基本算法之一的逻辑回归方法的基本原理,其要点如下:
逻辑回归模型是对线性回归的改进,用于解决分类问题;
逻辑回归输出的是实例属于每个类别的似然概率,似然概率最大的类别就是分类结果;
在一定条件下,逻辑回归模型与朴素贝叶斯分类器是等价的;
多分类问题时可以通过多次使用二分类逻辑回归或者使用 Softmax 回归解决。
前文对逻辑回归的分析都是在概率理论的基础上完成的。但在二分类任务中,逻辑回归的作用可以视为是在平面直角坐标系上划定一条数据分类的判定边界。那么逻辑回归的作用能不能从几何角度理解,并推广到高维空间呢?
欢迎发表你的观点。
分享给需要的人,Ta购买本课程,你将得18
生成海报并分享

赞 5

提建议

上一篇
09 机器学习 | 大道至简:朴素贝叶斯方法
下一篇
11 机器学习 | 步步为营,有章可循:决策树
unpreview
 写留言

精选留言(15)

  • dianxin556
    2018-01-24
    王老师,请问似然概率和后验概率的区别和联系?能否举例说明?谢谢!

    作者回复: 似然概率是由假设正推结果,后验概率是由结果倒推假设。 假如一种产品由不同的工厂ABC生产,每个工厂都有自己的次品率,那么A厂生产的产品占产品总数的比例就是先验概率,A厂自己的次品率就是似然概率。 在一堆产品中抽出一件,检验发现是次品,那这件次品可能来源于ABC中任意的一个厂。已知产品是次品,推断这件次品来自A厂的概率,这就是后验概率。

    共 4 条评论
    20
  • 井中月
    2018-03-07
    王老师,按文章最后一段所说,当一个样本同时属于多个类别时,是不是有几个类别就建立几个二分类模型,这样效率比较高?但是我曾经遇到过一个类似的问题,当时没有解决,想跟您请教。每个样本属于多个类别,这些类别加起来一共有将近400种,而且绝大多数类别都是严重不平衡的。这种情况下如果一个一个的建立模型是不是效率很低?这是一个文本分类的问题,文本是餐厅评论数据,类别是人工标注的评论主题。这些类别其实是可以合并的,但是合并之后意义不大。您怎么看这种情况?
    展开

    作者回复: 抛开问题不说,做多分类两种思路:一是所有类别两两配对,就是1v2, 1v3,...,1vN,2v3,2v4,...2vN,3v4,...依此类推;二是每个类别和其他所有类别配对,就是1v其他,2v其他,…Nv其他。第一种模型多,每个模型需要的数据少,第二种相反。 具体到你的问题,我觉得类别太多了,尤其是数据有限时,给500个数据分400个类是没有价值的。所以我认为应该先对类别做优化,当然,能不能行的通还要看实际情况。

    4
  • 阿里-赤壁(羊宏飞)
    2018-06-01
    王老师这个课 我认为是 机器学习入门者 非常好的 图谱 ,其中一些知识点还是要结合书本和实战。问题的讨论 知乎上回答的也非常详尽
    3
  • Jean
    2018-03-01
    问下逻辑回归中的“逻辑”是什么意思,为什么叫逻辑,是怎么来的?

    作者回复: 逻辑是logistic的音译,logistic函数就是文章里的sigmoid函数,也就是S曲线。

    共 2 条评论
    2
  • 叶秋
    2018-03-27
    可否推导一下逻辑回归的条件概率的推导过程

    作者回复: 在这里没法打出公式,你可以参考维基百科上逻辑回归的页面,或是推荐书目中周老师和李老师教材的相关章节。

    1
  • 井中月
    2018-03-11
    谢谢您的回复。我当时设想的是第二种思路,每个类和其他所有类配对。当时的数据量是50多万条。按您的经验来说,一般做分类问题,类别控制在多少个容易取得较好的效果呢?

    作者回复: 这是取决于具体问题的,建议你也把类别数量作为一个变量试一试,看看类别多少时效果比较好。

    1
  • MJ小朋友
    2018-01-05
    我好像发现了两个无伤大雅的错误, S型函数b好像漏了,后面推导有了,又没了 对数似然函数应该取自然对数,不然没底数不行

    作者回复: 感谢你的火眼金睛,这两个问题都是符号没有统一造成的。 第一个,没有常项b是因为把它看成w的一个分量w_0,并让它和另一个常数x_0=1相乘,但是推导时候这样写又不方便,所以就把b拿出来了; 第二个是个习惯问题,这要归咎于平时书写并不规范,不写底数的log就默认是ln运算。在文章中,所有的运算全是自然对数运算。

    2
  • 刘桢
    2020-03-22
    打卡打卡
  • 杨家荣
    2019-12-26
    极客时间 21天打卡行动 8/21 <<人工智能基础课10>>逻辑回归 回答老师问题: 前文对逻辑回归的分析都是在概率理论的基础上完成的。但在二分类任务中,逻辑回归的作用可以视为是在平面直角坐标系上划定一条数据分类的判定边界。那么逻辑回归的作用能不能从几何角度理解,并推广到高维空间呢? 这个问题有点深奥,根据我自身的学习知识,在逻辑回归算法中,如果用几何去表达,显然平面几何是做不到的,以前我老师讲过一个升维的算法,在平面几何不能表达的回归图形中,假设这个图形不是二维的,是多维度的,在多维度的空间中,是能计算和描绘的; 今日所学:Logistic回归(逻辑回归),这个算法本身是解决分类问题的,逻辑回归中,实现这一映射是对数几率函数,也叫 Sigmoid 函数;(Sigmoid函数搜索较大的值,所有值将介于0和1之间),而寻找以上函数的最大值就是以对数似然函数为目标函数的最优化问题,通常通过“梯度下降法”或拟“牛顿法”求解,另外对数似然函数的最大化可以等效为待求模型与最大熵模型之间 KL 散度的最小化。这意味着最优的估计对参数做出的额外假设是最少的,这无疑与最大熵原理不谋而合。 逻辑回归与朴素贝叶斯区别: 1,逻辑回归与线性回归的关系称得上系出同门,与朴素贝叶斯分类的关系则是殊途同归。两者虽然都可以利用条件概率 P(Y|X) 完成分类任务,实现的路径却截然不同。 2,朴素贝叶斯分类器是生成模型的代表,其思想是先由训练数据集估计出输入和输出的联合概率分布,再根据联合概率分布来生成符合条件的输出,P(Y|X) 以后验概率的形式出现。 3,两者的区别在于当朴素贝叶斯分类的模型假设不成立时,逻辑回归和朴素贝叶斯方法通常会学习到不同的结果 4,两者的区别还在于收敛速度的不同; 5,朴素贝叶斯基于少量数据集更有优势 逻辑回归的改进:一种改进方式是通过多次二分类实现多个类别的标记;另一种多分类的方式通过直接修改逻辑回归输出的似然概率,使之适应多分类问题,得到的模型就是 Softmax 回归,Softmax 回归模型的训练与逻辑回归模型类似,都可以转化为通过梯度下降法或者拟牛顿法解决最优化问题。 说明:虽然都能实现多分类的任务,但两种方式的适用范围略有区别。当分类问题的所有类别之间明显互斥,即输出结果只能属于一个类别时,Softmax 分类器是更加高效的选择;当所有类别之间不存在互斥关系,可能有交叉的情况出现时,多个二分类逻辑回归模型就能够得到多个类别的标记。 总结:a,逻辑回归模型是对线性回归的改进,用于解决分类问题;b,逻辑回归输出的是实例属于每个类别的似然概率,似然概率最大的类别就是分类结果;c,在一定条件下,逻辑回归模型与朴素贝叶斯分类器是等价的;d,多分类问题时可以通过多次使用二分类逻辑回归或者使用 Softmax 回归解决。
    展开
  • 小老鼠
    2019-01-17
    各位是不是都是数学系毕业的,好难懂
    共 1 条评论
    1
  • 历尽千帆
    2018-12-29
    王老师,您好。我没有明白“对数似然函数的最大化可以等效为待求模型与最大熵模型之间 KL散度的最小化。这意味着最优的估计对参数做出的额外假设是最少的”这句话,您可否再解释下?
  • jkhcw
    2018-12-16
    逻辑回归在高纬模型下就是超平面
  • 星运里的错
    2018-05-19
    老师。我发现很多概念当时明白,过后就忘了,您是推荐从实战例子中去加深理解,还是反复的去看概念,知道看懂

    作者回复: 我认为结合起来才有效果,想办法理解例子是如何应用概念的。

  • 井中月
    2018-03-15
    好的,谢谢老师
  • Andy
    2018-01-05
    王老师您好,在逻辑回归中,代价函数为什么选用交叉熵代价函数,而不是选用最小二乘代价函数呢?

    作者回复: 不要被名字欺骗,逻辑回归的输出是离散值哟,离散变量用最小二乘就没意义了。