( A, B )---2*n*2---( 1, 0 )( 0, 1 )
用网络分类A和B,让A是(0,1)(0,0),让B是(0,0)(1,0)。测试集为(0,0)(0,1)(1,0)(1,1).记为网络1002.改变隐藏层节点数n,观察n的改变对网络分类能力的影响。
让n=2,固定收敛误差统计迭代次数和分类准确率
0 | 1 | 0 | 0 | 0 | 1 | 2*2*2 | ||
0 | 0 | 1 | 0 | 1b | 0 | |||
1002 | ||||||||
f2[0] | f2[1] | 迭代次数n | 平均准确率p-ave | 1-0 | 0-1 | δ | 耗时ms/次 | 耗时ms/199次 |
0.49248 | 0.50752 | 91940 | 0.5 | 0.66457 | 0.33543 | 9.00E-04 | 90.0955 | 17930 |
0.50251 | 0.49749 | 103116 | 0.5 | 0.65704 | 0.34296 | 8.00E-04 | 99.0402 | 19712 |
0.53262 | 0.46738 | 117463 | 0.5 | 0.66332 | 0.33668 | 7.00E-04 | 112.739 | 22437 |
0.53262 | 0.46738 | 136590 | 0.5 | 0.67337 | 0.32663 | 6.00E-04 | 137.794 | 27423 |
0.53263 | 0.46737 | 163342 | 0.5 | 0.66709 | 0.33291 | 5.00E-04 | 179.91 | 35803 |
A | 133 | B | A | 66 | B | |||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | |||
2 | 1 | 0 | 2 | 1 | 0 | 2 | 1 | 0 | 2 | 1 | 0 | |||
3 | 1 | 1 | 3 | 1 | 1 | 3 | 1 | 1 | 3 | 1 | 1 |
有133次013被分为A,2被分为B。有66次01被分为A,23被分为B。这两种情况的比值=133/66=2.015.
用同样的办法让n分别为3,4,5,6,7,8,9,10,11,30.得到比值的数据
n | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 30 |
比值 | 2.01515 | 1.26136 | 1.84286 | 2.06154 | 3.14583 | 4.68571 | 7.652174 | 15.5833 | 98.5 | oo | oo |
比值不断增加,013被分为A,2被分为B的占比随着隐藏层节点数的增加而增加。当n=11的时候,013被分为A,2被分为B的占比为100%,就是当n>=11的时候(1,1)被100%的分为A。
具体观察1-0位的分类准确率
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 30 | |
δ | 1-0 | 1-0 | 1-0 | 1-0 | 1-0 | 1-0 | 1-0 | 1-0 | 1-0 | 1-0 | 1-0 |
9.00E-04 | 0.66332 | 0.63568 | 0.65327 | 0.66834 | 0.68216 | 0.71231 | 0.7299 | 0.734925 | 0.74372 | 0.74372 | 0.75 |
8.00E-04 | 0.65327 | 0.63065 | 0.65327 | 0.67211 | 0.69347 | 0.70854 | 0.72613 | 0.738693 | 0.74372 | 0.74874 | 0.75 |
7.00E-04 | 0.64698 | 0.62563 | 0.66834 | 0.67588 | 0.69975 | 0.70729 | 0.72236 | 0.737437 | 0.73744 | 0.75 | 0.75 |
6.00E-04 | 0.66332 | 0.63065 | 0.6608 | 0.66583 | 0.69347 | 0.69849 | 0.72613 | 0.736181 | 0.74372 | 0.74749 | 0.75 |
5.00E-04 | 0.65452 | 0.63945 | 0.66206 | 0.66834 | 0.6897 | 0.70603 | 0.72111 | 0.734925 | 0.74749 | 0.75 | 0.75 |
1-0位的分类准确率随着n的增加而不断增加,当n=11,趋于稳定为0.75。
具体观察当n=7的数据,将收敛误差缩小到9e-5.得到表格
0 | 1 | 0 | 0 | 0 | 1 | |||
0 | 0 | 1 | 0 | 1b | 0 | |||
1002 | 7 | |||||||
f2[0] | f2[1] | 迭代次数n | p-ave | 1-0 | 0-1 | δ | 耗时ms/次 | 耗时ms/199次 |
0.44232 | 0.55769 | 39727.5 | 0.5 | 0.71608 | 0.28392 | 9.00E-04 | 94.2915 | 18768 |
0.52759 | 0.47241 | 44172.3 | 0.5 | 0.71482 | 0.28518 | 8.00E-04 | 118.266 | 23539 |
0.40717 | 0.59283 | 49765.3 | 0.5 | 0.71106 | 0.28894 | 7.00E-04 | 114.518 | 22790 |
0.53764 | 0.46236 | 57154 | 0.5 | 0.71106 | 0.28894 | 6.00E-04 | 131.312 | 26136 |
0.45733 | 0.54267 | 67182.3 | 0.5 | 0.71859 | 0.28141 | 5.00E-04 | 154.678 | 30784 |
0.52762 | 0.47238 | 83655 | 0.5 | 0.71231 | 0.28769 | 4.00E-04 | 221.367 | 44053 |
0.55775 | 0.44225 | 106743 | 0.5 | 0.70729 | 0.29271 | 3.00E-04 | 274.357 | 54600 |
0.53265 | 0.46735 | 159042 | 0.5 | 0.71106 | 0.28894 | 2.00E-04 | 357.814 | 71207 |
0.53266 | 0.46734 | 303204 | 0.5 | 0.70226 | 0.29774 | 1.00E-04 | 602.226 | 119843 |
0.55275 | 0.44725 | 335236 | 0.5 | 0.71859 | 0.28141 | 9.00E-05 | 666.548 | 132643 |
观察两个位的分类准确率已经趋于稳定,也就是即便将迭代次数设置为更大,或将收敛误差设为更小,分类情况也不会在发生变化。
所以有理由认为将收敛误差设为9e-4到5e-4得到的分类准确率就是n=1-11,30时各网络的峰值分类准确率,是稳定值将不在变化。所以这就意味这隐藏层节点数n对网络的分类能力有直接影响,若要让网络的分类行为与训练集的逻辑分类行为一致n应该存在一个最小值。对网络1002这个值应该就是11.
一个理想的网络应该对所有测试图片都给出一个明确的分类,0或者100%,100%或者0.如果一个网络对一张图片给出50%,50%的判断,这是一种双重态,表明这个网络并不能用于对这张图片分类。所以对于网络1002,随着n的增加(1,1)的归属变得更为明确,表明这个网络的性能是在提高.
一个理想的网络也应该体现训练集所有内在的分类逻辑,如果比值不是0,oo,或者0.5,而是其他值,表明这个网络结构无法表达训练集1002所有的分类逻辑,因此也不是理想的网络。因此随着n的增加,比值在不断的增加表明网络的性能在改善。
所以至少对这个网络1002来说,为了使网络的分类行为与训练集内在分类逻辑一致,存在一个最小的隐藏层节点数nmin,当隐藏层节点数n<nmin的情况下,增加n会提升网络分类能力。