Cross-Entropy Loss 与Accuracy的数值关系
来源:互联网 发布:淘宝商品白底素材原图 编辑:程序博客网 时间:2024/05/16 09:06
以分类任务为例, 假设要将样本分为\(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的数值关系
- Cross-Entropy Loss 与Accuracy的数值关系
- softmax与cross-entropy loss
- softmax与cross-entropy loss
- loss和accuracy的关系
- 分类loss cross-entropy
- 学习Caffe(五):浅析softmax cross entropy loss与sigmoid cross entropy loss
- cross entropy,logistic loss 和 KL-divergence的关系和区别
- SVM hinge loss / SoftMax cross entropy loss
- 关于Logistic Regression、Softmax Loss和Cross-entropy的随笔
- 分类模型的 Loss 为什么使用 cross entropy
- Multinomial Logistic Loss and Cross Entropy Loss are the same
- cross entropy的梯度
- 分类模型的 Loss 为什么使用 cross entropy 而不是 classification error 或 squared error
- 卷积神经网络系列之softmax,softmax loss和cross entropy的讲解
- 卷积神经网络系列之softmax,softmax loss和cross entropy的讲解
- 卷积神经网络系列之softmax,softmax loss和cross entropy的讲解
- caffe Sigmoid cross entropy loss 交叉熵损失函数
- Hook a QT Application with C++ to capture textname of the application
- 图像金字塔
- 仿射变换
- UE4 缓存过大的问题
- Failure [INSTALL_FAILED_UID_CHANGED]
- Cross-Entropy Loss 与Accuracy的数值关系
- 关于行列式
- Spring工作机制及为什么要用
- 2016书单
- 行列式的按行/列展开
- 《C#精彩实例教程》小组阅读07 -- C#字符与字符串
- 信息熵与信息熵增益
- 伴随矩阵
- Hessian Matrix