类间不均衡的分类问题的loss

一、focal loss

对每个类别的loss设置不同的权重,通常是对样本比较少的类别的loss给一个稍大的权重,权重一般由样本数量的比例决定。典型的就是focal loss。

1.正负样本数量不平衡的问题

二分类中,经常用交叉熵作为损失函数:

解决方法:对每一类样本设置一个权重,正样本的权重为α,负样本的权重为1−α,则损失函数可以写为:

2.难易样本数量不平衡的问题

解决方法:给难易样本的loss分别加一个权重,权重设为(1−P)γ,其中P表示模型认为某样本属于正样本的概率,此概率越大,则说明该样本越简单,则导致1−P的值越小,即简单样本的权重越小。损失函数loss可以写为:

focal loss的计算方法: 

α正样本的权重,(1−P)γ被称为是正样本中难易样本的调制系数,当P趋近于0时,调制系数趋近于1,对总的loss贡献较大。因此通过控制γ的大小就可以控制模型对难样本的关注程度。但加入了γ后,样本的权重个α其实也会受到影响,所以在多分类中,用focal loss调参的工作量比较大。

(不用刻意在损失函数中区分难样本和简单样本,只对每个类别按样本数设置不同比例的权重。)

二、GHM Loss

 Focal Loss 注重了对 hard example 的学习,但不是所有的 hard example 都值得关注,有一些 hard example 很可能是离群点,这种离群点当然是不应该让模型关注的。

GHM (gradient harmonizing mechanism) 是一种梯度调和机制。

GHM Loss 首先规定了一个梯度模长 g:

g\ =\ \left| p-y\right| \begin{cases}1-p&y=1\\ p&y=0\end{cases}

其中, p是模型预测概率值, y是 ground-truth 的标签值,这里以二分类为例,取值为 0 或 1。可发现, g表示检测的难易程度, g越大则检测难度越大。

GHMLoss\ =\ \sum^{N}_{i=1} \frac{​{}L_{CE}\left( p_{i},y_{i}\right) }{GD\left( g_{i}\right) }

三、Dice Loss 

Dice Loss 主要来自于 dice coefficient,dice coefficient 是一种用于评估两个样本的相似性的度量函数。

定义:取值范围在 0 到 1 之间,值越大表示越相似。若令 X 是所有模型预测为正的样本的集合,Y 为所有实际上为正类的样本集合,dice coefficient 可重写为:

dice\ =\ \frac{2TP}{2TP+FN+FP} \ =\ \frac{2\times precision\times recall}{precision\ +\ recall} \ =\ F1

连续:

dice\ =\ \frac{2p_{1}\times y_{1}+\epsilon }{p_{1}+y_{1}+\epsilon }

当样本为负样本时,y1=0,loss 就为 0 了,需要加一个平滑项。加上一个调节系数:

DSC\ =\ 1-\ \frac{2\left( 1-p_{1}\right) p_{1}\times y_{1}+\epsilon }{\left( 1-p_{1}\right) p_{1}+y_{1}+\epsilon }

你可能感兴趣的:(Deep,Learning,Machine,Learning,分类,人工智能)