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


相关推荐

  • 设置java环境变量path_配置java环境变量path怎么设置[通俗易懂]

    设置java环境变量path_配置java环境变量path怎么设置[通俗易懂]只需要在path中增加%JAVA_HOME%\bin;即可。完整的JDK安装及环境变量配置如下:安装JDK选择安装目录安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装jre。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)安装jdkjre建议安装在默认位置。安装完JDK后配置环境变…

  • 高级C/C++编译技术之读书笔记(二)之库的概念

    本节思维导图1.位置无关代码(PIC)首先,需要理解加载域与运行域的概念。加载域是代码存放的地址,运行域是代码运行时的地址。为什么会产生这2个概念?这2个概念的实质意义又是什么呢?在一些场合,

    2021年12月28日
  • scrapy安装步骤_scrapy官网

    scrapy安装步骤_scrapy官网安装scrapy过程中出现各种包安装错误,所以自己一直看教程知道scrapy安装需要准备好各种环境。这些包按照从下到上的顺序下载,lxml这个包按下文教程安装。不想看过多文字和图片的懒人们可看教程视频:http://www.iqiyi.com/w_19rz36pjft.html利用pipinstall命令安装pywin32,pyopenssl.这两个包可在cmd安装成功pip…

  • 八、JDK1.8中HashMap扩容机制

    八、JDK1.8中HashMap扩容机制导读前面文章一、深入理解-Java集合初篇中我们对Java的集合体系进行一个简单的分析介绍,上两篇文章二、Jdk1.7和1.8中HashMap数据结构及源码分析、三、JDK1.7和1.8HashMap数据结构及源码分析-续中我们分别对JDK1.7和JDK1.8中HashMap的数据结构、主要声明变量、构造函数、HashMap的put操作方法做了深入的讲解和源码分析。四、深入理解Java中的HashMap「网易面试快答」文章中主要针对面试中常见的面试问题进行简单解答。五、深入理解JDK1.7中H

  • 运行时异常与非运行时异常的区别

    运行时异常与非运行时异常的区别

  • git需要安装吗(git与gitlab的区别)

    git需要安装吗(git与gitlab的区别)git和github的区别及安装1.什么是Git,与Github的关系(1)Git的定义(2)Github是什么(3)Git和Github的关系2.Git的安装(1)Windows系统上的安装(2)Linux系统上的安装(部分,参考[git官网](https://git-scm.com/download/linux”DownloadforLinu…

发表回复

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

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