Dans le domaine de l'apprentissage automatique, l'algorithme proposé par Specht [1] présente un intérêt important. Celui-ci n'a pourtant pas encore fait l'objet d'une implémentation dans le langage de programmation statistique R. La nouvelle bibliothèque logicielle PNN comble cette lacune. Considérons un ensemble d'observations représentées par des variables quantitatives réelles. Nous réalisons une classification de ces observations en plusieurs groupes. Connaissant cet ensemble d'observations et le groupe associé à chacune d'elles, nous voulons prédire le groupe d'appartenance d'une nouvelle observation. Hastie et al. [2] exposent plusieurs méthodes pour résoudre ce problème d'apprentissage automatique, ou plus précisément un problème d'apprentissage supervisé, car un ensemble d'observations dont le groupe est connu a été sélectionné par un superviseur. Le réseau de neurones artificiels constitue une des méthodes. Fondée sur une analogie avec le réseau que forment les neurones du cerveau, cette méthode s'est montrée particulièrement adéquate pour toute une série de problèmes dont l'aide à la décision, la reconnaissance de régularités et la classification. De la même manière que le cerveau adapte sa structure en fonction des apprentissages, le réseau de neurones artificiels nécessite une phase préalable d'apprentissage visant à adapter ses paramètres en fonction des observations sélectionnées par le superviseur. La technique d'adaptation des paramètres la plus commune est la rétropropagation du gradient. Bien que les réseaux de neurones artificiels constituent une méthode statistique d'excellence, cette technique d'adaptation souffre cependant de la nécessité d'un nombre important d'observations dont le groupe est connu et, surtout, d'un temps de calcul très important. Specht [1] résout le problème en proposant un modèle de réseau de neurones appelé « Probabilistic neural network » ou PNN, permettant un apprentissage instantané et fonctionnant même avec un faible nombre d'observations. Le réseau de neurones de Specht [1] est conçu selon quatre couches de neurones. Seuls les neurones de deux couches adjacentes sont interconnectés. L'information transite dans un seul sens, d'une couche n à une couche n+1. Chaque neurone d'une couche est dédié à une même tâche. La première couche associe à chaque neurone une variable de l'observation nouvelle. Ses informations sont distribuées à tous les neurones de la seconde couche. Dans cette couche, il existe un neurone par observation apprise. Chaque neurone calcule une distance euclidienne entre l'observation nouvelle et l'observation apprise, pondérée par un paramètre de lissage. Ce paramètre permet de contrôler la finesse de généralisation de la méthode. Il évolue sur l'ensemble des réels positifs non nuls et tend vers 0 lorsque le nombre d'observations d'apprentissage tend vers l'infini. Sur cette distance est appliquée ensuite une fonction d'activation exponentielle. Ces informations sont ensuite transférées à un neurone spécifique à un groupe d'observations, de la troisième couche, qui les somme. Une quatrième et dernière couche de neurones reçoit toutes les informations spécifiques à chaque groupe et opère la prédiction de la classe.