# Réseaux de neurones/Data-mining et réseaux de neurones

Le datamining ou fouille de données est la recherche d'informations cachées qui passent inaperçues car noyées dans de trop grands ensembles de données hétéroclites.
Les réseaux de neurones sont une technique de datamining importante car elle a fait ses preuves dans de nombreuses situations notamment en exploitation de données et en aide à la prise de décisions.
Différents types de réseaux de neurones peuvent être sollicités :
₪ réseaux à apprentissage supervisé ₪ réseaux à apprentissage non supervisé : ceux de type SOM (Self Organizing Maps) sont les plus utilisés

## La mise en œuvre du réseau de neurones artificiels

Après avoir déterminé l'architecture optimale du réseau de neurones, sa mise en œuvre, correspondante au phénomène d'apprentissage automatique, a besoin de trois échantillons de données :
* l'échantillon n°1 destiné à l'apprentissage est utilisé pour le paramétrage
* l'échantillon n°2 est utilisé pour la validation
* l'échantillon n°3 est un échantillon test utilisé pour évaluer les aptitudes du réseau à la généralisation
Durant la phase n°1 correspondant à l'apprentissage, l'erreur commise régresse et tend asymptotiquement vers 0 si la configuration du réseau a été correctement choisie.
* Attention, il faut noter que plus l'erreur est faible, c'est-à-dire plus le système tend à reconnaître les formes qui lui sont présentées, moins il sera capable de généraliser. Au-delà d'une certaine limite, si le réseau reconnaît de mieux en mieux les formes de l'échantillon d'apprentissage, il fournira de mauvais résultats sur un échantillon inconnu. Il se "spécialise" or le but du réseau de neurones est de reconnaître des formes d'un échantillon inconnu.
Il est alors nécessaire de terminer la phase d'apprentissage lorsque le réseau semble donner les meilleurs résultats en généralisation. C'est l'échantillon n°2 de validation qui permet de suivre la capacité de généralisation du système.
Dès lors que le réseau est correctement paramétré, l'échantillon n°3 de test (échantillon inconnu) est utilisé afin de mesurer la capacité du réseau à reconnaître des formes inconnues.

## Objectifs des réseaux de neurones

Considérés comme étant une application de la famille du datamining, les réseaux de neurones sont avant tout un outil utilisé pour la perception et la classification. Leur utilisation met en avant leurs capacités à la généralisation et à l’apprentissage. De plus, un réseau de neurones est capable de trouver une réponse alors même que les informations fournies sont en partie erronées ou incomplètes, que cela se produise lors de son apprentissage ou de sa mise en application. Le réseau de neurones apprend lors de chacune de ses expériences, il se perfectionne au fil du temps, à condition toutefois qu’il soit averti de la validité de ses réponses et éventuellement corrigé.
Par exemple, il est possible de faire apprendre à un réseau de neurones la forme d’une lettre comme « J », puis de lui soumettre différentes lettres écrites à la main. Grâce à son aptitude à la généralisation, il sera capable avec un excellent taux de réussite, de retrouver tous les « J ». En effet, le réseau va regarder à quoi chaque lettre présentée correspond le plus, c’est ainsi que le « J » assimilé auparavant, ressortira d’avantage et sera donc identifié.

## Apprentissage

L'apprentissage est sans aucun doute la propriété la plus attractive des réseaux de neurones. Selon Claude Touzet, l'apprentissage est "une phase de développement d'un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu'à l'obtention du comportement désiré." L'apprentissage via les réseaux de neurones fait appel à l'expérience, à des exemples de comportement.
L'apprentissage d'un réseau de neurones artificiels consiste à déterminer la force optimale des connexions entre les neurones du réseau suivant le problème à résoudre. Il permet d'accorder la réponse du réseau de neurones aux exemples et à l'expérience. Il est pratiquement impossible de définir le poids des connexions du réseau au préalable pour une application sans être passé par la phase d'apprentissage. Les poids sont fixés à l'issue de cette phase et on peut alors utiliser le réseau. Certains modèles de réseaux de neurones sont dits "à apprentissage permanent" car ici l'apprentissage ne s'arrête jamais et est confondu avec la phase d'utilisation. Néanmoins, les deux phases peuvent être distinguées même si la phase d'apprentissage peut revenir au cours de l’utilisation pour mettre à jour le système. Cela permet au réseau de garder un comportement adapté malgré les variations possibles au niveau des entrées.
On distingue deux types de réseaux suivant le type d'apprentissage auxquels ils sont soumis :
* les réseaux à apprentissage supervisé
* les réseaux à apprentissage non supervisé

### Réseaux à apprentissage supervisé
#### Principe

Ils sont généralement destinés à reproduire un processus quelconque dont on connaît uniquement quelques variables et les résultats correspondants à obtenir. Dans ce cas, les données servant à l'apprentissage peuvent être représentées par le couple (entrée ; sortie désirée correspondante). Le processus est le suivant : on modifie la force des connexions tant que le résultat obtenu correspondant à chaque entrée n’est pas assez proche de la sortie souhaitée.
Les réseaux à apprentissage supervisé les plus utilisés sont les réseaux multicouches avec rétropropagation du gradient.

#### Champs d'application

* Prédiction des propriétés physiques du caoutchouc pour pneumatiques par la société Michelin
* Système de lecture automatique du montant écrit en toutes lettres sur les chèques
* Système de tri adopté par la Poste pour reconnaître les codes postaux

### Réseaux à apprentissage non supervisé
#### Principe

Les réseaux à apprentissage non supervisé sont utilisés lorsque les classes de données à obtenir ne sont pas connues à l'avance. Dans ce cas, les données servant à l'apprentissage sont uniquement des entrées. Comme c’est le cas pour les réseaux à apprentissage non supervisé, on modifie la force des connexions entre les neurones du réseau or ici il n’est pas possible de le faire en fonction d'une erreur rencontrée sur la réponse souhaitée. Dans ce type de réseaux, aucune réponse n'est connue a priori, les données étant uniquement des entrées. L'information utile se trouve donc uniquement dans les données servant de base pour l'apprentissage et en particulier dans les doublons de celles-ci.
Réseaux à apprentissage non supervisé :
* Réseaux du type "le gagnant remporte tout" (angl. : winner takes all)
** l'algorithme LBG (Linde, Buso et Gray)
** les algorithmes adaptatifs
* Réseaux du type "le gagnant remporte tout"
** les cartes auto-organisatrices : (angl. : self organizing maps (SOM)) (Kohonen)
** le gaz neuronal (Martinetz et Schulten)

#### Champs d'application
##### Classification

* Les cartes auto-organisatrices ont été utilisées en astronomie pour la classification automatique des sources lumineuses : sources ponctuelles (étoiles), sources non ponctuelles (galaxies) (1995).
* Les cartes auto-organisatrices ont été utilisées pour la classification automatique d'images satellites de l'Antarctique (1995).
* Les réseaux de type gaz neuronal ont été utilisés pour la reconnaissance de caractères manuscrits (1998).

##### Compression

* Les algorithmes du type "le gagnant remporte tout" ont été utilisés pour la fabrication de circuits électroniques spéciaux à faible consommation énergétique dédiés à la compression de données (1995).

##### Fouille de données

Les cartes auto-organisatrices introduites en 1995 par T. Kohonen sont les plus utilisés en fouille de données. En effet, l'apprentissage non supervisé consiste à entrer un grand ensemble de données dans le système sans connaître le résultat qui sera obtenu ; c’est le principe du datamining. La capacité de visualisation des données facilitent l'analyse de ces dernières. Cette particularité des cartes auto-organisatrices est souvent utilisée dans la recherche d'informations dans les textes.
| Les neurones en réseaux | Avantages et possibilités |