损失函数

2021-03-02  本文已影响0人  南国_

1.回归任务的损失函数

 网络输出是一个连续的数值。
 常用的损失函数为:绝对值误差, 平方差。

1)绝对值误差
 绝对误差函数是非常直观的损失函数。
\mathit{L} = \frac{1}{n}\sum_{i=1}^{n}\left | y_{i} - f_{\theta }\left ( x_{i} \right ) \right |

绝对值误差.png

 ○ 得到的解会比较稀疏:因而在高纬任务中表现比较好、预测速度快
 ○ 对异常值不敏感

2)方差函数
 是回归任务中最常用的损失函数。
\mathit{L} = \frac{1}{n}\sum_{i=1}^{n}\left ( y_{i} - f_{\theta }\left ( x_{i} \right )\right )^{2}

方差损失函数.png

 ○ 比绝对误差函数得到的结果更精准
 ○ 对大的误差输出更敏感
 ○ 对outliers很敏感

2.分类任务的损失函数

 网络的输出为一个类别。
 损失函数: hinge loss, Cross-entropy loss

1)hinge loss:非概率的解释

 单个样本的损失值:
\mathit{L}_{i} = \sum_{j\neq y_{i}}max\left ( 0,s_{j} - s_{y_{i}}+\Delta \right )

 全部样本的损失值:
\mathit{L} = \frac{1}{N}\sum_{i}\sum_{j\neq y_{i}}\left [max\left ( 0,f\left ( x_{i};W \right )_{j} - f\left ( x_{i};W \right )_{y_{i}}+\Delta \right ) \right ]

2)Softmax

 概率解释,将输出转换为概率函数。
 概率的取值范围为(0~1),且所有类别的概率之和为1。

\color{red}{以上softmax分类的损失函数称为:交叉熵损失函数}

3.案例

4.分类任务为什么不用均方差作为损失函数?

1)使用均方差作为损失函数

 当使用均方差作为softmax分类的损失函数时,梯度公式为:


均方差损失函数的梯度值.png
2)使用交叉熵作为损失函数

 当使用交叉熵作为softmax分类的损失函数时,梯度公式为:


交叉熵损失函数的梯度值.png

5.多标签分类

1)Sigmoid函数公式

\sigma \left ( l_{i} \right ) = \frac{1}{1+e^{-l_{i}}}

2)多标签分类损失函数

L_{i} = -\sum_{k}^{}y_{k}\cdot log\left ( \sigma \left ( l_{i} \right ) \right )+\left ( 1-y_{k}\right )log\left ( 1-\sigma \left ( l_{i} \right ) \right )

上一篇 下一篇

猜你喜欢

热点阅读