斯坦福大学机器学习第六课"逻辑回归“学习笔记,本次课程主要包括7部分: 1) Classification(分类) 2) Hypothesis Representation 3) Decision boundary(决策边界) 4) Cost function(代价函数,成本函数) 5) Simplified cost function and gradient descent(简化版代价函数及梯度下降算法) 6) Advanced optimization(其他优化算法) 7) Multi-class classification: One-vs-all(多类分类问题) 以下是每一部分的详细解读。
1) Classification(分类) 分类问题举例:
以上问题可以称之为二分类问题,可以用如下形式定义: 其中0称之为负例,1称之为正例。 对于多分类问题,可以如下定义因变量y:
如果分类器用的是回归模型,并且已经训练好了一个模型,可以设置一个阈值:
如果是线性回归模型,对于肿瘤这个二分类问题,图形表示如下: 但是对于二分类问题来说,线性回归模型的Hypothesis输出值 这个时候我们引出逻辑回归,逻辑回归的Hypothesis输出介于0与1之间,既:
注: 以下引自李航博士《统计学习方法》1.8节关于分类问题的一点描述:
2) Hypothesis Representation 逻辑回归模型: 上一节谈到,我们需要将Hypothesis的输出界定在0和1之间,既:
但是线性回归无法做到,这里我们引入一个函数g, 令逻辑回归的Hypothesis表示为:
这里g称为Sigmoid function或者Logistic function, 具体表达式为:
Sigmoid 函数在有个很漂亮的“S"形,如下图所示(引自维基百科): 综合上述两式,我们得到逻辑回归模型的数学表达式:
其中
例如,对于肿瘤(恶性/良性),如果输入变量(特征)是肿瘤的大小: 这里Hypothesis表示的是”病人的肿瘤有70%的可能是恶性的“。 较正式的说法可以如下表示: 给定输入x,参数化的 数学上可以如下表示:
对于因变量y=0或1这样的二分类问题:
3) Decision boundary(决策边界) 如上节所述,逻辑回归模型可以如下表示: 假设给定的阈值是0.5,当 当 再次回顾sigmoid function的图形,也就是g(z)的图形: 当 对于 反之,当预测y = 0时, 我们可以认为
则当 上述只是一个线性的决策边界,当 这里当 更复杂的例子,请参考官方PPT,这里就不再举例了。
4) Cost function(代价函数,成本函数) 逻辑回归概览: 逻辑回归是一种有监督的学习方法,因此有训练集: 对于这m个训练样本来说,每个样本都包含n+1个特征: 其中 Hypothesis可表示为: 与线性回归相似,我们的问题是如何选择合适的参数
Cost Function: 线性回归的Cost Function定义为:
这里可以把
如果和线性回归相似,这里取 我们知道,线性回归的Cost Function是凸函数,具有碗状的形状,而凸函数具有良好的性质:对于凸函数来说局部最小值点即为全局最小值点,因此只要能求得这类函数的一个最小值点,该点一定为全局最小值点。 因此,上述的Cost Function对于逻辑回归是不可行的,我们需要其他形式的Cost Function来保证逻辑回归的成本函数是凸函数。 这里补充一段李航博士《统计学习方法》里关于Cost Function或者损失函数(loss function)的说明,大家就可以理解Cost Function不限于一种方式,而是有多种方式可选,以下摘自书中的1.3.2小节:
逻辑回归的Cost Function: 基于上节的描述和补充,这里我们选择对数似然损失函数作为逻辑回归的Cost Function: 直观的来解释这个Cost Function,首先看当y=1的情况: 直观来看, 如果y = 1, 但是,当 直观来看,由于预测的结果南辕北辙: 如果 因此对于这个学习算法给予一个很大的Cost的惩罚。 同理对于y=0的情况也适用:
5) Simplified cost function and gradient descent(简化版代价函数及梯度下降算法) 逻辑回归的Cost Function可以表示为: 由于y 只能等于0或1,所以可以将逻辑回归中的Cost function的两个公式合并,具体推导如下: 故逻辑回归的Cost function可简化为: 对于这个公式,这里稍微补充一点,注意中括号中的公式正是对逻辑回归进行最大似然估计中的最大似然函数,对于最大似然函数求最大值,从而得到参数(\theta\)的估计值。反过来,这里为了求一个合适的参数,需要最小化Cost function,也就是:
而对于新的变量x来说,就是根据 与线性回归相似,这里我们采用梯度下降算法来学习参数 目标是最小化 对 注意,这个算法和线性回归里的梯度下降算法几乎是一致的,除了
6) Advanced optimization(其他优化算法) 优化算法: 给定参数 优化算法除了梯度下降算法外,还包括:
后二者由拟牛顿法引申出来,与梯度下降算法相比,这些算法的优点是: 第一,不需要手动的选择步长; 第二,通常比梯度下降算法快; 但是缺点是更复杂-更复杂也是缺点吗?其实也算不上,关于这些优化算法,推荐有兴趣的同学看看52nlp上这个系列的文章:无约束最优化,作者是我的师兄,更深入的了解可以参考这篇文章中推荐的两本书:
7) Multi-class classification: One-vs-all(多类分类问题) 多类分类问题举例: 电子邮件分类/标注: 工作邮件,朋友邮件,家庭邮件,爱好邮件 医疗图表(medical diagrams): 没有生病,着凉,流感 天气:晴天,多云,雨,雪 二类分类问题如下图所示: 多类分类问题如下所示: One-vs-all(one-vs-rest): 对于多类分类问题,可以将其看做成二类分类问题:保留其中的一类,剩下的作为另一类。例如,对于下面这个例子: 可以分别计算其中一类相对于其他类的概率: 总结-One-vs-all方法框架: 对于每一个类 i 训练一个逻辑回归模型的分类器 对于一个新的输入变量x, 分别对每一个类进行预测,取概率最大的那个类作为分类结果:
参考资料: 第六课“逻辑回归”的课件资料下载链接,视频可以在Coursera机器学习课程上观看或下载: https://class./ml
李航博士《统计学习方法》 http://en./wiki/Sigmoid_function http://en./wiki/Logistic_function http://en./wiki/Conjugate_gradient_method http://en./wiki/Quasi-Newton_method http://en./wiki/Limited-memory_BFGS
|
|