|
|
|
|
移动端

2.5.9 损失函数

《深度学习与计算机视觉:算法原理、框架应用与代码实现》本书全面介绍了深度学习及计算机视觉中最基础的知识,并结合最常见的应用场景和大量实例,带领读者进入丰富多彩的计算机视觉领域。作为一本“原理+实践”教程,本书在讲解原理的基础上,通过有趣的实例带领读者一步步亲自动手,不断提高动手能力,而不是枯燥和深奥原理的堆砌。本节为大家介绍损失函数。

作者:叶韵来源:机械工业出版社|2017-10-23 17:07

【新品产上线啦】51CTO播客,随时随地,碎片化学习

2.5.9  损失函数

优化问题只是一个单纯的函数值最小化问题,和机器学习关联起来,靠的是如何定义要优化的函数,这个函数从优化的角度来讲叫做目标函数(objective function),机器学习中一般把这个函数叫做损失函数(loss function),或是代价函数(cost function),本书中我们采用损失函数的名字。

因为中文翻译的关系,损失函数显得不是那么顾名思义。损失函数度量的是模型预测的值和真实值之间的误差。举个简单例子,如图2-53所示。

图2-53中是一个典型的线性回归问题,包含一组数据点和函数f(x)=ax+b的曲线。也许看到这里,很多人一下就想到了最小二乘法,我们不妨就用最小二乘法的优化判据作为损失函数:

L(a,b)就是损失函数,其中(xi,yi)为图2-53中的数据点,n为数据的个数,在图2-53所示的例子中,n=9。对于损失函数而言,用于拟合数据的公式ax+b中的参数a、b,也就是斜率和截距,就成了损失函数中的变量。我们画出损失函数在一定区间上的值,如图2-53中右上的图。可以看到这样就已经转化成了一个典型的优化问题了,并且这个情况中还是个凸优化。不过可以看到如右上图的曲面所示,直接用平方和作为损失函数,很难一眼看出哪里是最低点。因为中间一段梯度很小的区域,不仅是肉眼,即使梯度法也会在这片区域缓慢下降。面对这种情况,可以考虑取log,让不同量级之间的值更容易比较,特别是增加小值区域的敏感度,将损失函数更新如下:

结果就是图2-53所示中右下图的曲面。这样肉眼非常容易就能分辨出最低点所在,算法收敛也容易得多。可以看到,损失函数在机器学习问题中的重要性。损失函数不仅定义了问题,其设计还直接决定了优化算法收敛的性能,甚至是否能够成功收敛。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Linux标准教程

本书以Linux Redhat 9.0中文版为基础编写,从易用性和实用性角度出发主要介绍Linux Redhat 9.0中文版的应用知识,通过本书的学习,相信初中...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊