代价函数 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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java中clone的用法_java clone是浅拷贝吗

    java中clone的用法_java clone是浅拷贝吗一.Cloneable的用途Cloneable和Serializable一样都是标记型接口,它们内部都没有方法和属性,implementsCloneable表示该对象能被克隆,能使用Object.clone()方法。如果没有implementsCloneable的类调用Object.clone()方法就会抛出CloneNotSupportedException。二.克隆的分类(1)浅克隆(s

    2022年10月14日
  • RNN-bptt简单推导「建议收藏」

    RNN-bptt简单推导「建议收藏」摘要:在前面的文章里面,RNN训练与BP算法,我们提到了RNN的训练算法。但是回头看的时候在时间的维度上没有做处理,所以整个推导可能存在一点问题。那么,在这篇文章里面,我们将介绍bptt(BackPropagationThroughTime)算法如在训练RNN。关于bptt这里首先解释一下所谓的bptt,bptt的思路其实很简单,就是把整个RNN按时间的维度展

  • javascript获取当前时间,按指定格式输出_js获取现在本地时间的代码

    javascript获取当前时间,按指定格式输出_js获取现在本地时间的代码使用js获取当前时间

  • centos7安装kong网关

    centos7安装kong网关下载安装包:https://bintray.com/kong/kong-community-edition-rpm/download_file?file_path=centos/7/kong-community-edition-1.0.2.el7.noarch.rpm运行下面的两个命令进行安装$sudoyuminstallepel-release$sudoyuminstallkong-community-edition-1.0.2.el7.noarch.rpm–nogpgche

  • SpringSecurity配置跨域访问[通俗易懂]

    SpringSecurity配置跨域访问[通俗易懂]说明java后端web服务有很多种方法可以实现跨域访问,配置很简单,今天这里我们用SpringSecurity的方式配置跨域访问,配置方法如下:packagecom.wisea.config;importorg.springframework.context.annotation.Bean;importorg.springframework.security.config.annotation.web.builders.HttpSecurity;importorg.springframe

  • Http中GET和POST请求的区别

    Http中GET和POST请求的区别

    2021年10月30日

发表回复

您的电子邮箱地址不会被公开。

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