机器/深度学习中的损失函数(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
来源:CSDN
作者:MrCharles
链接:https://blog.csdn.net/MrCharles/article/details/103708331