我按照 PyBrain 教程使用前馈神经网络分类,并想构建自己的分类器。
我不明白如何_convertToOneOfMany
修改输出。
为什么初始操作会alldata.addSample(input, [klass])
为每个类创建多个输出神经元?
我按照 PyBrain 教程使用前馈神经网络分类,并想构建自己的分类器。
我不明白如何_convertToOneOfMany
修改输出。
为什么初始操作会alldata.addSample(input, [klass])
为每个类创建多个输出神经元?
没关系,这里是解释这些东西的文档http://pybrain.org/docs/tutorial/datasets.html
目标数为 [0,1,2],此函数将它们转换为 (001,010,100)。这是因为如果将类编码为每个类一个输出单元,许多算法会更好地工作
文档中的相关部分是页面使用数据集:分类 – 监督分类训练的数据集:
在进行分类时,如果将类编码到每个类的一个输出单元中,许多算法会更好地工作,如果类存在,则该输出单元具有一定的值。作为一项高级功能,ClassificationDataSet 会自动执行此转换:
但是,这不是一个令人满意的答案,因为我也不明白为什么第一手每个类应该有多个输出神经元。
更新:我建议使用keras