无论对于哪种损失,我们都希望损失越小越好。损失,即为预测值与实际值之间的差距(个人感觉
距离只是用来描述差距的一种数学方式)。我们当然希望我们的模型的预测值和真实值之间的差距越小越好。
关于损失函数的终极目标:让损失越小越好!
常见的损失函数
- 经验风险
其中:为常数,一般为,即为样本容量的倒数
- 结构风险
其中:为正则化项;约定$\lambda \geqslant0 \varphi\frac{1}{m}$,即为样本容量的倒数;
0-1损失函数
- 这应该是最直接,也是简单的损失函数了。如果预测值与实际值相同,那么他们之间就没有损失,反之,如果预测值与实际值不同,那么他们之间就存在损失。
- 问题是,如何用数学语言描述没有损失和存在损失,最直接的方法就是,如果没有损失就用0代表,如果存在损失就用1代表。(这就有点像为何使用
随机变量的意思,将描述性语言转化为数学表达式)
绝对值损失函数
- 基于上面的说明,如何描述预测值与实际值之间的差距。用绝对值描述也是一个很直观的感受。毕竟绝对值本身就带有描述距离的性质。
说明:
- 无论是0-1损失函数还是绝对值损失函数,他们都有一个求解上的问题。在描述距离的层面上,他们的直观感受是最直接的,但是不利于求解。
- 主要原因是:通过最小化损失函数过程中,参数是多维的,一般都是采用迭代的方法进行求解(以梯度下降为例),这就涉及到一个问题:求导或求偏导的问题。阶跃和绝对值在分界点出都是不可求导的。所有0-1损失函数和绝对值损失函数的局限性就比较大了,所以不是很常用,但是可以依据这种思想设计更优秀的损失函数。
平方损失函数
-
放在二维及以上的空间中,怎么描述距离呢?最直接的就是
欧氏距离。这是符合直观感受的,也是合理的。就好像绝对值损失函数升华了一样(虽然本质上他们不同,尤其求导时)。 -
最小二乘法
-
比如在
线性回归模型中,就是使用了平方损失函数。- 理论背景:假设样本和噪声都符合高斯分布(中心极限定理),然后通过最大似然估计(MLE),推出最小二乘法。
对数损失函数
- 从这里开始,损失函数的设计就开始不想前面那样直观了。对数损失函数,是引入了概率的想法。它并不是直接指定距离的差距到底是多少,而是给出一个概率值(自然是,实际上更多是)。例如,对于某一个分类类别,如果在样本数据为下出现的概率即越高,说明此时的设计的损失函数值应该越小。
- 但是这回出现一个问题:越高(分类正确的概率),意味着值就越大(从概率上说),但是损失函数的基本要求是分类越准确,损失应该越小才对,这就矛盾了。那怎么解决呢?
- 解决方法:
- 分类正确的概率应该和损失函数的要求(min)想法,所以最直接方法就是在概率前面加个负号,这样概率和损失函数之间就负相关了。但是这又会出现一个问题,概率出现负的,这应该是被允许的。那么怎么办呢?
-
此时,牛皮的就出现了!,它一举解决了两个问题。
- 概率和设计损失函数的要求之间保证负相关,即保证了分类越准确,损失函数的值越小。比如,分类越准确,此时就越从左侧接近于1,此时就越小(>0)(极端情况下位0),损失函数值越小。如果分类错误,此时就越从右侧接近于1,此时就越大(>0)(理论上是),损失函数值越大。
- 同时解决了计算机计算过程中出现的下溢出问题。如果一个概率下的极大似然估计作为构建损失函数的的话,那么由于概率均在之间,且各样本值的概率输出会以累乘的形式出现(独立同分布,极大似然估计),那么就会使这个累乘的值变得非常非常的小(),这就超出了计算机的表示范围。对数函数会将属于中的值放大,但是结论还是保持不变。
Hinge损失函数
- Hinge损失,又称合页损失,铰链损失。(就是英语的翻译)。因为其函数图像想合页。
-
如果与一致,则损失函数值为0,不一会损失函数值为。
-
例如,SVM中的损失函数为Hinge损失函数:
变形为:
其中:
KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲& \begin{array}…
参考:
统计学习方法
https://blog.csdn.net/lz_peter/article/details/79614556(0-1,感知机,合页损失)
指数损失函数
AdaBoost中的损失函数为:
说实话,这个没看懂!另外的问题是:指数族是什么?
损失函数背后的理论依据
- 这里面牵扯到的东西会比较多,理论支撑一般都很难,待补充!