【发布时间】:2019-04-25 22:09:19
【问题描述】:
我正在使用 tensorflow 作为 MNIST 数据集的简单 MLP 神经网络作为我的作业。在这个问题中,我们应该实现一个以 tanh 作为激活函数的多层感知器。我应该使用带有 [-1,+1] 的数据标签。例如对于数字 3,我们有:
[-1,-1,-1,+1,-1,-1,-1,-1,-1,-1]
我知道对于 sigmoid 函数,我们可以使用 on_hot 例如:
mnist = input_data.read_data_sets("/tmp/data/", one_hot=True)
为了将数据放入 [0,1] 中,如下所示的数字 3:
[0,0,0,1,0,0,0,0,0,0]
如何在 [-1 ,+1] 之间编码标签。 在此先感谢您的帮助
【问题讨论】:
-
请问,你为什么要这么做?
-
因为当我们使用 tanh 时,我们应该将值放在这个范围内@JérémyBlain
-
是的,实际上在问题中已经说过将活动类的值设置为一个,将另一个设置为-1。
-
这是一个非常尴尬的要求。使用 0 和 1 进行 one-hot 编码的原因是,这是交叉熵损失的常见形式所期望的格式。 (另外,这与logsig或tanh无关,对于多类分类,输出层通常使用softmax。)
-
sigmoid 或 tanh 通常都不用于多类分类,所以我不明白你到底想要做什么。
标签: tensorflow neural-network deep-learning mnist activation-function