我用反向传播算法训练了一个神经网络。我手动运行网络30次,每次更改输入和期望的输出。结果是一个传统的分类器。
我尝试了三种不同的分类。由于我运行了网络30次,每个类有10个输入,我最终得到了3个不同的权重,但是相同的分类有非常相似的权重,误差很小。因此,该网络已经证明自己已经成功地学习了。
我的问题是,既然学习已经完成,而且我有3种不同类型的权重(每种分类一种),我如何在常规的前馈网络中使用这些权重,以便它能够自动地分类输入。我搜索了一下,看看你是否能把重量平均下来,但是看起来这是不可能的。有些人提到了bootstrapping the data
我在反向传播学习过程中做错什么了吗?还是有一个额外的步骤,需要做后的学习过程,这些不同的权重,为不同的班级?
一种我是如何成像,这是通过实现一个常规的前馈网络,将所有这3种类型的重量。将有3个输出,对于任何给定的输入,一个输出神经元将触发,这将导致给定的输入被映射到特定的类。
网络体系结构如下:
3个输入,2个隐藏神经元,1个输出神经元
提前感谢
发布于 2013-12-22 21:12:33
如果每次只在神经网络中训练一个类,这是没有意义的,因为隐藏层可以进行权重组合,以“学习”输入数据可能属于哪一类。单独学习将使权重独立。如果给出一个新的测试输入,网络将不知道应该使用哪个权重。
使用向量作为输出来表示这三个不同的类,并对数据进行整体训练。
编辑 P.S,我不认为你提供的链接文章与你的案例相关。该岗位的问题来自于神经网络训练中不同的权值初始化(随机)。有时,为了避免这样的问题,人们使用some seed methods来使权重学习重现性。
发布于 2013-12-23 23:59:12
除了nikie的响应之外,另一种可能是将输出表示为一个具有连续值的(唯一)输出单元。例如,如果输出在[0,1)区间内,则ann对第一类进行分类;在[2,3)中对第二类if在[1,2)区间和第三类进行分类。这个体系结构是以字母形式声明的(并在我的经验中得到了验证),它的效率低于3个神经元的离散表示形式。
https://stackoverflow.com/questions/20733865
复制相似问题