我遵循PyBrain教程前馈神经网络分类并想要构建自己的分类器。
我不明白
为什么初始操作
我不明白
_convertToOneOfMany
如何修改输出。为什么初始操作
alldata.addSample(input, [klass])
会为每个类创建多个输出神经元?_convertToOneOfMany
如何修改输出。alldata.addSample(input, [klass])
会为每个类创建多个输出神经元?不用担心,这里有一份说明这些东西的文档。http://pybrain.org/docs/tutorial/datasets.html
目标数字为[0,1,2],此函数将它们翻译成(001,010,100)。这是因为许多算法在每个类别的输出单元中编码时效果更好。
在进行分类时,许多算法如果将类别编码为每个类别一个输出单元,则效果更好,该单元在类别存在时取特定值。作为高级功能,ClassificationDataSet可以自动执行此转换:
然而,这并不是一个令人满意的答案,因为我不明白为什么首先应该有超过一个输出神经元来表示一个类。
更新:我建议使用{{link2:keras
}}。