focal loss是什么?

  统计/机器学习 损失函数    浏览次数:5403        分享
3

focal loss是什么?能简单介绍一下吗?

 

新同学   2018-11-17 14:12



   1个回答 
13

focal loss是在这篇论文(Focal Loss for Dense Object Detection)中提出的,是对log loss(或者交叉熵)的一种推广。

对于LogLoss,我们比较熟悉

$$\text{LogLoss}=-y\log(p)-(1-y)\log(1-p)$$

而focal loss是对预测值$p$本身加了权重$\gamma$,

$$\text{FocalLoss}=-y(1-p)^\gamma\log(p) - (1-y)p^{\gamma}\log(1-p)$$

当权重$\gamma=0$,focal loss就和log loss等价了。$\gamma$可以取大于0的数,比如0.1,0.5,1,2等等。如下图:


那这个权重有什么作用呢?通过减少易分类样本的权重,从而使得模型在训练时更专注于难分类的样本。所谓“易分样本”就是正样本并且预测出来的概率$p$接近1或者负样本并且预测出来的概率接近0。


此外,focal loss还结合了正负样本的比重(解决正负样本非平衡问题),增加了另一个权重$\alpha$,这个$\alpha$的取值在0到1之间。

$$\text{FocalLoss}=-\alpha y(1-p)^\gamma\log(p) - (1-\alpha)(1-y)p^{\gamma}\log(1-p)$$

比如正样本较少,你想增加正样本的权重,可以设置$\alpha>0.5$

SofaSofa数据科学社区DS面试题库 DS面经

strong.man   2018-12-17 12:18

多谢! - 新同学   2018-12-21 12:28


  相关讨论

向量梯度下降优化的最佳步长?

hinge loss的公式是什么?

Hamming Loss汉明损失的计算公式是什么?

怎么理解surrogate loss function代理损失函数?

关于损失函数h(x), J(x), cost的概念问题

logloss的取值范围是多少?一般好的分类器能达到多少?

二元分类为什么不能用MSE做为损失函数?

python求logloss

huber loss是什么?什么时候用?

最小二乘回归和线性回归

  随便看看

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容

推荐系统里的ALS是什么意思?

在jupyter后台进程没有shutdown的notebook一直会占用内存吗?

matplotlib.pyplot画图的标题中插入变量

机器学习中的奥卡姆剃刀原理是什么意思