En travaillant sur le problème de régression, j'ai commencé à penser à la représentation de la fonction "jour d'une semaine". Je me demande quelle approche fonctionnerait mieux:
- une caractéristique; valeur 1/7 pour lundi; 2/7 pour mardi ...
- 7 fonctionnalités: (1, 0, 0, 0, 0, 0, 0) pour lundi; (0, 1, 0, 0, 0, 0, 0) pour mardi ...
Il est difficile de le mesurer en raison des différences de configuration réseau. (Je pense que six fonctionnalités supplémentaires devraient se refléter dans le nombre de nœuds cachés.)
Le nombre de toutes les fonctionnalités est d'environ 20. J'utilise un backprop simple pour apprendre le réseau neuronal à action directe ordinaire.
Réponses:
Votre deuxième représentation est plus traditionnelle pour les variables catégorielles comme le jour de la semaine.
Ceci est également connu sous le nom de création de variables fictives et est une méthode largement utilisée pour coder des variables catégorielles. Si vous avez utilisé l'encodage 1-7, vous dites au modèle que les jours 4 et 5 sont très similaires, tandis que les jours 1 et 7 sont très différents. En fait, les jours 1 et 7 sont tout aussi similaires que les jours 4 et 5. La même logique est valable pour l'encodage 0-30 pour les jours du mois.
Le jour du mois est un peu plus délicat, car si chaque semaine a les mêmes 7 jours, chaque mois n'a pas les mêmes 30 jours: certains mois ont 31 jours et certains mois ont 28 jours. Comme les semaines et les mois sont cycliques, vous pouvez utiliser des transformations de Fourier pour les convertir en variables linéaires lisses.
Par exemple (en utilisant R, mon langage de programmation de choix ):
(J'ai mis à l'échelle les variables sinus / cosinus pour qu'elles soient de 0/30, plutôt que de -1/1 pour que le graphique soit meilleur)
Comme vous pouvez le voir, alors que la variable "jour du mois" revient à zéro à la fin de chaque mois, les transformations sinus et cosinus font une transition en douceur qui permet au modèle de savoir que les jours à la fin d'un mois sont similaires à jours au début du mois suivant.
Vous pouvez ajouter le reste des termes Fourier comme suit:
Chaque paire d'ondes sinus / cosinus forme un cercle:
Cette page a une explication très pratique sur la façon de manipuler les ondes sinus et cosinus.
la source