Binary Cross Entropy
参考Understanding binary cross-entropy / log loss
一、Introduction
训练一个二元分类器( binary classifier)的时候,往往会用到binary cross-entropy / log loss作为损失函数。下面详细介绍这个损失函数binary cross-entropy
二、A Simple Classification Problem
比如说给10个点分类,只有两个类别:Green or Red。设Green为positive,label=1,Red为negative,label=0.
训练一个bianry classifier的作用就是得出某一个点属于positive的概率。
评估预测概率的好坏标准:损失函数binary cross-entropy
三、Loss Function: Binary Cross-Entropy / Log Loss
- y is the label (1 for positive points and 0 for negative points)
- p(y) is the predicted probability of the point being positive for all N points.
公式设计的目的:(注:p(y)代表该样本属于positive的概率 )
对于positive样本 y=1,loss= - log(p(y)) , 当p(y)越大时,loss越小。最理想情况下p(y)=1,loss=0
对于negative样本 y=0,loss= - log(1-p(y)), 当p(y)越小时,loss越小。最理想情况下p(y)=0,loss=0
因此 Binary Cross-Entropy 作为损失函数能够度量分类的准确性。降低loss的过程就使得
- y=1的样本,得到的预测概率p(y)变大
- y=0的样本,得到的预测概率p(y)变小
四、补充:
Entropy
熵(entropy)用来衡量一个分布q(y)的不确定性。假如样本全是positive的,那就没有不确定性了,因为样本必然是positive的,此时熵=0 。当样本一半是positive一半是negative的时候,不确定性是最大的,此时熵也是最大的。
熵的计算公式:
Cross-Entropy
q(y)是真实分布,p(y)是预测的分布。计算两个分布之间的交叉熵:
假设模型完美,则q(y)=p(y),此时会有 交叉熵 = 熵。但这基本不可能,一般交叉熵会比在真实分布上计算出来的熵要大:
这个差值叫KL散度
Kullback-Leibler Divergence
KL Divergence用来衡量两个分布之间的不相似性(dissimilarity )。
两个分布越相似,KL散度值越小。
Binary Cross Entropy相关推荐
- 快速理解binary cross entropy 二元交叉熵
Binary cross entropy 二元交叉熵是二分类问题中常用的一个Loss损失函数,在常见的机器学习模块中都有实现.本文就二元交叉熵这个损失函数的原理,简单地进行解释. 首先是二元交叉熵的公 ...
- Binary Cross Entropy真的适合多标签分类吗?
个人曾在负责一个多标签文本分类项目时对于多标签分类(multi-label classification)的loss选择.forward尾层处理感到迷惑,当时查找了一下资料确定了一种方案: 1.以类别 ...
- smooth l1(huber)+binary cross entropy详解(tensorflow+pytorch)
前言 上篇讲到yolo v2 loss中使用了两个loss分别时wh使用的smoothl1 loss以及其他的BCEloss,这里做个扩展介绍,并对比pytorch以及tensorflow的api接口 ...
- AAAI 2019 Oral | 把Cross Entropy梯度分布拉‘平’,就能轻松超越Focal Loss
单阶段物体检测(One-stage Object Detection)方法在模型训练过程中始终面临着样本分布严重不均衡的问题,来自香港中文大学的研究者们在论文 Gradient Harmonized ...
- python损失函数实现_pytorch 实现cross entropy损失函数计算方式
均方损失函数: 这里 loss, x, y 的维度是一样的,可以是向量或者矩阵,i 是下标. 很多的 loss 函数都有 size_average 和 reduce 两个布尔类型的参数.因为一般损失函 ...
- 平均符号熵的计算公式_交叉熵(Cross Entropy)从原理到代码解读
交叉熵(Cross Entropy)是Shannon(香浓)信息论中的一个概念,在深度学习领域中解决分类问题时常用它作为损失函数. 原理部分:要想搞懂交叉熵需要先清楚一些概念,顺序如下:==1.自信息 ...
- 交叉熵损失(Cross Entropy Loss)计算过程
交叉熵损失(Cross Entropy Loss)计算过程_藏知阁-CSDN博客_交叉熵计算公式
- TensorFlow学习笔记(二十三)四种Cross Entropy交叉熵算法实现和应用
交叉熵(Cross-Entropy) 交叉熵是一个在ML领域经常会被提到的名词.在这篇文章里将对这个概念进行详细的分析. 1.什么是信息量? 假设是一个离散型随机变量,其取值集合为,概率分布函数为 p ...
- TensorFlow四种Cross Entropy算法实现和应用
交叉熵介绍 交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小,常见的Loss函数就是均方平方差(Mean Squared Er ...
最新文章
- RedHat 6编译升级vsftpd
- arcgis和matlab,ArcGIS和MATLAB应用并不困难
- linux命令:返回上一次目录
- 【设计模式】—— 模板方法Template
- SAP Commerce Cloud如何针对Spartacus进行安装
- python串口通讯数据过长_Python 串口通讯
- javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第1部分
- mcrp 对接软件换
- Android软件开发-ProgressBar
- 一道头条面试题,小夕差点没读懂题目,找出数组中缺失的数字,最近击败100%的用户!...
- 去银行写代码是种什么体验?
- NLP数据标注常用工具汇总
- android o car模块,CarPlay for Android: Bonjour 及 插件源码移植问题分析
- 5.3 数值分析: 差商的定义及性质
- 博弈逻辑与布尔判断题
- Python爬虫(三):python抓取网页中的图片到本地
- 文档无法保存 读取文档时出现问题(135)
- 代码庆端午--粽你心意
- 20190919CF训练
- Vue2 面试题总结1(笔记自用)
热门文章
- emoji mysql 乱码 php_MYSQL utf8mb4 插入emoji表情乱码
- 教你用Python将图片转化为字符画!附源代码
- java蓝桥杯加法变乘法_蓝桥杯-加法变乘法-java
- 仓库管理系统软件哪个好
- HTTP状态码含义:428、429、431、511431状态码详解
- 【论文写作】用对模板,一周码完一篇SCI初稿!
- hihoCoder #1135 : Magic Box
- MATLAB绘图与图形处理(2)
- 人工智能站在风口 云计算指数大涨7.96%
- 关于PE4259等各类射频开关选型对比分析