前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Huber Loss和Focal Loss的原理与实现

Huber Loss和Focal Loss的原理与实现

原创
作者头像
CodeInHand
发布2019-02-18 18:44:55
7.2K0
发布2019-02-18 18:44:55
举报
文章被收录于专栏:Pytorch实践

Huber Loss主要用于解决回归问题中,存在奇点数据带偏模型训练的问题;Focal Loss主要解决分类问题中类别不均衡导致的模型训偏问题。

一.Huber Loss

1. 背景说明

对于回归分析一般采用MSE目标函数,即:Loss(MSE)=sum((yi-pi)**2)。 对于奇异点数据,模型给出的pi与真实yi相差较远,这样Loss增大明显,如果不进行Loss调整,模型很容易将奇异点数据进行过拟合。

2. 数学公式

Huber Loss
Huber Loss

式子中delta是一个边界,用于判断是否为较为奇异的数据点,当在这个边界内的数据默认使用MSE Loss,大于这个边界的数据将Loss减小,使用线性函数。这种方法能降低奇异数据点对于Loss计算的权重,避免模型过拟合。

3. Tensorflow实现

huber loss Tensorflow实现
huber loss Tensorflow实现

一.Focal Loss

1. 背景说明

对于分类问题,当各类别的训练数据不均衡时,模型训练会优先数据比重较多的类别,对于较少数据的类别准确率可能较差,模型容易被带偏。

(1) Cross Entropy

交叉熵Loss
交叉熵Loss

(2) Focal Loss

何凯明挂名paper。

Focal loss
Focal loss

论文指出,对于二分类任务,alpha取值0.25, gamma取值2效果比较好,可以根据自身任务调整参数

对于二分类问题公式退化为:

Focal loss二分类
Focal loss二分类

2. Tensorflow实现

Focal Loss Tensorflow实现
Focal Loss Tensorflow实现

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档