【机器学习】CS229课程笔记notes1翻译-Part II分类和logistic回归

CS229 课程笔记

吴恩达

Part II  分类和logistic回归

      我们现在谈论分类问题。分类问题与回归问题类似,区别是在分类问题中,我们现在想要预测的y值只取少量的离散值。现在,我们聚焦于二值分类问题,y只取两个值,0和1。(我们在这里说的大多数可以扩展到多分类问题。)例如,如果我们试图构建一个垃圾邮件分类器,x(i)可能是一封邮件的某些特征,如果邮件是垃圾邮件,y为1,如果不是垃圾邮件,y为0。0也叫做负类,1叫做正类,它们用符号“-”和“+”表示。给定x(i),相应的y(i)也叫做训练样本的标签。

5  Logistic回归

      我们可以尝试解决分类问题,忽略y是离散值的事实,使用我们之前的线性回归算法试图预测给定x的y的值。然而,很容易构建这样的例子,但是这种算法的性能非常差。直观地,对于hθ(x),取值大于1或小于0没有意义,我们知道,y∈{0,1}。

      为了解决分类问题,让我们改变我们的假设hθ(x)的形式。我们将选择

      其中

      这叫做logistic函数,或sigmoid函数,下面是g(z)的描点图像:

      注意,当z-->∞时,g(z)趋向于1,当z--> -∞时,g(z)趋向于0。因此,g(z),h(x)的取值介于0和1之间。如前所述,我们仍使得x0=1,因此

      现在,我们g(z)函数的选择如上所述,实际上其他平滑地从0增长到1的函数也可以使用,但由于很多原因(当我们谈论广义线性模型和生成学习算法时我们会看到),选择logistic函数是十分自然的。在继续之前,sigmoid函数的推导是一个有用的特性,推导如下:

      因此,给定logistic回归模型,我们怎么拟合θ?下面我们将看到最小平方回归怎么在一系列假设下推导成最大似然估计,让我们给我们的分类模型赋予一系列概率假设,然后通过最大似然拟合参数。

      让我们假设

      上式可以写得更紧凑一点,如下:

      假设m个训练样本是独立生成的,我们可以写出似然函数如下:

      如前,最大化log似然函数更容易:

      我们怎么最大化似然函数?与我们在线性回归例子中的推导相似,我们可以使用梯度上升。写成向量符号,我们的更新可以写成

。(注意,更新公式中为正而不是负,是由于我们现在是最大化,而不是最小化一个函数。)让我们从一个训练样本开始,对对数似然函数l(θ)求导如下:

      上面,我们使用g’(z)=g(z)(1-g(z))的事实,这给出了我们随机梯度上升规则:

      如果我们把上式与LMS(最小均方)更新规则做比较,我们看到它看起来很相似,但他们不是同一个算法,因为hθ(x(i))现在定义为θTx(i)的非线性函数。尽管如此,对于两个非常不同的算法和学习问题,我们最后得到相同的更新规则,这令人惊讶。这是巧合?还是背后有更深层的原因?我们将在广义线性模型(GLM)中进行回答。

6  插话:感知学习算法

     我们现在简要谈论一种算法,当我们谈论学习理论时,我们还将回来。考虑修改logistic回归方法,迫使其输出值或者是0或者是1,为此,我们需要改变g的定义为阈值函数:

      如果我们像前面一样,让hθ(x)=g(θTx),但使用修改后的g的定义,我们使用更新规则

      那么我们得到感知学习算法。

      在20世纪60年代,感知被认为是大脑中单个神经元的一个粗略的模型。尽管它如此简单,但在我们后面课程中谈论学习理论时,它将提供给我们分析的起始点。然而,尽管感知算法外观上与我们谈论的其他算法相似,相较于logistic回归与最小平方线性回归,它实际上是一个非常不同类型的算法。特别地,很难赋予感知预测有意义的概率解释,或者像最大似然估计算法那样推导感知算法。

7  最大化l(θ)的其他算法

      回到logistic回归,g(z)是sigmoid函数,让我们现在谈论一个不同的算法来最小化l(θ)。

      我们考虑牛顿方法找到函数的零点。特别地,假定我们有函数f:R-->R,我们希望找到一个值θ,使得f(θ)=0。这里θ∈R是一个实数。牛顿方法执行下面的更新:

      该方法有一个自然的解释,我们认为它通过一个线性函数逼近函数f,该线性函数是f在当前的θ处的切线,使得线性函数等于0,让下一个θ值为线性函数为0的地方的θ值。

      下面是牛顿方法的运行过程:

      在最左图中,函数f沿着线y=0绘制。我们试图找到θ,以便f(θ)=0;得到的θ的值大约为1.3,。假定我们用θ=4.5初始化该算法。牛顿方法拟合出一条直线,为f在θ=4.5处的切线,与值为0的线有交点(中图)。这给出我们下一个θ值,大约为2.8。最右图显示了再运行一次迭代的结果,更新的θ值大约为1.8,更多的迭代之后,我们快速靠近θ=1.3。

      牛顿方法给出了一种方式使得f(θ)=0。如果我们想要用它来最大化某个函数l呢?l的最大值相当于一阶导数l’(θ)为0的点。因此,通过让f(θ)=l’(θ),我们可以使用相同的算法来最大化l,我们获得更新规则:

      (考虑:如果我们想要使用牛顿方法来最小化,而不是最大化一个函数,应该改变什么?)

      最后,在我们的logistic回归中,θ是向量值,因此我们需要扩展牛顿方法来应用到logistic回归中。将牛顿方法扩展到多维情形中(也叫做Newton-Raphson方法),通过如下给出:

      这里,

是l(θ)关于θi的偏导数向量,H是n×n矩阵(实际上是n+1×n+1矩阵,假定我们包括截距项),叫做Hessian矩阵,其矩阵项如下给出:

      牛顿方法比批梯度下降算法收敛得更快,需要更少的迭代就能非常靠近最小值。然而,一次牛顿方法的迭代比梯度下降算法的代价更高,因为它需要计算n×n的Hessian矩阵,并对它求逆;但只要n不太大,牛顿方法通常更快。当我们把牛顿方法应用到最大化logistic回归对数似然函数l(θ)时,该方法叫做Fisher scoring。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

教程 | Hinton 机器学习视频中文版: 线性神经元的权值收敛(3.1)

本套课程中,Hinton 重点介绍了人工神经网络在语音识别和物体识别、图像分割、建模语言和人类运动等过程中的应用,及其在机器学习中发挥的作用。与吴恩达的《Mac...

33110
来自专栏企鹅号快讯

盘点实际项目应用中的最佳机器学习模型

关键时刻,第一时间送达! 作者简介:chen_h,AI 算法工程师,擅长利用 TensorFlow 处理 NLP 问题。曾任职蘑菇街(美丽联合集团)和 AI10...

2366
来自专栏机器人网

完整机器的学习项目的工作流程

现在机器学习应用非常流行,了解机器学习项目的流程,能帮助我们更好的使用机器学习工具来处理实际问题。

1183
来自专栏人工智能LeadAI

常用机器学习算法优缺点及其应用领域

决策树 ? 决策树优点 1、决策树易于理解和解释,可以可视化分析,容易提取出规则。 2、可以同时处理标称型和数值型数据。 3、测试数据集时,运行速度比较快。 ...

3036
来自专栏应兆康的专栏

22. 对比最优误差率

在我们的猫咪识别实例中,这个“想法”的错误率指的是——最优分类器的错误率接近0%,就像一个人可以很轻松的识别它。而且随时可以进行识别,我们希望机器也可以做到这点...

30310
来自专栏Java 源码分析

数字图像处理

2018
来自专栏AlgorithmDog的专栏

强化学习系列之六:策略梯度

文章目录 [隐藏] 1. 策略参数化 2. 策略梯度算法 2.1 MC Policy Gradient 2.2 Actor-Critic 3. 为什么要有策略梯...

3725
来自专栏小鹏的专栏

CNN—pooling层的作用

此处是个人见解:欢迎微信探讨:lp5319 1、使构建更深层次的网络变得可行; 2、使得filters获得更多的全局和contextual(上下文)信息; 3、...

2285
来自专栏魏晓蕾的专栏

【机器学习】CS229课程笔记notes1翻译-Part III广义线性模型

      到目前为止,我们已经看到一个回归的例子和一个分类的例子。在回归的例子中,我们有y|x;θ~N(μ,σ2),在分类的例子中,y|x;θ~Bernoul...

2208
来自专栏新智元

吴恩达计算机视觉课程12大要点,如何赢得计算机视觉竞赛

来源:towardsdatascience.com 编译:马文 【新智元导读】本文作者最近在Coursera上完成了吴恩达的深度学习系列课程的第四门课“卷积神经...

35913

扫码关注云+社区