以分类任务为例, 假设要将样本分为\(n\)个类别.

先考虑单个样本\((X, z)\).

将标题\(z\)转化为一个\(n\)维列向量\(y = (y_1, \dots y_k, \dots, y_n)^T\):

\[
y_k=
\begin{cases}
0& k \neq z
\\
1& k = z
\end{cases}
\]

\(p_z\)是模型将此样本分到类别\(z\)的概率, 即正确分类的概率\(p_{correct}\). 在这个样本上的Cross-Entropy Loss为:

\[
loss = -ln p_z = -ln p_{correct}
\]

再考虑由\(m\)个样本组成的batch. 在整个batch上的loss:

\[
loss = \frac 1m \sum_{i}^{m} - ln p^{(i)}_{correct}
\]

将\(- ln p^{(i)}_{correct}\)看作一个随机变量\(C_i\). 当\(m \rightarrow \infty\)时:

\[loss = E(C) = E(-ln p_{correct})\]

\(p_{correct}\)对单个样本来说是被正确分类的概率, 对一个batch来说则是准确率 accuracy.

当一个batch中包含无穷多个样本时:

\[loss = E(-ln accuracy)\]

即\(m \rightarrow \infty\)时,

\[accuracy = e^{-loss}\]

这就是ce loss与accuracy之间的数值关系.

也就是说,用batch-based + Cross-Entropy loss训练机器学习算法时, 根据loss可大致计算出accuracy, 并且误差随 batch size 增大而减小. 我常用batch size = 100, 此时\(e^{-loss}\)与\(accuracy\)之间已经很接近了, 误差通常小于\(0.01\).

Cross-Entropy Loss 与Accuracy的数值关系的更多相关文章

  1. Cross-Entropy Loss 与Accuracy的数值关系(很重要,很好的博客)

    http://www.cnblogs.com/dengdan890730/p/6132937.html

  2. 关于交叉熵损失函数Cross Entropy Loss

    1.说在前面 最近在学习object detection的论文,又遇到交叉熵.高斯混合模型等之类的知识,发现自己没有搞明白这些概念,也从来没有认真总结归纳过,所以觉得自己应该沉下心,对以前的知识做一个 ...

  3. 卷积神经网络系列之softmax,softmax loss和cross entropy的讲解

    我们知道卷积神经网络(CNN)在图像领域的应用已经非常广泛了,一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等.虽然现在已经开源了很多深度学习框架(比如MxNet,Caf ...

  4. softmax,softmax loss和cross entropy的区别

     版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u014380165/article/details/77284921 我们知道卷积神经网络(CNN ...

  5. softmax,softmax loss和cross entropy的讲解

    1 softmax 我们知道卷积神经网络(CNN)在图像领域的应用已经非常广泛了,一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等.这一篇主要介绍全连接层和损失层的内容, ...

  6. 一篇博客:分类模型的 Loss 为什么使用 cross entropy 而不是 classification error 或 squared error

    https://zhuanlan.zhihu.com/p/26268559 分类问题的目标变量是离散的,而回归是连续的数值. 分类问题,都用 onehot + cross entropy traini ...

  7. softmax、cross entropy和softmax loss学习笔记

    之前做手写数字识别时,接触到softmax网络,知道其是全连接层,但没有搞清楚它的实现方式,今天学习Alexnet网络,又接触到了softmax,果断仔细研究研究,有了softmax,损失函数自然不可 ...

  8. 最大似然估计 (Maximum Likelihood Estimation), 交叉熵 (Cross Entropy) 与深度神经网络

    最近在看深度学习的"花书" (也就是Ian Goodfellow那本了),第五章机器学习基础部分的解释很精华,对比PRML少了很多复杂的推理,比较适合闲暇的时候翻开看看.今天准备写 ...

  9. TensorFlow 实战(一)—— 交叉熵(cross entropy)的定义

    对多分类问题(multi-class),通常使用 cross-entropy 作为 loss function.cross entropy 最早是信息论(information theory)中的概念 ...

随机推荐

  1. 第63课 C语言异常处理

    1. 异常的概念 (1)程序在运行过程中可能产生异常 (2)异常(Exception)与Bug的区别 ①异常是程序运行时可预料的执行分支 ②Bug是程序是的错误,是不被预期的运行方式 2. 异常和Bu ...

  2. Mecanim 动作复用示例

    Mecanim动作复用 资源包 四个动画文件 一个Controller 不同的模型 让模型都生成Avter,然后让多个模型重用一套动作 复用动作预览 动画状态机 资源地址 Assets Store地址 ...

  3. stl学习(一)优先队列

    优先队列priority queue 头文件 #include<queue> 优先队列,也就是原来我们学过的堆,按照自己定义的优先级出队时.默认情况下底层是以Vector实现的heap. ...

  4. java 继承(下)

    1.抽象方法一定要写在抽象类中. 2.抽象类只在描述该事事务应该具备的东西. 3.抽象只能是抽象类和抽象方法. 4,抽象类没有任何抽象方法,这种类是不让创建对象. private  static

  5. github上写blog

    http://www.elbow95.me/blog/My-First-Blog-Essay.html 阮一峰的: http://www.ruanyifeng.com/blog/2012/08/blo ...

  6. Inline Workers--Web workers without a separate Javascript file

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head&g ...

  7. Display HTML in WPF and CefSharp

    https://www.codeproject.com/articles/881315/display-html-in-wpf-and-cefsharp-tutorial-part Download ...

  8. Pechkin:html -> pdf 利器

    Pechkin 是GitHub上的一个开源项目,可方便将html转化成pdf文档,使用也很方便,下面是winform项目中的示例代码: using System; using System.Diagn ...

  9. caffe的python接口学习(2):生成solver文件

    caffe在训练的时候,需要一些参数设置,我们一般将这些参数设置在一个叫solver.prototxt的文件里面,如下: base_lr: 0.001 display: 782 gamma: 0.1 ...

  10. Openwrt Image Builder/SDK 初探

    image builder和SDK既可以从官网上下载,又可以自己进行编译(make menuconfig).官网上下载的是预先帮你编译好的,这样可以大量节省自己编译源码花的时间,这两个东西相当于半成品 ...