Inmiddels een grote serie aan variaties getest. Voor een groot deel met een beeperkte dataset (50k zinnen). Helaas om tot de conclusie te komen dat het oorspronkelijke model met een extra Dropout layer en een conv layer met bereik 7 nog het beste werkt. Tevens is het bijvoorbeeld sneller dan een eenvoudig gru model.(full data conv: 961s gru: 2386s)
Hierbij een overzicht van de uitgevoerde tests:
0 Model_attention(), Datalower + adjusted punctualities. best val_acc : 0.953899987757206
1 Model:conv(), Datalower + adjusted punctualities. best val_acc : 0.9536999876499176
2 Model:bi(), Datalower + adjusted punctualities. best val_acc : 0.9497999875545502
3 F1 : 0.7710 Model:conv() + F1 (Model:bi() F10.7404, Datalower + adjusted punctualities. best val_acc : 0.9503999890089035
4 F1 : 0.7732 Model:conv() + Conv1D layer to 7. best val_acc : 0.9475999900698662
5 F1 : 0.7197 Model:conv() + add Maxpooling + add SeqSelfAttention. best val_acc : 0.9496999888420105
6 F1 : 0.6876 Model:conv() + slow learning:optimizer=Adam(lr=0.0001) best val_acc : 0.9425999903678894
7 F1 : 0.7362 Model:conv() + Adamax best val_acc : 0.950499990105629
8 F1 : 0.7656 Model:conv() + input_length200 best val_acc : 0.9486999864578247
9 F1 : 0.7254 Model:conv() + preprocess no eol best val_acc : 0.9531999888420105
10 F1 : 0.7577 Model:conv() + expanded eol best val_acc : 0.9498999876379967
11 F1 : 0.7393 Model:conv() + keep more patience(5) + 10 epochs best val_acc : 0.9478999860882759
12 F1 : 0.7606 Model:conv() + back to best test best val_acc : 0.9492999871969223
13 F1 : 0.7384 Model:conv() + back to best test(2) best val_acc : 0.950899987399578
14 F1 : 0.7548 Model:conv() + back to best test(3) best val_acc : 0.9519999876618386
15 F1 : 0.7617 Model:conv() + reloading best model best val_acc : 0.9534999892115593
16 F1 : 0.7524 Model:conv() + Conv1D backto 5 best val_acc : 0.9479999871253967
17 F1 : 0.7370 Model:conv() + Conv1D to 9 and 1024 hidden best val_acc : 0.9527999883294106
18 F1 : 0.7555 Model:conv() + Conv1D to 7 and 1024 hidden best val_acc : 0.953199989259243
19 F1 : 0.7580 Model:conv() + Dropout(.5) best val_acc : 0.9489999877214432
20 F1 : 0.7383 Model:gru() + Dropout(.5) best val_acc : 0.9483999890089035
21 F1 : 0.7814 Model:gru() + units from 32 to 128 best val_acc : 0.9478999906182289
22 F1 : 0.7610 Model:gru() + units from 32 to 128-retest gru best val_acc : 0.9533999870419503
23 F1 : 0.7713 Model:gru() + units from 128 to 256 best val_acc : 0.9524999901056289
24 F1 : 0.6871 Model:gru() + units from 128 to 256- retest best val_acc : 0.9507999865412712
25 F1 : 0.7328 Model:gru() + units from 128 to 256- retest 2 - random_state=0 best val_acc : 0.9533999865055084
26 F1 : 0.7746 Model:gru() + units back to 128 - random_state=0 best val_acc : 0.953399988412857
27 F1 : 0.7593 Model:gru() + units back to 128 - random_state=0 - retest best val_acc : 0.9515999898314476
28 F1 : 0.7617 Model:gru() random_state=0 - retest(2) same numpy randomstate best val_acc : 0.9531999880671501
29 F1 : 0.7626 Model:gru() random_state=0 - retest(2) same numpy randomstate best val_acc : 0.9528999896645546
30 F1 : 0.7587 Model:conv() random_state=0 same numpy randomstate best val_acc : 0.9545999875664711
31 F1 : 0.7301 Model:conv() remove dropoutlayer (.5) best val_acc : 0.9543999876976014
32 F1 : 0.7322 Model:gru() add dropout + MaxPooling best val_acc : 0.9429999912977218
33 F1 : 0.7651 Model:gru() (no dropout) + MaxPooling best val_acc : 0.9505999882221222
34 F1 : 0.7562 Model:gru() (no dropout) + MaxPooling retest best val_acc : 0.9501999878287315
35 F1 : 0.7557 Model:gru2() best val_acc : 0.9496999884843826
36 F1 : 0.7589 Model:gru2() including conv layer best val_acc : 0.950699988424778
37 F1 : 0.8049 Model:gru() - full data best val_acc : 0.9505727423971995
38 F1 : 0.8058 Model:conv() - full data best val_acc : 0.946965844508675
39 F1 : 0.6837 Model:conv() - + glove (btw full data conv: 961s gru: 2386s) best val_acc : 0.9486999891996384
40 F1 : 0.7486 Model:conv() - + glove (btw full data conv: 961s gru: 2386s) best val_acc : 0.9550999863147736
41 F1 : 0.8047 Model:conv() - + glove full data - trainable emb layer best val_acc : 0.9481459817551817
42 F1 : 0.5725 Model:conv() - + glove full data best val_acc non trainable : 0.9276404074803888
Glove (pretrained embeddings) lijkt zo op het eerste gezicht weinig toe te voegen. Het is beter als de embedded layer trainable is.
Geen opmerkingen:
Een reactie posten