问题标签 [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.
machine-learning - Torch CrossEntropyCriterion 错误
我正在尝试在 Torch 的 XOR 函数上训练一个简单的测试网络。当我使用 MSECriterion 时它可以工作,但是当我尝试 CrossEntropyCriterion 时它会失败并显示以下错误消息:
将其分解为 LogSoftMax 和 ClassNLLCriterion 时,我收到相同的错误消息。代码是:
python - Python NLTK:总熵和每个单词的熵有什么区别?
我需要使用 NLTK 找到给定文本的总交叉熵和每个单词的交叉熵。
具体来说,我在这里使用熵函数... http://www.nltk.org/_modules/nltk/model/ngram.html
...但我不确定这是否计算总交叉熵或每个单词交叉熵以及如何计算另一个。
谁能给我一些见解?
tensorflow - TensorFlow:我的 logits 格式是否适合交叉熵函数?
好的,所以我准备tf.nn.softmax_cross_entropy_with_logits()
在 Tensorflow 中运行该函数。
我的理解是,“logits”应该是概率张量,每个张量对应于某个像素的概率,即它是最终将成为“狗”或“卡车”或其他任何东西的图像的一部分......一个有限的东西的数量。
据我了解,logits 被插入等式的右侧。也就是说,它们是每个 x(图像)的 q。如果它们是从 0 到 1 的概率……那对我来说很有意义。但是当我运行我的代码并最终得到一个 logits 张量时,我没有得到概率。相反,我得到了正负两面的花车:
所以我的问题是……对吗?我是否必须以某种方式计算我所有的 logits 并将它们转换为从 0 到 1 的概率?
machine-learning - 在哪些情况下,交叉熵优于均方误差?
尽管上述两种方法都为更好的预测接近度提供了更好的分数,但仍然首选交叉熵。是在每种情况下还是在某些特殊情况下我们更喜欢交叉熵而不是 MSE?
theano - Binary-CrossEntropy - 适用于 Keras 但不适用于千层面?
我在 Keras 和 Lasagne 上使用相同的卷积神经网络结构。现在,我只是换了一个简单的网络,看看它是否改变了任何东西,但它没有。
在 Keras 上它工作得很好,它输出 0 到 1 之间的值,准确度很高。在千层面上,这些值大多不会出错。看起来输出与输入相同。
基本上:它在 keras 上输出和训练很好。但不在我的千层面版上
千层面的结构:
在 Keras 上:
并在 Keras 上进行训练..
并在 Lasagne 上进行训练和预测:
训练 :
我正在使用这些迭代器,我希望这不是它的原因。也许是?
预测:
这打印:
结果是完全错误的。但是,让我感到困惑的是,它在 keras 上输出良好。
此外,验证 acc 永远不会改变:
请帮忙!我究竟做错了什么?
这些是正在使用的形状:
neural-network - sparse_softmax_cross_entropy_with_logits 和 softmax_cross_entropy_with_logits 有什么区别?
我最近遇到了tf.nn.sparse_softmax_cross_entropy_with_logits,我无法弄清楚与tf.nn.softmax_cross_entropy_with_logits相比有什么区别。
唯一的区别是训练向量在使用时y
必须进行一次热编码sparse_softmax_cross_entropy_with_logits
吗?
阅读 API,与softmax_cross_entropy_with_logits
. 但是为什么我们需要额外的功能呢?
如果提供单热编码的训练数据/向量, 不应该softmax_cross_entropy_with_logits
产生与 相同的结果吗?sparse_softmax_cross_entropy_with_logits
python - python - 日志中遇到无效值
我有以下表达式:
log = np.sum(np.nan_to_num(-y*np.log(a+ 1e-7)-(1-y)*np.log(1-a+ 1e-7)))
它给了我以下警告:
我不明白什么可能是无效值或为什么我得到它。任何和每一个帮助表示赞赏。
注意:这是一个交叉熵成本函数,我在其中添加1e-7
以避免日志中出现零。y
&a
是 numpy 数组,numpy
导入为np
.
python - tf.nn.softmax_cross_entropy_with_logits 是否考虑批量大小?
是否tf.nn.softmax_cross_entropy_with_logits
考虑批量大小?
在我的 LSTM 网络中,我提供了不同大小的批次,我想知道在优化之前是否应该根据批次大小对误差进行归一化。
perceptron - Delta 分量未显示在 sigmoid 激活 MLP 的权重学习规则中
作为概念的基本证明,在一个使用输入 x、偏差 b、输出 y、S 个样本、权重 v 和 t 教师信号对 K 类进行分类的网络中,如果匹配样本在 k 类之下,则 t(k) 等于 1。
让 x_(is) 表示 s_(th) 样本中的 i_(th) 输入特征。v_(ks) 表示一个向量,该向量包含从 s_(th) 样本中的所有输入到 k_(th) 输出的连接权重。t_(s) 表示 s_(th) 样本的教师信号。
如果我们扩展上述变量以考虑多个样本,则必须在声明变量 z_(k)、激活函数 f(.) 并使用 corss 熵作为成本函数时应用以下更改: 推导
通常在学习规则中,总是包含 delta ( t_(k) - y_(k) ),为什么 Delta 没有出现在这个等式中?我是否遗漏了某些东西,或者显示的 delta 规则不是必须的?
python - tensorflow中sparse_softmax_cross_entropy_with_logits函数的原点编码在哪里
我想知道张量流函数sparse_softmax_cross_entropy_with_logits 在数学上到底在做什么。但我找不到编码的来源。你能帮助我吗?