Tutorial教程:机器/深度学习中的损失函数(loss function)

拟墨画扇 提交于 2019-12-26 19:39:41

机器/深度学习中的损失函数(loss function)


机器学习大部分的算法都有希望最大化/最小化一个函数/指标,这个函数被称为「目标函数(Object function)」(如果修过最佳化理论对这个名词应该不陌生,整本书都在讲这个),比如K-means群集分析就是希望「最小化群内的资料和群心的误差平方和」,PCA则是希望「投影向量让投影后的资料变异量最大化」。不同的演算法用到的假设都不太一样,所以目标函数都不一样。人工智慧(几乎都是深度学习)用到的目标函数基本上都是「损失函数(loss function)」,而模型的好坏有绝大部分的因素来至损失函数的设计。

损失函数基本上可以分成两个面向(分类和回归),基本上都是希望最小化损失函数。

本篇文章将介绍

1.「什么叫做损失函数为什么是最小化」

2.回归常用的损失函数:均方误差(Mean square error,MSE)和平均绝对值误差(Mean absolute error,MAE),和这两个方法的优缺点。

3.分类问题常用的损失函数:交叉熵(cross-entropy)。

什么叫做损失函数跟为什么是最小化

在回归的问题中,我们通常希望模型很棒,预测出来的东西可以跟实际的值一样。但现实是不可能预测出的值跟实际值是一样的,预测出来的东西基本上跟实际值都会有落差,这个落差在统计上称为「残差(residual)」。

换个角度解释,如果我们是做股票预测模型,我们预测指数应该到10000点,结果实际是11000点,中间差了1000点,如果我们照着模型去投资,我们是不是损失了1000点的差异,所以应该不会有人用「我们模型跟实际值有1000点的残差」来解释吧。
所以损失函数中的损失就是**「实际值和预测值的残差」**。
数学上都会用
y表示实际值,ŷ表示预测值。「损失/残差」数学表示为
loss / residual

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!