Softmax && Cross-entropy Error

Posted ylhe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Softmax && Cross-entropy Error相关的知识,希望对你有一定的参考价值。

softmax 函数,被称为 归一化指数函数,是sigmoid函数的推广。

它将向量等比压缩到[0, 1]之间,所有元素和为1.

技术分享图片

Example:

softmax([1, 2, 3, 4, 1, 2, 3]) = [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]

Code:

import numpy as np

def softmax(x):
    c = np.max(x, axis = x.ndim - 1, keepdims = True)
    y = np.sum(np.exp(x - c), axis = x.ndim - 1, keepdims = True)
    x = np.exp(x - c) / y
    return x

softmax and sigmoid 异同:

技术分享图片

 

 

Cross-entropy Error(CE):交叉熵误差

技术分享图片

假设误差是二值分布:

技术分享图片

其中yi表示真实概率分布,只有yk=1,而yj=0jky^i表示预测概率分布,设它的输入为θi,则

技术分享图片

技术分享图片

 

以上是关于Softmax && Cross-entropy Error的主要内容,如果未能解决你的问题,请参考以下文章

干货|softmax函数计算时候为什么要减去一个最大值?

text sparse_softmax_cross_entropy_with_logits和softmax_cross_entropy_with_logits

机器学习基础对 softmax 和 cross-entropy 求导

[翻译] softmax和softmax_cross_entropy_with_logits的区别

TensorFlow 的 sparse_softmax_cross_entropy 中的 Logits 表示

关于 tf.nn.softmax_cross_entropy_with_logits_v2