【发布时间】:2017-01-13 06:50:23
【问题描述】:
我有 2 个具体的类,比如 A 和 C。我想使用 NN 将它们分类为 A、B、C 类,这样过于接近而无法自信分类的样本就被归类为 B。成本函数应该如下: 错误分类(将 A 分类为 C,反之亦然)将产生非常大的成本。正确的分类将具有零成本。将一个项目分类为 B 将具有非常低的成本。结果是我们只区分我们非常确定适合它们各自类别的样本。
我只完成了 TensorFlow 中的简单教程,但没有介绍如何定义更具体的成本函数,例如。谁能解释一下如何在 TensorFlow 中实现这一点
这是我的相关代码,我目前仅使用 2 个类对其进行分类。它直接来自 TensorFlow 教程:
cost = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(y, y_))
train_step = tf.train.AdamOptimizer(learning_rate = learning_rate).minimize(cost)
y 是 NN 的输出(对于具有 3 个类的两个样本集看起来像 [[1,0,0],[0,1,0]]),y_ 是样本的正确类这可能是 [[1,0,0],[0,0,1]]。在这个例子中,我们将第二个样本分类为 B,因为我们不确定,但真正的类别是 C。
【问题讨论】:
-
你的代码在哪里?请参阅How to Ask。您甚至都懒得上 2 分钟的网站 tour。
标签: python tensorflow neural-network