【机器学习】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 条评论
登录 后参与评论

相关文章

来自专栏人工智能

从损失函数的角度详解常见机器学习算法(1)

作者:章华燕 编辑:赵一帆 1、机器学习中常见的损失函数 一般来说,我们在进行机器学习任务时,使用的每一个算法都有一个目标函数,算法便是对这个目标函数进行优化,...

76913
来自专栏AI研习社

手把手教你如何用 TensorFlow 实现 CNN

CNN 的引入 在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很...

43812
来自专栏华章科技

机器学习萌新必学的Top10算法

导读:在机器学习领域里,不存在一种万能的算法可以完美解决所有问题,尤其是像预测建模的监督学习里。

482
来自专栏大数据文摘

斯坦福CS231N深度学习与计算机视觉第七弹:神经网络数据预处理,正则化与损失函数

1362
来自专栏红色石头的机器学习之路

Coursera吴恩达《神经网络与深度学习》课程笔记(2)-- 神经网络基础之逻辑回归

上节课我们主要对深度学习(Deep Learning)的概念做了简要的概述。我们先从房价预测的例子出发,建立了标准的神经网络(Neural Network)模型...

2340
来自专栏技术小站

吴恩达深度学习笔记 course 2 1.1~1.14 深度学习的实用层面

在构建一个神经网络的时候我们往往需要设计很多参数,如:layers,learning rates ,acivation functions,hidden uni...

742
来自专栏ATYUN订阅号

从自编码器到变分自编码器(其一)

AiTechYun 编辑:yuxiangyu 自编码器是一种无监督学习技术,利用神经网络进行表征学习。也就是说,我们设计一个在网络中施加“瓶颈”,迫使原始输入压...

3765
来自专栏Spark学习技巧

机器学习萌新必学的Top10算法

1033
来自专栏Coding迪斯尼

深度学习:透过神经网络的内在灵活与柏拉图的哲学理念

1223
来自专栏机器之心

一起读懂传说中的经典:受限玻尔兹曼机

1366

扫码关注云+社区