损失函数-交叉熵的推导和二分类交叉熵
交叉熵
期望:
期望就是所有随机变量的均值。
E(X)=X1*P(X1)+X2*P(X2)+X3*P(X3)
熵:
熵表示所有信息量的期望。
信息量如何计算呢?
概率值取Log,然后加个负号,就是信息量
I(X0)=-log(P(X0))
I(X0)代表信息熵
公式理解:概率越小,信息越大,概率越大,信息越小。
与正常思考反着来,因为概率大,所以这条信息重要性越小,因为都知道。所以信息量小。
因为概率小,所以这条信息很重要,因为概率小不确定,所以包含的信息量大
熵的公式:
熵就是在信息量的基础上求一个期望,(也就是先乘概率值再累计求和)熵的公式定义如下
以上的log函数全部底为2
举例:
对于二项分布,只有两种可能的情况,一个发生的概率为P(x),另一个发生的概率为1-P(x),此时的信息量计算过程如下
在这里不要把这个看成二分类交叉熵。
交叉熵就是损失函数。信息量是各种情况熵的期望。熵的公式里面填的数字都是概率值。两种情况的事件,概率值只有两种,P(x) 和 1-P(x) ,带进去如上。
相对熵(KL散度)
KL散度的定义:
同一个随机变量X,有两个单独的概率分辨P(x)和Q(x)。用KL散度来衡量P(x)和Q(x)两个独立分辨之间的差异。KL散度值越小,表示P和Q的分布越接近。
直观理解:
KL之所以说是对比两个分布之间的差异。应该是相减 。但是体现在log里面的相除。log拆分开来的话不就是相减了吗!
交叉熵 Cross Entropy
交叉熵是做为损失函数来使用的。
表示对于数据预测分类情况的类别和真实类别情况之间的距离。
此时P(X)代表真实样本,Q(X)代表预测样本(注意这句话!!!!下面第三步要用的到)
我们使用梯度下降优化的目的,就是使得预测分类的结果尽可能的逼近真实的分类结果。也就是KL散度的值越小越好。
第一步:
带入KL散度公式,
第二步简化:
最右边这个P(xi)/Q(xi)拆开,从除变成减,两边都有P(xi),求和符号也带着
现在设
因为在上面已经提到熵的定义 公式。可以往上面翻翻看。所以
第三步
我们发现H(x)即是对P(x)进行求取熵,但是P(x)是一个真实的样本。那么他的初始值都已经固定了。P(X)也就是一个常数,而常数在接下来的LOSS中是没有任何意义的。那么就可以将这个去除。
这就是交叉熵。
交叉熵的应用
交叉熵在分类中常被使用,通常和Softmax在一起使用,softmax获取概率,带入到交叉熵中。根据交叉熵的值,不断的调整。
BCE 二分类交叉熵损失函数。
对于在二分类损失函数中应用,交叉熵损失函数为以下形式。
SoftWare交叉熵损失函数。
交叉熵经常搭配softmax使用,将输出的结果进行处理,使其多个分类的预测值和为1,再通过交叉熵来计算损失。
参考
https://blog.csdn.net/Albert233333/article/details/127148805
损失函数-交叉熵的推导和二分类交叉熵相关推荐
- LESSON 10.110.210.3 SSE与二分类交叉熵损失函数二分类交叉熵损失函数的pytorch实现多分类交叉熵损失函数
在之前的课程中,我们已经完成了从0建立深层神经网络,并完成正向传播的全过程.本节课开始,我们将以分类深层神经网络为例,为大家展示神经网络的学习和训练过程.在介绍PyTorch的基本工具AutoGrad ...
- pytorch_lesson10 二分类交叉熵损失函数及调用+多分类交叉熵损失函数及调用
注:仅仅是学习记录笔记,搬运了学习课程的ppt内容,本意不是抄袭!望大家不要误解!纯属学习记录笔记!!!!!! 文章目录 一.机器学习中的优化思想 二.回归:误差平方和SSE 三.二分类交叉熵损失函数 ...
- 二分类交叉熵,多分类交叉熵,focal loss
1:二分类交叉熵 a) 公式: ,其中表示网络预测结果,是一个属于(0到1)的值,我们当然希望它们的值很接近1.是真实标签,因为是二分类,所以,的值为0或者1.网络最后一层一般为sigmoid.比如 ...
- 二分类交叉熵损失函数python_二分类问题的交叉熵损失函数多分类的问题的函数交叉熵损失函数求解...
二分类问题的交叉熵损失函数; 在二分类问题中,损失函数为交叉熵损失函数.对于样本(x,y)来讲,x为样本 y为对应的标签.在二分类问题中,其取值的集合可能为{0,1},我们假设某个样本的真实标签为yt ...
- 二分类交叉熵损失函数python_【深度学习基础】第二课:softmax分类器和交叉熵损失函数...
[深度学习基础]系列博客为学习Coursera上吴恩达深度学习课程所做的课程笔记. 本文为原创文章,未经本人允许,禁止转载.转载请注明出处. 1.线性分类 如果我们使用一个线性分类器去进行图像分类该怎 ...
- pytorch中的二分类及多分类交叉熵损失函数
本文主要记录一下pytorch里面的二分类及多分类交叉熵损失函数的使用. import torch import torch.nn as nn import torch.nn.functional a ...
- 解决pytorch二分类任务交叉熵损失函数CrossEntropyLoss报错:IndexError: Target 1 is out of bounds.
解决方法 修改nn.CrossEntropyLoss()为nn.BCELoss() 问题解析 pytorch 中二分类任务交叉熵要用二分类交叉熵(Binary Cross Entropy),BCELo ...
- 常见损失函数深度剖析之二分类
常见损失函数深度剖析之二分类 ###1.二值交叉熵 二值交叉熵是二分类问题的默认损失函数,用于目标变量满足{0,1}二值分布的二分类模型中. 交叉熵回顾--交叉熵是信息理论学里面,用来衡量两个概率分布 ...
- dice系数 交叉熵_一文搞懂交叉熵损失
本文从信息论和最大似然估计得角度推导交叉熵作为分类损失函数的依据. 从熵来看交叉熵损失 信息量 信息量来衡量一个事件的不确定性,一个事件发生的概率越大,不确定性越小,则其携带的信息量就越小. 设\(X ...
最新文章
- Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败
- 汽车HUD(Head-up Display)的技术难点
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第6章-参数不确定的高阶非线性多智能体系统一致性控制
- sockaddr数据结构
- json java 实例_java JSON数据转对象
- 网络分流器|运营商光纤延距解决方案
- python指定位置写入文件_Python从文件中读取指定的行以及在文件指定位置写入
- STM32——串口通信
- unityar自动识别人脸_AR开发实战项目之人脸识别(实现换脸、人脸涂妆、动作特效)...
- 使用css3背景渐变中的透明度来设置不同颜色的背景渐变
- TouchVG 支持 CocoaPods 了!
- lc滤波器是利用电感的感抗_电感器在电路中的应用特性
- Redis核心知识点总结(一万五千字,请耐心读完)
- yaahp使用教程_yaahp(yaahp教程使用视频)
- 赛尔号桌面版_赛尔号手游电脑版
- 微信公众号被动回复消息 Java实现
- Windows 10内置Hyper-V虚拟机安装XP系统(二) - 配置网络
- 计算机导论黄国兴百度云,计算机导论黄国兴
- 第16课:转型的难处
- python中计算梯度值
热门文章
- 商业保理与 P2P 是如何结合运作的
- 学习python/pytorch过程中遇到的知识点
- squeeze的意义
- 浅谈汽车OTA的现状与未来发展趋势
- python模拟网页点击_python模拟点击
- 进程管理程序 - Supervisor - 学习/实践
- 【笔记分享】H桥电机正反转
- c语言(http://c.biancheng.net/view/1714.html)
- Caused by: java.lang.IllegalArgumentException报错
- 合资品牌车联网或率先尝到车联网技术的甜头?