我是Machine Learning
的初学者,根据11个输入变量进行预测葡萄酒质量(0到10)的多类multiclass classsification task
如何确定前馈neural network
输入层中的神经元数量?
例如,我的数据集中有11个变量。
在输入层我应该保留11个神经元吗?
拥有更多/少于11个神经元怎么样?
提前致谢!
答案 0 :(得分:2)
输入单位: 问题是输入层中应该有多少个神经元。你有11个变量。因此,使用偏置单元,输入层中总共有12个单位。
输出单位: 输出单元的数量将由回归或分类问题确定,问题有多少输出。例如,对于葡萄酒数据集,将有3个类。在单热编码方案中,将有3个输出单元,每个类一个。
因此输入和输出单位由数据集决定(除非你做了一些疯狂的事情)。
隐藏图层和单元: 隐藏层的数量和每个隐藏层的单元数是必须调整的。对于这个具体问题,可能没有必要深入研究。一个隐藏层就可以了。虽然,对于较小的数据集,您可以训练具有不同隐藏单位和不同层数的多个模型,并根据验证集分数或基于交叉验证选择模型。
在这两种情况下都存在偏差单位。在我的例子中,这个特定的葡萄酒数据集有13个输入,三个输出用于三类分类。
由于这对于较大的数据集而言可能非常耗时,因此您可以使用一些启发式方法来选择层数。例如。从一个隐藏层开始,比如5个单位。然后训练模型。接下来,使用10个单位并训练另一个模型,继续添加5个单位和训练模型,直到验证分数没有太大提高。然后停止向图层添加单位。之后,您可能想要添加另一个图层并再次更改隐藏单位的数量并继续。
这是一种非常基本的方法。我建议你阅读有关方法的学术文章。有很多方法使用。首先,我想在此指出:http://www.ml4aad.org/literature-on-neural-architecture-search/。另请检查AutoML
答案 1 :(得分:-1)
使用您的网络,您正在尝试近似函数F(x_1,x_2,..)从某些输入到葡萄酒质量的10维向量的映射。
在您的情况下,输入可以是11个特征,或者可能只是1.如果例如葡萄酒价格是一个特征,那么价格和质量之间肯定存在相关性。但是这种相关性可能只是粗略地接近“真实函数”。因此,通过在模型中加入更多功能,您可以更好,更好地逼近真正的基础功能。但请注意,某些功能可能无用或几乎没有任何影响!