|
|
|
|
移动端

2.5.9 损失函数

《深度学习与计算机视觉:算法原理、框架应用与代码实现》第2章 深度学习和计算机视觉中的基础数学知识,本章会尽量从定性的角度讲解一些与深度学习、计算视觉紧密联系的基础数学概念,不一定会很严谨细致,但力求简单、形象。本节为大家介绍损失函数。

作者:叶韵来源:机械工业出版社|2017-11-16 18:31

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
分享:
大家都在看
猜你喜欢

读 书 +更多

SQL Server 2005奥秘

本书是作者深入研究SQL Server 2005数据库体系结构和内部机制的经验总结。 全书不拘泥于具体的管理操作,而是通过对存储的数据和日志文件...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊