大家好,又见面了,我是你们的朋友全栈君。
代价函数
在监督学习的回归问题中,代价函数就是用于找到最优解的目的函数,反应了预测函数的准确性。代价函数的值越小,说明在回归问题的中,计算机程序对数据拟合的越好。也就是假设函数越正确。
比如,对于这个假设函数(可以看成是求房价的假设函数):
代价函数是:
也就是 预测值与真实值的差的平方和,再除以2m(2倍样本数量)。
在假设函数中:θ0和θ1两个参数,不同的参数会有不同的假设函数
如下图所示:
在拟合数据的过程中,我们要不断的修改θ0和θ1这两个参数,来得到更好的参数,从而得到更准确的假设函数,也就就是预测函数。那么我们怎么来判断这些参数是否选取的更好,假设函数是否更准确呢?这时候就要用代价函数来反映这些问题。
从cost function中我们可以知道,代价函数的值越小那么我们的参数就选取的越好,假设函数预测的结果也就更准确。
举个简单例子:
这里是只有一个参数的假设函数:
我们把假设函数的参数设置成0.5 那么他的图像是这样子:红色的是真实值。黑色直线是假设函数。
它的的假设函数是误差平方和,(毕竟有个平方在这里)为了减少极个别极端的数据,我们把误差平方和再乘以1/2m.
然后我们不断改变参数θ1的值:…-0.5….0….0.5….1.5….2…
对代价函数作图:
然后我们知道代价函数的值越小,说明参数θ1选取的越好,假设函数预测就越准确。
上面是一个参数的假设函数,如果有两个参数的假设函数的话,他的代价函数图像是这样的三维立体图:
我们可以找到在图像的最低点,也就是代价函数的最小值。这个时候的参数最准确,假设函数预测的结果也最准确。
然而在实际中,参数往往不止一个,有多个参数,很多时候无法作代价函数的图像。那么这个时候我们就通过判断取得代价函数最小值的时候,来
选择假设函数的参数。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134486.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...