首页 运营 正文
代价函数(代价函数(Cost function))

来源:网友投稿 浏览数:9737 关注:98人

大家好,近很多小伙伴在关注代价函数,以下是(www.liyan0123)小编整理的与代价函数相关的内容分享给大家,一起来看看吧。

本文目录一览:

代价函数(Cost function)

假设函数:

这样代价函数,是非凸函数,如果使用梯度下降,几乎不能收敛到全局小值,所以我们需要寻找其他的是凸函数的代价函数,这样就可以使用之前学过的算法了。

(这里有一门知识,凸 分析,凸优化)

代价函数

可以这样做是因为y要么是1,要么是0。

当假设 (θ)=1时,如果y是1,那么cost=0;如果y=0,那么cost=∞。

当假设 (θ)=0时,如果y时1,那么cost=∞;如果y=0,那么cost=0。

损失函数和代价函数一样吗

损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的小化就是损失函数(大化的不叫损失或代价函数)。

在slam中

损失函数(Lossfunction residual)

损失函数是你的误差函数,是观测数据与估计值的差,

代价函数(Costfunction)

代价函数类似于核函数?那什么是核函数?剔除外点

比如在优化的时候,由于无匹配等原因,把原本不应该加到图中的边给加进去了,误差大的边梯度也大,意味着调整与它相关的变量会使目标函数下降更多。所以当误差很大时,二范数增长得太快,二核函数保证每条边的误差不会大得没边而掩盖掉其他的边。具体是将原先误差的二范数度量替换成一个增长没那么快的函数,同时保证光滑 (不然没法求导),使优化结果更加稳健,所以又叫鲁棒核函数。常见的Huber核函数。

ceres中的核函数用来减小Outlier的影响,对应g2o中的edge-setRobustKernel()。

深度学习的核函数:

一般定义是将原始表达转换到一个隐式特征空间去,该空间具有更好的特征可分 质。

在普通优化问题中,为了抑制outlier对结果影响太大,往往需要加一个核函数,来禁止或降低那些离散点对终结果的影响。

在机器学习中,(一层线 卷积结构+一层核函数)*N的特殊结构,能拟合任何函数的原因。但如果只有N层的线 结构,那后的组合还是线 结构,就相当于以前的感知机(perceptron)。使得类似神经网络结构从线 变成非线 的,就是每一层后加的核函数/激活函数。

从上边我们可以看出,核函数的作用,是将原始结果空间映射到一个新的输出空间,在这个映射过程中可以进行滤波,转换后的空间具有更好的特征可分 质。

代价函数

而优解即为代价函数的小值,根据以上公式多次计算可得到

代价函数的图像:

可以看到该代价函数的确有小值,这里恰好是横坐标为1的时候。

如果更多参数的话,就会更为复杂,两个参数的时候就已经是三维图像了:

高度即为代价函数的值,可以看到它仍然有着小值的,而到达更多的参数的时候就无法像这样可视化了,但是原理都是相似的。

因此,对于回归问题,我们就可以归结为得到代价函数的小值:

3、为什么代价函数是这个呢

首先思考:什么是代价?

简单理解代价就是预测值和实际值之间的差距,那对于多个样本来说,就是差距之和。

如果我们直接使用

,这个公式看起来就是表示假设值和实际值只差,再将每一个样本的这个差值加起来不就是代价了吗,但是想一下,如果使用这个公式,那么就单个样本而言,代价有正有负,全部样本的代价加起来有可能正负相抵,所以这并不是一个合适的代价函数。

所以为了解决有正有负的问题,我们使用这里写 描述,即绝对值函数来表示代价,为了方便计算小代价(计算小代价可能用到小二乘法),我们直接使用平方来衡量代价,即使用这里写 描述来表示单个样本的代价,那么一个数据集的代价为:这里写 描述。

那么是否使用平方之和就没有什么问题了?

仔细想想,其实很容易想到,代价函数应该与样本的数量有关,否则一个样本和n个样本的差距平方和之间的比较也没有多少意义,所以将这里写 描述乘以这里写 描述,即代价函数为:这里写 描述,这里取2m而非m,是为了方便计算。

以上就是代价函数的相关介绍,希望能对大家有所帮助。

获赞:862 | 收藏:48 | 发布时间:2024-05-15 06:23:43

  •  标签:  

原文链接:http://www.liyan0123.com/43350.html

=========================================

特别声明:以上内容来源于网友投稿,编辑整理发布,如有不妥之处,请与我方联系删除处理。

推荐阅读