【学习】focal loss 损失函数

focal loss用于解决正负样本的不均衡情况

通常我们需要预测的正样本要少于负样本,正负样本分布不均衡会带来什么影响?主要是两个方面。

  1. 样本不均衡的话,训练是低效不充分的。因为困难的正样本数量较少,大部分时间都在学习没有用的负样本。
  2. 简单的负样本可能会压倒训练,导致训练退化。比如10000个人里面只有10个人为正义发声,其余的人都为邪恶发声,那么正义的声音就会被邪恶的声音淹没。
    比如假如一张图片上有10个正样本,每个正样本的损失值是3,那么这些正样本的总损失是10x3=30。而假如该图片上有10000个简单易分负样本,尽管每个负样本的损失值很小,假设是0.1,那么这些简单易分负样本的总损失是10000x0.1=1000,那么损失值要远远高于正样本的损失值。所以如果在训练的过程中使用全部的正负样本,那么它的训练效果会很差。

focal loss的公式

首先看交叉熵损失函数:

其中,y是样本的标签值,而p是模型预测某一个样本为正样本的概率,对于真实标签为正样本的样本,它的概率p越大说明模型预测的越准确,对于真实标签为负样本的样本,它的概率p越小说明模型预测的越准确,

上面公式可以变化如下:

注意:这里的log(x)其实就是ln(x)

如果我们定义Pt 为如下形式:

那么公式可以继续转化为:

而对于focal loss来讲,就是要解决正负样本的权重问题。

focal loss 公式:

focal loss为什么起作用

参考b站:https://www.bilibili.com/video/BV1YX4y1J7Te/?spm_id_from=333.788&vd_source=4564794c2a933ffdf65d980ee25648f1

相关推荐
无风听海13 小时前
神经网络之从自由度角度理解方差的无偏估计
神经网络·机器学习·概率论
麦麦大数据13 小时前
F031 Vue+Flask深度学习+机器学习多功能识别系统
vue.js·深度学习·flask
后端小张14 小时前
【鸿蒙开发手册】重生之我要学习鸿蒙HarmonyOS开发
开发语言·学习·华为·架构·harmonyos·鸿蒙·鸿蒙系统
java1234_小锋14 小时前
TensorFlow2 Python深度学习 - 模型保存与加载
python·深度学习·tensorflow·tensorflow2
芒果量化14 小时前
Optuna - 自动调参利器&python实例
开发语言·python·算法·机器学习
麦麦大数据14 小时前
D025 摩托车推荐价格预测可视化系统|推荐算法|机器学习|预测算法|用户画像与数据分析
mysql·算法·机器学习·django·vue·推荐算法·价格预测
.NET修仙日记15 小时前
.NET WinForms + WPF 综合学习路线:从传统到现代的.NET桌面开发
学习·c#·.net·wpf·.net core·winforms
CoovallyAIHub15 小时前
IDEA研究院发布Rex-Omni:3B参数MLLM重塑目标检测,零样本性能超越DINO
深度学习·算法·计算机视觉
crary,记忆15 小时前
MFE: React + Angular 混合demo
前端·javascript·学习·react.js·angular·angular.js
樱花的浪漫16 小时前
Cuda reduce算子实现与优化
数据库·人工智能·深度学习·神经网络·机器学习·自然语言处理