问题标签 [cross-entropy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 我在交叉熵中有 nan 这是不合理的
我正在追溯网络中的问题,以从交叉熵中检测出 nan 的原因。
我从我开始拥有 Nan 的网络中获取值,并在另一个函数上单独测试它们。
在这里,我将一起测试 50 个值,以找出哪一个给出了 NaN。
我有这个结果。
因此,为了了解为什么 nan 存在于此,我在手边、wolfarma 和 theano 本身上测试了该功能。我在最后一个之前拿了一个,并通过以下方式单独测试它:
结果不是南。
所以第一个函数中的这个数字不应该给出 NaN 吗?
python - 在 TensorFlow 中计算交叉熵
我很难计算张量流中的交叉熵。特别是,我正在使用以下功能:
使用看似简单的代码,我只能让它返回零
返回
我对交叉熵的理解如下:
其中 p(x) 是事件 x 的真实概率,q(x) 是事件 x 的预测概率。
如果输入 p(x) 和 q(x) 的任意两个数字,则使用
应该有一个非零交叉熵。我期待我错误地使用了 tensorflow。提前感谢您的帮助。
backpropagation - 交叉熵如何加速隐藏层的反向传播?
我正在学习http://neuralnetworksanddeeplearning.com/chap3.html。
它说交叉熵成本函数可以加速网络,因为 δ ' (z) 在最后一层取消了。
最后一层 L 的偏导数:
∂(C)/∂(w) = a L-1 (a L -y)。
没有δ ' (z)。
但是我想知道交叉熵是否加速了隐藏层,所以我计算了 L-1 层的偏导数:
∂(C)/∂(w)
= (a L -y) * w L * a L-1 (1-a L-1 ) * a L-2
= (a L -y) * w L * δ'(z L-1 ) * a L-2
似乎它在 L-1 层上没有加速,因为 δ'(x) 仍然存在。我可以接近于零,使偏导接近于零,使学习缓慢。
有人可以告诉我我提出的错误观点吗?谢谢。
tensorflow - TensorFlow dynamic_rnn 训练损失减少,验证损失增加
我正在添加我的 RNN 文本分类模型。我正在使用最后一个状态对文本进行分类。数据集很小,我使用手套向量进行嵌入。
打印输出
165 纪元后
random - 使用熵或其他方法的随机变量的重要性
我有一个具有已知联合概率密度函数 (PDF)的二维随机向量x = [ x 1 , x 2 ] T。PDF 是非高斯的,并且随机向量的两个条目在统计上是相关的。我需要证明,例如x 1比x 2更重要,就它携带的信息量而言。这个问题有经典的解决方案吗?我可以证明,例如 x 携带的总信息的 n%在x 1中,并且100-n% 由 x 携带× 2 ?
我假设测量信息量的标准方法是计算熵。有什么线索吗?
python - categorical_crossentropy 即使准确率在 keras 中为 1.00,也会返回较小的损失值
我有一个专为多分类问题设计的 LSTM 模型。训练时,准确率实际上是 1.00。但仍然返回小的损失值。这是什么意思?所有目标都被正确预测。为什么损失值不能为零?
损失值如下。
machine-learning - 如何在 Keras 中进行逐点分类交叉熵损失?
我有一个产生 4D 输出张量的网络,其中空间维度(〜像素)中每个位置的值将被解释为该位置的类概率。换句话说,输出是(num_batches, height, width, num_classes)
。我有相同大小的标签,其中真正的类被编码为 one-hot。我想categorical-crossentropy
用这个来计算损失。
问题 #1:函数K.softmax
需要一个2D
张量(num_batches, num_classes)
问题#2:我不确定每个位置的损失应该如何组合。reshape
张量到(num_batches * height * width, num_classes)
然后调用它是否正确K.categorical_crossentropy
?或者更确切地说,调用K.categorical_crossentropy(num_batches, num_classes)
height*width 次并平均结果?
python - TensorFlow 模型损失为 0
我的模型得到 Epoch:2,Loss:0.0 Epoch:3,Loss:0.0 Epoch:4,Loss:0.0 Epoch:5,Loss:0.0 Epoch:6,Loss:0.0 Epoch:7,Loss:0.0 Epoch:8,Loss :0.0 Epoch:9,Loss:0.0 Epoch:10,Loss:0.0 训练完成
我该如何处理这个问题?
keras - 如何在 Keras 的 FCN(U-Net)上使用加权分类交叉熵?
我已经建立了一个用于图像分割(U-Net)的 Keras 模型。然而,在我的样本中,一些错误分类(区域)并不那么重要,而另一些则至关重要,因此我想为它们分配更高的损失函数权重。更复杂的是,我希望一些错误分类(1 类而不是 2 类)具有非常高的惩罚,而反向(2 类而不是 1 类)不应该受到太多惩罚。
我看到它的方式,我需要使用加权分类交叉熵的总和(跨越所有像素),但我能找到的最好的是:
但是,此代码仅适用于单个预测,并且我对 Keras 内部工作原理的了解不足(而且它的数学方面也好不了多少)。任何人都知道我可以如何调整它,甚至更好,是否有适合我情况的现成损失函数?
我会很感激一些指示。
编辑:我的问题类似于How to do point-wise categorical crossentropy loss in Keras?,除了我想使用加权分类交叉熵。