【发布时间】:2012-10-13 16:20:28
【问题描述】:
我正在尝试开发一种新的权重初始化方法,但我遇到了一种奇怪的训练现象。您可以看到输出节点 8 永远不是最大激活...
我正在使用具有 tansig 激活、mse 性能和无偏置节点的 matlab patternnet。我正在尝试对 mnist 数据库的一个子集进行分类。
有没有人知道如何解决这个问题?尽管具有相同的架构,但使用 nguyen-widrow 初始化不会看到此结果。
编辑:
输入:768xN 个介于 0 和 1 之间的值
目标:每行 10xN 个值 0 或 1。所以它就像一个逻辑矩阵,每列有 1 个真。
一个或多个节点没有激活,我展示了最好的情况。
这发生在一层或多层(1 到 5)、更少或更多的训练数据(1k 到 10k 个样本)中。
【问题讨论】:
-
请显示一些数据。还有你为什么要消除偏见? - 这会对性能产生非常负面的影响(取决于数据)。
-
查看编辑。我消除了偏见,因为我的初始化方法没有考虑到偏见(现在)。运行没有偏差的控件(通过将 net.biasConnect 更改为零),与保持偏差层相比没有太大差异。
-
第 8 类的数据中是否有一些细节?
-
目标 1-10 分别是数字 0-9。没有激活的类并不总是第8个节点。
-
我指的是输入数据中的细节,而不是目标。
标签: matlab neural-network classification mnist