神经网络用以变形文本矫正系列第四篇

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

猜你喜欢

转载自blog.csdn.net/qq_35546153/article/details/80397585
今日推荐