代价函数

来源:互联网 发布:淘宝上买手机靠谱吗? 编辑:程序博客网 时间:2024/04/28 10:17

一,什么是代价函数 
我在网上找了很长时间代价函数的定义,但是准确定义并没有,我理解的代价函数就是用于找到最优解的目的函数,这也是代价函数的作用。

二,代价函数作用原理 
对于回归问题,我们需要求出代价函数来求解最优解,常用的是平方误差代价函数。

比如,对于下面的假设函数: 
这里写图片描述

里面有θ0和θ1两个参数,参数的改变将会导致假设函数的变化,比如: 
这里写图片描述

现实的例子中,数据会以很多点的形式给我们,我们想要解决回归问题,就需要将这些点拟合成一条直线,找到最优的θ0和θ1来使这条直线更能代表所有数据。 
这里写图片描述

而如何找到最优解呢,这就需要使用代价函数来求解了,以平方误差代价函数为例。 
从最简单的单一参数来看,假设函数为: 
这里写图片描述

平方误差代价函数的主要思想就是将实际数据给出的值与我们拟合出的线的对应值做差,这样就能求出我们拟合出的直线与实际的差距了。

这里写图片描述

为了使这个值不受个别极端数据影响而产生巨大波动,采用类似方差再取二分之一的方式来减小个别数据的影响。这样,就产生了代价函数: 
这里写图片描述

而最优解即为代价函数的最小值,根据以上公式多次计算可得到 
代价函数的图像: 
这里写图片描述

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

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

高度即为代价函数的值,可以看到它仍然有着最小值的,而到达更多的参数的时候就无法像这样可视化了,但是原理都是相似的。 
因此,对于回归问题,我们就可以归结为得到代价函数的最小值: 
这里写图片描述


以上很多都是个人见解,如果有不对的地方还请大家指点。


SAD(Sum of Absolute Difference)=SAE(Sum of Absolute Error)即绝对误差和 
SATD(Sum of Absolute Transformed Difference)即hadamard变换后再绝对值求和 
SSD(Sum of Squared Difference)=SSE(Sum of Squared Error)即差值的平方和 
MAD(Mean Absolute Difference)=MAE(Mean Absolute Error)即平均绝对差值 
MSD(Mean Squared Difference)=MSE(Mean Squared Error)即平均平方误差

0 0
原创粉丝点击