美文网首页Machine Learning
机器学习入门(4)--代价函数

机器学习入门(4)--代价函数

作者: Alfie20 | 来源:发表于2016-09-10 00:56 被阅读1487次

申明:此文章内容来自于 Doctor AndrewNG的视频,经过编辑而成

本篇文章主要深入理解代价函数的概念。为了简化问题,把线性回归的模型函数中θ0设为0,所以我只有一个参数也就是 θ1,其模型函数为如下。也就意味这我们选择的假设函数 会经过经过坐标 (0,0)。

简化单变量线性回归模型

那相应的代价函数简化如下:

简化的单变量线性回归代价函数

我们要理解的是这两个重要的函数 第一个是假设函数 第二个是代价函数。这个假设函数h(x) 对于一个固定的 θ1 这是一个关于 x 的函数;与此不同的是代价函数 J是一个关于参数 θ1 的函数 而 θ1 控制着这条直线的斜率。

现在我们把这写函数都画出来,试着更好地理解它们。我们从假设函数开始 比如说这里是我的训练样本 它包含了三个点 (1,1) (2,2) 和 (3,3) 现在我们选择一个值 θ1 所以当 θ1 等于1 如果这是我选择的 θ1 那么我的假设函数看起来就会像是这条直线

θ1不同的单变量线性回归模型图形化表示

现在 在代价函数里 我们发现所有这些值都等于0。因为对于我所选定的这三个训练样本 ( 1 ,1 ) (2,2) 和 (3,3)  如果 θ1 等于 1 那么 h(x(i)) 就会正好等于 y(i) 。让我把这个画出来 我将要在屏幕右边画出我的代价函数 J 要注意的是 因为我的代价函数是关于参数 θ1 的函数。让我们继续把函数画出来 结果我们会得到这样一个点 现在我们来看其它一些样本 θ1 可以被设定为 某个范围内各种可能的取值 所以 θ1 可以取负数  0 或者正数 所以如果 θ1 等于0.5会发生什么呢 继续把它画出来,结果你会发现 你算出来的这些值 你得到一条这样的曲线 通过计算这些值 你可以慢慢地得到这条线 这就是 J(θ) 的样子了如下图:

单变量线性代价函数图形化表示

我们来回顾一下,任何一个 θ1 的取值对应着一个不同的 假设函数 或者说对应着左边一条不同的拟合直线 对于任意的θ1 你可以算出一个不同的 J(θ1) 的取值 。现在你还记得 学习算法的优化目标 是我们想找到一个 θ1 的值 来将 J(θ1) 最小化 对吗 这是我们线性回归的目标函数。这条曲线 让 J(θ1) 最小化的值 是 θ1 等于1  然后你看 这个确实就对应着最佳的通过了数据点的拟合直线 这条直线就是由 θ1=1 的设定而得到的。

上面讨论是把θ0设置为0, 在现实建模过程中θ0不是0是大概率事件。那么此时,模型函数图形化表示如下:

θ0不为0的单变量线性回归模型图形化表示

代价函数 仍然呈现类似的某种弓形,实际上这取决于训练样本 你可能会得到这样的图形:

θ0不为0的单变量线性代价函数图形化表示

因此这是一个三维曲面图 两个轴分别表示θ0和θ1。随着你改变θ0和θ1的大小,你便会得到不同的代价函数 J(θ0,θ1) 对于某个特定的点 (θ0,θ1) 这个曲面的高度 也就是竖直方向的高度 就表示代价函数 J(θ0,θ1) 的值 不难发现这是一个弓形曲面。

我们来看看三维图 这是这个曲面的三维图 水平轴是θ0、θ1 竖直方向表示 J(θ0,θ1) ,为了描述方便,轮廓图来表示(contour plot 或 contour figure),两个轴分别表示 θ0 和 θ1 而这些一圈一圈的椭圆形 每一个圈就表示 J(θ0,θ1) 相同的所有点的集合,如下。举例说明,当θ0等于800 也就是跟纵轴相交于大约800 斜率大概是-0.15 当然 这条线并不能很好地拟合数据,以这组 θ0 θ1 为参数的这个假设 h(x) 并不是数据的较好拟合 并且你也发现了 这个代价值就是这里的这个值 距离最小值点还很远 也就是说这个代价值还是算比较大的 因此不能很好拟合数据

θ0不为0的单变量线性代价函数轮廓图

事实上 我们后面就会学到 我们会遇到更复杂、更高维度、更多参数的情况 这在我们在后面的视频中很快就会遇到 而这些情况是很难画出图的 因此更无法将其可视化 因此我们真正需要的 是编写程序来找出这些最小化代价函数的θ0和θ1的值。

能够自动地找出能使代价函数 J 最小化的参数θ0和θ1的值,将在后续讲解。

相关文章

  • 机器学习入门(4)--代价函数

    申明:此文章内容来自于 Doctor AndrewNG的视频,经过编辑而成 本篇文章主要深入理解代价函数的概念。为...

  • 深度学习笔记

    构建机器学习算法 数据集 代价函数 优化算法 模型

  • 机器学习——代价函数

    一、假设函数 h表示学习算法的解决方案,也就是根据数据集训练拟合得到的一个函数,也称为假设函数(hypothesi...

  • Python实现常见机器学习算法(上)

    参考:Python实现常见机器学习算法一、线性回归 1、代价函数 2、梯度下降算法 3、均值归一化 4、最终运行结...

  • 【Andrew Ng机器学习】单变量线性回归-梯度下降

    课程:吴恩达机器学习 此篇我们将学习梯度下降算法,我们之前已经定义了代价函数J,梯度下降法可以将代价函数J最小化。...

  • [机器学习入门] 李宏毅机器学习笔记-4(Where does

    [机器学习入门] 李宏毅机器学习-4(Where does the error come from? ;误差分析)...

  • 损失函数、代价函数、目标函数

    Q:机器学习中的损失函数、代价函数、目标函数有什么联系和区别? A:在监督学习中,损失函数用来评估模型的预测值和真...

  • 线性回归

    最近在看Pro.Ng的机器学习课程,特做此总结。这篇相当于目录索引。 模型和代价函数 模型和代价函数 梯度下降算法...

  • Day5 Chapter5.9-5.10

    5.9 随机梯度下降 1. 机器学习算法中的代价函数通常可以分解成每个样本的代价函数的总和 2. 对于相加而成的代...

  • 深度学习笔记

    [问题] 机器学习基础部分 1.如何构建机器学习算法? 特定的数据集 代价函数可含有附加项,如正则化项,如权重衰减...

网友评论

    本文标题:机器学习入门(4)--代价函数

    本文链接:https://www.haomeiwen.com/subject/tmryettx.html