FocalL1 EIOU 损失函数公式推导
时间: 2024-01-16 12:04:21 浏览: 112
Focal Loss是一种在解决类别不平衡(class imbalance)问题时,相比交叉熵损失函数更为有效的损失函数。Focal Loss是由Lin等人在2017年提出的,其基本思路是通过调整难易程度来使得网络更加关注那些难以分类的样本。
Focal Loss的公式如下:
$$FL(p_t) = -(1-p_t)^\gamma log(p_t)$$
其中,$p_t$ 是模型预测输出的概率值,$\gamma$ 是一个可调节的超参数,当 $\gamma=0$ 时,Focal Loss就是标准的交叉熵损失;当 $\gamma>0$ 时,Focal Loss就会对易分类样本的损失进行一定的降权,增加难分类样本的权重。
接下来,我们来推导一下Focal Loss的公式。首先,我们来回顾一下二分类问题中的交叉熵损失函数:
$$CE(p, y) = -ylog(p)-(1-y)log(1-p)$$
其中,$p$ 是模型预测输出的概率值,$y$ 是样本的真实标签值。在类别不平衡问题中,对于一些特别难分类的样本,其真实标签为正类,但是模型预测的概率值却非常小,这些样本会对交叉熵损失函数的计算产生很大的贡献,导致模型难以收敛。
因此,我们需要对易分类样本的损失进行一定的降权,增加难分类样本的权重。为了实现这个目的,我们可以引入一个可调节的超参数 $\gamma$,将交叉熵损失函数进行改进:
$$FL(p, y) = -y(1-p)^\gamma log(p)-(1-y)p^\gamma log(1-p)$$
其中,$(1-p)^\gamma$ 和 $p^\gamma$ 分别表示对易分类样本和难分类样本的惩罚项,$\gamma$ 越大,难分类样本的权重就越大。
然而,这种形式的Focal Loss存在一个问题,就是难分类样本的概率值 $p$ 可能非常小,导致 $(1-p)^\gamma$ 的值非常大,这会使得损失函数的值变得非常大,从而影响模型的训练。因此,为了缓解这个问题,Lin等人对 $(1-p)^\gamma$ 进行了一次指数变换,将其转化为 $(1-p)^{\gamma log(1-p)}$,于是得到了最终的Focal Loss公式:
$$FL(p_t) = -(1-p_t)^{\gamma log(1-p_t)} log(p_t)$$
其中,$p_t$ 表示模型预测输出的概率值,$t$ 表示样本的真实标签,$\gamma$ 是一个可调节的超参数,一般取值范围为 $[0,5]$。
阅读全文