J'utilise un RNN bidirectionnel pour détecter un événement d'occurrence déséquilibrée. La classe positive est 100 fois moins souvent que la classe négative. Sans utilisation de régularisation, je peux obtenir une précision de 100% sur le train et de 30% sur le jeu de validation. J'active la régularisation l2 et le résultat est seulement 30% de précision sur le train aussi, au lieu d'un apprentissage plus long et 100% de précision sur le jeu de validation.
Je pensais que mes données étaient peut-être trop petites, donc juste pour l'expérience, j'ai fusionné le train avec le test que je n'avais pas utilisé auparavant. La situation était la même que j'utiliserais la régularisation l2, ce que je n'avais pas maintenant. J'obtiens 30% de précision sur le train + test et validation.
En cours d'utilisation 128 unités cachées et 80 pas de temps dans les expériences mentionnées Lorsque j'ai augmenté le nombre d'unités cachées à 256, je peux à nouveau suréquiper le train + l'ensemble de test pour obtenir une précision de 100% mais toujours seulement 30% sur l'ensemble de validation.
J'ai essayé tant d'options pour les hyperparamètres et presque aucun résultat. Peut-être que l'entropie croisée pondérée est à l'origine du problème, dans des expériences données, le poids sur la classe positive est de 5. En essayant des poids plus grands, les résultats sont souvent pires autour de 20% de précision.
J'ai essayé les cellules LSTM et GRU, aucune différence.
Les meilleurs résultats que j'ai obtenus. J'ai essayé 2 couches cachées avec 256 unités cachées, cela a pris environ 3 jours de calcul et 8 Go de mémoire GPU. J'ai obtenu une précision d'environ 40 à 50% avant qu'il ne recommence à sur-ajuster alors que la régularisation l2 était activée mais pas si forte.
J'utilise des optimiseurs Adam, d'autres ne fonctionnaient pas aussi bien. La fonctionnalité que j'ai est suffisante, car en utilisant la machine d'état, je peux obtenir une précision de 90%. Dans cette machine d'état, la fonctionnalité principale est la somme et le seuillage basés sur d'autres propriétés de fonctionnalité et sa longueur variable, parfois 10, 20 horodatages, qui parle de la fonctionnalité.
Y a-t-il des directives générales que faire dans cette situation? Je n'ai rien trouvé.