输入层
输入层节点数=输入向量维数
MNIST例子中,单张MNIST图片大小为28*28,reshape为一维数组,长度为784,所以输入层节点数为784:
network = Network([784, 100, 10])
iris例子中,每种花测量了4种属性的值,所以输入层节点数为4:
net = Network([4, 2, 3])
输出层
输出层节点数=输出向量维数
MNIST例子中,所有图片的值只有10种,所以输出层节点数为10:
network = Network([784, 100, 10])
iris例子中,花的类别只有{Iris-setosa,Iris-versicolor,Iris-virginica}这3种,所以输出层节点数为3:
net = Network([4, 2, 3])
隐藏层
综合网上所述,有以下几种:
构造法:首先运用三种确定隐含层层数的方法得到三个隐含层层数,找到最小值和最大值,然后从最小值开始逐个验证模型预测误差,直到达到最大值,最后选取模型误差最小的那个隐含层层数。该方法适用于双隐含层网络。
其他方法一:(输入+输出)/2
其他方法二:输入数据的大小*(2-32之间的数值)
参考:
https://www.cnblogs.com/ratels/p/12262241.html