代价函数 cost function

代价函数 cost function代价函数在监督学习的回归问题中,代价函数就是用于找到最优解的目的函数,反应了预测函数的准确性。代价函数的值越小,说明在回归问题的中,计算机程序对数据拟合的越好。也就是假设函数越正确。比如,对于这个假设函数(可以看成是求房价的假设函数):代价函数是:也就是预测值与真实值的差的平方和,再除以2m(2倍样本数量)。在假设函数中:θ0和θ1两个参数,不同的参数会有不同的假设函数如下图

大家好,又见面了,我是你们的朋友全栈君。

代价函数

在监督学习的回归问题中,代价函数就是用于找到最优解的目的函数,反应了预测函数的准确性。代价函数的值越小,说明在回归问题的中,计算机程序对数据拟合的越好。也就是假设函数越正确。


比如,对于这个假设函数(可以看成是求房价的假设函数): 

假设函数
代价函数是:
代价函数
也就是 预测值与真实值的差的平方和,再除以2m(2倍样本数量)。

在假设函数中:θ0和θ1两个参数,不同的参数会有不同的假设函数
如下图所示:
预测函数图

在拟合数据的过程中,我们要不断的修改θ0和θ1这两个参数,来得到更好的参数,从而得到更准确的假设函数,也就就是预测函数。那么我们怎么来判断这些参数是否选取的更好,假设函数是否更准确呢?这时候就要用代价函数来反映这些问题。

从cost function中我们可以知道,代价函数的值越小那么我们的参数就选取的越好,假设函数预测的结果也就更准确。


举个简单例子:

这里是只有一个参数的假设函数:
假设函数

我们把假设函数的参数设置成0.5 那么他的图像是这样子:红色的是真实值。黑色直线是假设函数。
这里写图片描述

它的的假设函数是误差平方和,(毕竟有个平方在这里)为了减少极个别极端的数据,我们把误差平方和再乘以1/2m.
cost fuction

然后我们不断改变参数θ1的值:…-0.5….0….0.5….1.5….2…
对代价函数作图:
cost function plot

然后我们知道代价函数的值越小,说明参数θ1选取的越好,假设函数预测就越准确。

上面是一个参数的假设函数,如果有两个参数的假设函数的话,他的代价函数图像是这样的三维立体图:
cost function surf

我们可以找到在图像的最低点,也就是代价函数的最小值。这个时候的参数最准确,假设函数预测的结果也最准确。
然而在实际中,参数往往不止一个,有多个参数,很多时候无法作代价函数的图像。那么这个时候我们就通过判断取得代价函数最小值的时候,来
选择假设函数的参数。
minimize cost function

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134486.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 批处理for循环_批处理循环语句

    批处理for循环_批处理循环语句一个非常简单的批处理命令,循环一个目录下的子目录,并将该子目录下的文件复制到新建文件夹下。@echooffsetoutpath=c:\out\setinpath=c:\in\for%%Iin(20200701,20200702,20200703,20200704,20200705,…

    2022年10月12日
    0
  • ffmpeg 入门_python入门笔记

    ffmpeg 入门_python入门笔记写在前面最近在读《FFmpeg从入门到精通》这本书,结合着雷神的博客,学习音视频的知识~在学习的过程中,也记录了一些摘要。因为是边看边记的,所以一些要点在看到后面的时候,需要反过来整理前面的。我用有道云笔记写的markdown没法加图片,所以就先把这部分发了出来。后续会针对内容和排版一步步的优化,如果你被这凌乱的内容辣到了眼睛,请谅解哈哈哈~2019.06.18第一章+第二章知识点(未…

    2022年4月19日
    48
  • Java NIO与IO的差别和比較

    Java NIO与IO的差别和比較

    2021年12月3日
    42
  • 编写socket套接字的步骤_windows7任务栏组成部分

    编写socket套接字的步骤_windows7任务栏组成部分详细内容请见书Windows程序设计珍藏版1081页或请见文章:https://www.jianshu.com/p/066d99da7cbd

    2022年8月18日
    3
  • java发送邮件-模板

    java发送邮件-模板今天写完了一个关于使用模板发送邮件的代码,作为例子保存着,希望以后用得着,也希望能够帮助到需要帮助的人以163网易邮箱为例,使用java发送邮件,发送以邮件时使用模板(.ftl文件转换为html)发送邮件内容,并附带上附件,可抄送给多个人。项目的结构目录如下邮箱配置文件mail.properties参数如下#mailsendersettings#forexample:smtp.1

    2022年5月15日
    31
  • ubuntu18.04安装opencv教程_Ubuntu18安装opencv

    ubuntu18.04安装opencv教程_Ubuntu18安装opencv最近opencv3.4.1发布了,想换个新的试试鲜,于是把配置的过程通过博文的方式记录下来,方便查阅。本教程原为3.3.0,但经过博主亲测,3.4.0、3.4.1皆适用1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工。下载链接http://opencv.org/releases.html,选择sources版本2.解压下…

    2022年9月1日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号