0.前言
上一篇在假定样本数不变、网络结构不变的基础上,验证了随机选取样本对网络结果的影响。这一篇,验证在随机取样本、按规则取样本、dataFormat为1的情况下,尝试不同样本数对网络结果的影响。
1.实验条件
分别取样本数为:6600, 8800, 11000, 33000, 55000, 77000, 99000, 222000, 444000, 666000, 888000, 1111000以及最大数1336500。
1.1 样本数为33000按顺序选取样本的实验结果
(1)取样本数为33000
不随机取样本,dataFormat为1,网络结构不变:batch_size = 200,epochs = 200,firstLayerInputDim = 858,firstLayerOutput = 572,secondLayerOutput = 572, thirdLayerOutput = 5;
data_train需要相对应的改变。样本数为11000时,data_train为8000, 此时设置为26400;
data_trainSamplesNum = int((4/5)*sampleNums)
开始实验:
Using TensorFlow backend. load data begin... dataFormat = 1 load data..., no random! load done Data.shape= (33000, 858) label.shape= (33000, 5) reshape data shape= (33000, 858) reshape label shape= (33000, 5) data_trainSamplesNum= 26400 data_train.shape= (26400, 858) data_test.shape= (6600, 858) label_train.shape= (26400, 5) label_test.shape= (6600, 5) construct net begin... Training... Epoch 1/200 200/26400 [..............................] - ETA: 13:51 - loss: 0.2009 - acc: 0.2950 1000/26400 [>.............................] - ETA: 2:42 - loss: 0.4578 - acc: 0.5780 2000/26400 [=>............................] - ETA: 1:18 - loss: 0.3333 - acc: 0.5960 3000/26400 [==>...........................] - ETA: 50s - loss: 0.2334 - acc: 0.5960 4200/26400 [===>..........................] - ETA: 34s - loss: 0.1704 - acc: 0.6269 5400/26400 [=====>........................] - ETA: 25s - loss: 0.1339 - acc: 0.6894 6800/26400 [======>.......................] - ETA: 19s - loss: 0.1071 - acc: 0.7396 8200/26400 [========>.....................] - ETA: 14s - loss: 0.0893 - acc: 0.7767 9600/26400 [=========>....................] - ETA: 11s - loss: 0.0768 - acc: 0.8033 10800/26400 [===========>..................] - ETA: 9s - loss: 0.0686 - acc: 0.8208 12200/26400 [============>.................] - ETA: 8s - loss: 0.0610 - acc: 0.8365 13600/26400 [==============>...............] - ETA: 6s - loss: 0.0550 - acc: 0.8491 15000/26400 [================>.............] - ETA: 5s - loss: 0.0502 - acc: 0.8592 16400/26400 [=================>............] - ETA: 4s - loss: 0.0462 - acc: 0.8673 17800/26400 [===================>..........] - ETA: 3s - loss: 0.0427 - acc: 0.8739 19200/26400 [====================>.........] - ETA: 2s - loss: 0.0398 - acc: 0.8802 20600/26400 [======================>.......] - ETA: 2s - loss: 0.0373 - acc: 0.8846 22000/26400 [========================>.....] - ETA: 1s - loss: 0.0351 - acc: 0.8887 23400/26400 [=========================>....] - ETA: 0s - loss: 0.0332 - acc: 0.8917 24800/26400 [===========================>..] - ETA: 0s - loss: 0.0314 - acc: 0.8935 26200/26400 [============================>.] - ETA: 0s - loss: 0.0299 - acc: 0.8965 26400/26400 [==============================] - 7s 283us/step - loss: 0.0297 - acc: 0.8967 Epoch 2/200 200/26400 [..............................] - ETA: 1s - loss: 0.0030 - acc: 0.9400 1600/26400 [>.............................] - ETA: 0s - loss: 0.0026 - acc: 0.9275 3000/26400 [==>...........................] - ETA: 0s - loss: 0.0026 - acc: 0.9343 4400/26400 [====>.........................] - ETA: 0s - loss: 0.0026 - acc: 0.9343 5800/26400 [=====>........................] - ETA: 0s - loss: 0.0026 - acc: 0.9348 7200/26400 [=======>......................] - ETA: 0s - loss: 0.0025 - acc: 0.9369 8600/26400 [========>.....................] - ETA: 0s - loss: 0.0025 - acc: 0.9362 10000/26400 [==========>...................] - ETA: 0s - loss: 0.0026 - acc: 0.9368 11400/26400 [===========>..................] - ETA: 0s - loss: 0.0025 - acc: 0.9368 12800/26400 [=============>................] - ETA: 0s - loss: 0.0025 - acc: 0.9363 14200/26400 [===============>..............] - ETA: 0s - loss: 0.0025 - acc: 0.9363 15600/26400 [================>.............] - ETA: 0s - loss: 0.0025 - acc: 0.9365 17000/26400 [==================>...........] - ETA: 0s - loss: 0.0025 - acc: 0.9356 18400/26400 [===================>..........] - ETA: 0s - loss: 0.0025 - acc: 0.9348 19800/26400 [=====================>........] - ETA: 0s - loss: 0.0025 - acc: 0.9344 21200/26400 [=======================>......] - ETA: 0s - loss: 0.0025 - acc: 0.9349 22600/26400 [========================>.....] - ETA: 0s - loss: 0.0025 - acc: 0.9349 24000/26400 [==========================>...] - ETA: 0s - loss: 0.0025 - acc: 0.9348 25400/26400 [===========================>..] - ETA: 0s - loss: 0.0025 - acc: 0.9345 26400/26400 [==============================] - 1s 39us/step - loss: 0.0025 - acc: 0.9343 Epoch 179/200 200/26400 [..............................] - ETA: 1s - loss: 4.4376e-04 - acc: 0.9500 1400/26400 [>.............................] - ETA: 1s - loss: 4.2522e-04 - acc: 0.9543 2800/26400 [==>...........................] - ETA: 0s - loss: 4.4004e-04 - acc: 0.9539 4200/26400 [===>..........................] - ETA: 0s - loss: 4.4611e-04 - acc: 0.9533 5400/26400 [=====>........................] - ETA: 0s - loss: 4.5499e-04 - acc: 0.9509 6800/26400 [======>.......................] - ETA: 0s - loss: 4.5310e-04 - acc: 0.9522 8200/26400 [========>.....................] - ETA: 0s - loss: 4.5498e-04 - acc: 0.9543 9600/26400 [=========>....................] - ETA: 0s - loss: 4.5259e-04 - acc: 0.9547 10800/26400 [===========>..................] - ETA: 0s - loss: 4.5429e-04 - acc: 0.9536 12200/26400 [============>.................] - ETA: 0s - loss: 4.4919e-04 - acc: 0.9547 13400/26400 [==============>...............] - ETA: 0s - loss: 4.5157e-04 - acc: 0.9546 14600/26400 [===============>..............] - ETA: 0s - loss: 4.5520e-04 - acc: 0.9551 15800/26400 [================>.............] - ETA: 0s - loss: 4.5481e-04 - acc: 0.9550 17000/26400 [==================>...........] - ETA: 0s - loss: 4.5637e-04 - acc: 0.9545 18400/26400 [===================>..........] - ETA: 0s - loss: 4.5843e-04 - acc: 0.9545 19600/26400 [=====================>........] - ETA: 0s - loss: 4.5833e-04 - acc: 0.9542 20800/26400 [======================>.......] - ETA: 0s - loss: 4.5992e-04 - acc: 0.9541 22000/26400 [========================>.....] - ETA: 0s - loss: 4.5910e-04 - acc: 0.9539 23400/26400 [=========================>....] - ETA: 0s - loss: 4.5795e-04 - acc: 0.9541 24800/26400 [===========================>..] - ETA: 0s - loss: 4.5729e-04 - acc: 0.9542 26000/26400 [============================>.] - ETA: 0s - loss: 4.5760e-04 - acc: 0.9543 26400/26400 [==============================] - 1s 41us/step - loss: 4.5701e-04 - acc: 0.9543 Epoch 180/200 200/26400 [..............................] - ETA: 1s - loss: 4.5116e-04 - acc: 0.9750 1400/26400 [>.............................] - ETA: 1s - loss: 4.2080e-04 - acc: 0.9593 2600/26400 [=>............................] - ETA: 0s - loss: 4.4657e-04 - acc: 0.9550 4000/26400 [===>..........................] - ETA: 0s - loss: 4.4213e-04 - acc: 0.9550 5400/26400 [=====>........................] - ETA: 0s - loss: 4.4307e-04 - acc: 0.9543 6800/26400 [======>.......................] - ETA: 0s - loss: 4.4529e-04 - acc: 0.9541 8200/26400 [========>.....................] - ETA: 0s - loss: 4.5188e-04 - acc: 0.9538 9400/26400 [=========>....................] - ETA: 0s - loss: 4.5175e-04 - acc: 0.9532 10800/26400 [===========>..................] - ETA: 0s - loss: 4.5151e-04 - acc: 0.9530 12200/26400 [============>.................] - ETA: 0s - loss: 4.5413e-04 - acc: 0.9531 13600/26400 [==============>...............] - ETA: 0s - loss: 4.5633e-04 - acc: 0.9533 14800/26400 [===============>..............] - ETA: 0s - loss: 4.5340e-04 - acc: 0.9541 16200/26400 [=================>............] - ETA: 0s - loss: 4.5591e-04 - acc: 0.9536 17600/26400 [===================>..........] - ETA: 0s - loss: 4.5815e-04 - acc: 0.9540 19000/26400 [====================>.........] - ETA: 0s - loss: 4.5785e-04 - acc: 0.9539 20400/26400 [======================>.......] - ETA: 0s - loss: 4.5802e-04 - acc: 0.9547 21800/26400 [=======================>......] - ETA: 0s - loss: 4.5758e-04 - acc: 0.9550 23200/26400 [=========================>....] - ETA: 0s - loss: 4.5662e-04 - acc: 0.9544 24400/26400 [==========================>...] - ETA: 0s - loss: 4.5710e-04 - acc: 0.9543 25800/26400 [============================>.] - ETA: 0s - loss: 4.5744e-04 - acc: 0.9546 26400/26400 [==============================] - 1s 41us/step - loss: 4.5701e-04 - acc: 0.9543 Epoch 00180: early stopping Testing ------------ 200/6600 [..............................] - ETA: 0s 2600/6600 [==========>...................] - ETA: 0s 4600/6600 [===================>..........] - ETA: 0s 6600/6600 [==============================] - 0s 25us/step test cost: [0.0021578490043545821, 0.94696969335729431] ./saveProcessResult/processdataFormat1Random0.png
可以看到准确率上升了,之前是92%,现在是95.43%,loss已经变得很低,loss: 4.5701e-04 - acc: 0.9543;
可得出以下结论:
(1)在样本数从11000到33000增加之后,准确率增加了(11000时为92.34%)3.09%,loss(之前为0.0025)下降了0.00204299,数量级是100倍的。可见样本数增加了之后,效果极大地得到了提升。
(2)之前是在184epoch停止训练,这次是180, 收敛速度加快。
2 改变batch_size的实验结果
这是在batch_size=200时的结果,试试将batch_size加大会有何变化?试一下800;
也就是说此时,试一下改变网络结构,看看效果如何?
26400/26400 [==============================] - 1s 22us/step - loss: 0.0017 - acc: 0.9270
Epoch 00174: early stopping
更快结束训练,但是准确率却下降了, loss也变的不好了。这说明,越低的batch_size,能够得到约好的结果,但是越低意味着更多的时间。
恢复成200;
3 随机选取33000个样本的实验结果
样本数保持33000, batch_size为200, 网络结构不变,随机选取样本(isRandom为真),dataFormat为1;
结果如下:
23600/26400 [=========================>....] - ETA: 0s - loss: 0.0018 - acc: 0.9456
24800/26400 [===========================>..] - ETA: 0s - loss: 0.0018 - acc: 0.9461
26200/26400 [============================>.] - ETA: 0s - loss: 0.0018 - acc: 0.9457
26400/26400 [==============================] - 1s 40us/step - loss: 0.0018 - acc: 0.9458
Epoch 00032: early stopping