问题标签 [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.

0 投票
0 回答
1115 浏览

python - 我在交叉熵中有 nan 这是不合理的

我正在追溯网络中的问题,以从交叉熵中检测出 nan 的原因。

我从我开始拥有 Nan 的网络中获取值,并在另一个函数上单独测试它们。

在这里,我将一起测试 50 个值,以找出哪一个给出了 NaN。

我有这个结果。

因此,为了了解为什么 nan 存在于此,我在手边、wolfarma 和 theano 本身上测试了该功能。我在最后一个之前拿了一个,并通过以下方式单独测试它:

结果不是南。

所以第一个函数中的这个数字不应该给出 NaN 吗?

0 投票
3 回答
28949 浏览

python - 在 TensorFlow 中计算交叉熵

我很难计算张量流中的交叉熵。特别是,我正在使用以下功能:

使用看似简单的代码,我只能让它返回零

返回

我对交叉熵的理解如下:

其中 p(x) 是事件 x 的真实概率,q(x) 是事件 x 的预测概率。

如果输入 p(x) 和 q(x) 的任意两个数字,则使用

应该有一个非零交叉熵。我期待我错误地使用了 tensorflow。提前感谢您的帮助。

0 投票
0 回答
186 浏览

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) 仍然存在。我可以接近于零,使偏导接近于零,使学习缓慢。

有人可以告诉我我提出的错误观点吗?谢谢。

0 投票
1 回答
689 浏览

tensorflow - TensorFlow dynamic_rnn 训练损失减少,验证损失增加

我正在添加我的 RNN 文本分类模型。我正在使用最后一个状态对文本进行分类。数据集很小,我使用手套向量进行嵌入。


打印输出

165 纪元后

0 投票
0 回答
37 浏览

random - 使用熵或其他方法的随机变量的重要性

我有一个具有已知联合概率密度函数 (PDF)的二维随机向量x = [ x 1 , x 2 ] T。PDF 是非高斯的,并且随机向量的两个条目在统计上是相关的。我需要证明,例如x 1x 2更重要,就它携带的信息量而言。这个问题有经典的解决方案吗?我可以证明,例如 x 携带的总信息的 n%x 1并且100-n% 由 x 携带× 2 ?

我假设测量信息量的标准方法计算熵。有什么线索吗?

0 投票
1 回答
2041 浏览

python - categorical_crossentropy 即使准确率在 keras 中为 1.00,也会返回较小的损失值

我有一个专为多分类问题设计的 LSTM 模型。训练时,准确率实际上是 1.00。但仍然返回小的损失值。这是什么意思?所有目标都被正确预测。为什么损失值不能为零?

损失值如下。

0 投票
4 回答
5346 浏览

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 次并平均结果?

0 投票
1 回答
3323 浏览

python - 信息论测度:熵计算

我有一个由数千行组成的语料库。为简单起见,让我们将语料库视为:

如何使用上面的语料库计算熵?熵的公式如下:

在此处输入图像描述

到目前为止,这是我的理解: Pi 是指计算为 的单个符号的概率frequency(P) / (total num of characters)。我不明白的是总和?我不确定在这个特定公式中求和是如何工作的?

Python 3.5.2用于统计数据分析。如果有人可以帮助我提供熵计算的代码片段,那就太好了。

0 投票
1 回答
4575 浏览

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 训练完成

我该如何处理这个问题?

0 投票
1 回答
1313 浏览

keras - 如何在 Keras 的 FCN(U-Net)上使用加权分类交叉熵?

我已经建立了一个用于图像分割(U-Net)的 Keras 模型。然而,在我的样本中,一些错误分类(区域)并不那么重要,而另一些则至关重要,因此我想为它们分配更高的损失函数权重。更复杂的是,我希望一些错误分类(1 类而不是 2 类)具有非常高的惩罚,而反向(2 类而不是 1 类)不应该受到太多惩罚。

我看到它的方式,我需要使用加权分类交叉熵的总和(跨越所有像素),但我能找到的最好的

但是,此代码仅适用于单个预测,并且我对 Keras 内部工作原理的了解不足(而且它的数学方面也好不了多少)。任何人都知道我可以如何调整它,甚至更好,是否有适合我情况的现成损失函数?

我会很感激一些指示。

编辑:我的问题类似于How to do point-wise categorical crossentropy loss in Keras?,除了我想使用加权分类交叉熵。