Met dit eenvoudige embed / lstm model komt men daar tot een test accuracy van 85%
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding_3 (Embedding) (None, 100, 100) 9254700
_________________________________________________________________
lstm_1 (LSTM) (None, 128) 117248
_________________________________________________________________
dense_3 (Dense) (None, 1) 129
=================================================================
Total params: 9,372,077
Trainable params: 117,377
Non-trainable params: 9,254,700
Het laatste testmodel komt ongeveer tot 64% dus nog een stevige weg te gaan. Eerst even kijken of ik iets mis in de data-voorbehandeling. Tags, punctuaties, enkelvoudige karakters en dubbele spaties worden verwijderd. Ik neem de "tag-verwijderfunctie" over. Die geeft inderdaad mogelijk onnodige onzin. De andere laat ik voorlopg in mijn model intact. Punctuatie heeft m.i. betekenis. Ik kan hier wellicht later nogeens op terugkomen.
Dit is het resultaat zonder de tags:
Die lijkt wel heel erg op de laatste met tags. Dat heeft dus niet veel uitgehaald. Wel is de F1 van 63 naar bijna 64% gegaan. Maar dat kan een random effect zijn.
Ik test of de volgorde van de nu gebruikte layers veel uitmaakt.
- uitgangspunt: dense/conv/maxp/atten (+flatten + dens)
- dense/atten/conv/maxp
- dense/conv/atten/maxp
Maar de oorspronkelijke volgorde lijkt tot nu toe toch de beste resultaten te geven.
De bedoeling is om een serie layers te gaan herhalen analoog aan de opbouw van Bert. Ik test een eerst een verdubbeling'. Ik zie zojuist dat model 2 en 3 hierboven een stevige tijdsverlenging met zich mee brachten. Van 38 naar 72 sec per epoch. Bij de verdubbeling van de lagen gaat de tijd naar zo'n 49 seconden.
Dat is interessant. Een verdubbeling van de layers lijkt voor een iets betere training accuracy te zorgen maar laat de validatie acc een beetje weglopen. Dat lijkt op overfitting te duiden.
Ik ga even terug naar de oorspronkelijke kearning rate (0.00001) en laat het model nu een keertje doortrainen naar 60 epochs.
Dat lijkt toch wel interesant, Naar de 66% test accuracy met een mooie F1 = 0.659. Wel lopen de curves wat uiteen en de verhoging gaat maar langaam. Ik scan eens of er andere karakter gebaseerde modellen te vinden zijn en kom op chars2vec. Die moet ik maar eens bestuderen.Ik ga even terug naar de oorspronkelijke kearning rate (0.00001) en laat het model nu een keertje doortrainen naar 60 epochs.
Geen opmerkingen:
Een reactie posten