Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche à rétro propagation. De tels réseaux ont une couche d entrée, une couche de sortie et une ou plusieurs couches cachées. Essayons de modéliser le prix de maisons dans une ville ( ) en fonction de trois variables X 1, X 2, X 3 considérées comme les trois entrées, h 1 et h 2 sont les nœuds cachés de la couche cachée et est donc la sortie. W 10, W 20 et W 0 sont les biais possibles des poids. Un total de 11 poids est donc à déterminer ici. W 11, W 12, W 13 sont les poids qui relient les entrées au premier nœud de la couche cachée et W 21, W 22, W 23 sont les poids qui relient les entrées au deuxième nœud de la couche cachée. En partant de la couche cachée vers la couche de sortie, W 1 et W 2 représentent les poids des deux nœuds cachés. Dans les réseaux de neurones, les poids sont appliqués aux fonctions de transfert choisies qui peuvent être des fonctions identité, sinus, logistique, arc tangente, exponentielle, etc.
Dans les problèmes de prédiction on utilise généralement des fonctions Identité puisque l étendue possible d intervalle de valeurs peut se trouver entre - et +. Par contraste, les fonctions logistiques seront plutôt utilisées pour les problèmes de classification. Pour démontrer les estimations d un simple réseau de neurones 3-2-1, nous voulons modéliser la variable Valeur des Habitations Occupées en fonction des variables Nombre Moyen de Pièces, Part de Propriétaires Occupants, et Distance au Lieu de Travail. Les résultats de ce réseau de neurones donnent les 11 poids suivants : Les poids d entrée allant vers les nœuds de la couche cachée sont : W 11 = 8.58, W 12 = 0.47, W 13 = -4.74, W 21 = -3.26, W 22 = 9.94, W 23 = 1.33 Les poids des nœuds de la couche cachée allant vers la sortie : W 1 = 2.45, W 2 = -1.62 Les poids des nœuds biais associés respectivement au premier et deuxième nœud de la couche cachée et au nœud de sortie : W 10 = -4.54, W 20 = -5.18, W 0 = 0.2 Mathématiquement ensuite, les nœuds cachés sont calculés par la fonction de transfert, encore appelée fonction d écrasement, qui compresse les valeurs entre 0 et 1. La sortie d une fonction d activation est soit 0 soit 1 quand elle est logistique comme ici, soit encore comprise entre -1 et 1, selon la fonction d activation choisie : La fonction logistique f(x) = 1/(1 + e k(x+t) ), où k est le paramètre de pente et t est la valeur déplaçant le centre de la fonction d activation au-delà de zéro. Le biais d entrée constant permet d enlever le t de l équation. Nous pouvons considérer le cerveau comme un ordinateur à calcul parallèle, non linéaire et hautement complexe. Pour le moment, il n est pas possible de créer un cerveau artificiel, mais il est possible de créer des neurones artificiels simplifiés et des réseaux de neurones artificiels pour imiter au mieux le cerveau dans beaucoup de situations différentes. La fonction d activation va modéliser la décision à prendre avec un seuil fixé ici à 0.5. Comme le comportement d un neurone est binaire, soit il envoie un signal soit il n envoie pas de signal. Un neurone n envoie pas de signal si l activité accumulée reste sous le seuil. Et si l activité dépasse le seuil, un neurone envoie un signal (produit un pic). Cette valeur seuil jouera donc
le rôle d interrupteur du neurone pour transmettre l information au neurone suivant ou à la sortie. Nous utiliserons donc cette fonction sigmoïde pour mimer au plus près le comportement du cerveau! h 1 = 1/(1+e -z1 ) et h 2 = 1/(1+e -z2 ) ; si l'activation est inférieure à 0.5, alors l activation prendra la valeur 0, sinon 1. Après un certain nombre d itérations (epoch), les poids des modèles de fonction de transfert seront calculés pour correspondre à l objectif de minimisation de l erreur entre le résultat de la fonction d activation et la réponse prévue : z 1 = W 10 + W 11 X 1 + W 12 X 2 + W 13 X 3 = -4.54 + 8.58*Nombre Moyen Pièces + 0.47*Part de Propriétaires Occupants 4.74*Distance au Lieu de Travail z 2 = W 20 + W 21 X 1 + W 22 X 2 + W 23 X 3 = -5.18 3.26*Nombre Moyen Pièces + 9.94*Part de Propriétaires Occupants + 1.33*Distance au Lieu de Travail Étant données ces valeurs de nœud cachés, nous pouvons récupérer le nœud de sortie en utilisant la fonction linéaire résultante dans : = W 0 + W 1 h 1 + W 2 h 2 = 0.2 + 2.45* h 1 1.62* h 2 Pour obtenir le score des données de validation, nous alimenterons les valeurs d entrée par les valeurs issues de l ensemble de validation dans les formules de nœud et obtiendrons ainsi le score de sortie en utilisant la formule ci-dessus. Ce modèle est évidemment non-linéaire dans les poids à estimer à partir des données d apprentissage et, une méthode conventionnelle comme les moindres carrés est inappropriée.
Comment les poids sont calculés? Imaginons deux variables d entrée I1 et I2 avec un Biais d entrée constant I0 applicable sur W0, fixé à -1 et un taux d apprentissage fixé à 0.1. Le biais d entrée est l équivalent d une ordonnée à l origine dans une régression! En calculant chaque entrée du réseau, l erreur est calculée pour chaque entrée et évolue par rétro propagation dans le réseau pendant que les poids s ajustent de façon à rendre l erreur la plus petite possible. La méthode consistant à mettre à jour les poids après chaque donnée est en général appelée gradient stochastique. À la première observation de la première itération, les poids sont fixés par une amorce aléatoire I0 1 *W0 1 + I1 1 *W1 1 + I2 1 *W2 1 = -1*0.3 + 0*0.5 + 0*(-0.4) = -0.3 et <0, donc Activation = 0 et l Erreur E 1 = Valeur prévue Activation = 0-0=0. À la deuxième observation de la première itération, I0 2 *(W0 1 + 0.1*(I0 1 )*E 1 ) + I1 2 *(W1 1 + 0.1*(I1 1 )* E 1 ) + I2 2 *(W2 1 + 0.1*(I2 1 )* E 1 ) = -1*(0.3 + 0.1*(-1)*0) + 0*(0.5 + 0.1*(0)*0) + 1*((- 0.4) + 0.1*(0)*0) = -0.7 et <0, donc Activation = 0 et l Erreur E 2 = 0-0 = 0. À la troisième observation de la première itération, I0 3 *(W0 2 + 0.1*(I0 2 )* E 2 ) + I1 3 *(W1 2 + 0.1*(I1 2 )* E 2 ) + I2 3 *(W2 2 + 0.1*(I1 2 )* E 2 ) = -1(0.3 + 0.1*(-1)*0) + 1*(0.5 + 0.1*(0)*0) + 0*((-0.4) + 0.1*(1)*0) = +0.2 et >0, donc Activation = 1 et l Erreur E 3 = 0-1= -1. À la quatrième observation de la première itération, I0 4 *(W0 3 + 0.1*(I0 3 )* E 3 ) + I1 4 *(W1 3 + 0.1*(I1 3 )* E 3 ) + I2 4 *(W2 3 + 0.1*(I2 3 )* E 3 ) = -1*(0.3 + 0.1*(-1)*(-1)) + 1*(0.5 + 0.1*(1)*(-1))+ 1*((- 0.4) + 0.1*(0)*(-1)) = -0.4 et <0, donc Activation = 0 et l Erreur E 4 = 1-0= 1. Et ainsi de suite pour tous les points de l ensemble d apprentissage pour arriver à la convergence des erreurs vers zéro ou un minimum!
La convergence mène t elle à un bon réseau? La question fondamentale critique en développant un réseau de neurones est la généralisation : comment le réseau va se comporter pour prévoir des observations qui ne font pas partie de l ensemble d apprentissage? Les réseaux de neurones, peuvent souffrir soit de sous-ajustement, soit de sur-ajustement. Un réseau qui n est pas suffisamment complexe peut échouer pour détecter convenablement le signal dans un jeu de données complexes, menant à un sous-ajustement. Un réseau trop complexe peut ajuster du bruit, et pas seulement le signal, menant à un surajustement. Le sur-ajustement est spécialement dangereux parce qu il peut mener à des prévisions en dehors de l étendue des données d apprentissage dans beaucoup de types de réseaux de neurones. Il peut également produire des mauvaises prévisions dans les perceptrons multicouches même avec des données non bruitées! Il s'agit donc de sélectionner le modèle qui offre le meilleur compromis entre la complexité du réseau et les performances sur les ensembles d'apprentissage et de validation. STATISTICA Réseaux de Neurones Automatisées (SANN) dispose d outils pour sélectionner automatiquement le meilleur modèle en évitant le sur-ajustement. La meilleure façon d éviter le sur-ajustement consiste à utiliser beaucoup de données d apprentissage. Si vous disposez d au moins 30 fois plus d observations d apprentissage qu il n y a de poids dans le réseau, vous avez peu de chances de souffrir de sur-ajustement. Pour des données moins bruitées, 5 fois plus d observations d apprentissage que de poids peut être suffisant. Mais vous ne pouvez pas réduire arbitrairement le nombre de poids par peur du sur-ajustement!