La fonction nnet de Splus utilise les réseaux multicouches à une seule couche cachée.
Dans ce cas, le nombre de paramètres est donné par :
,
où p représente le nombre de variables d'entrée (en excluant
la constante) et c le nombre de neurones cachés.
La commande est la suivante :
nnet(x, y, weights, size, Wts, linout=F, entropy=F, softmax=F, skip=T, decay=0,
maxit=100)
Elle prend nécessairement comme arguments :
x : la matrice des variables d'entrée (au nombre de p)
y : la matrice des variables de sortie
size : le nombre de variables dans la couche cachée qui vaut c.
Remarquons que ce nombre peut être nul s'il existe une relation directe entre les
variables d'entrée et les variables de sortie
weights : le poids de chaque connexion (par défaut, il vaut 1).
Il existe aussi des arguments optionnels :
la fonction de transfert
qui peut être soit la fonction
linout, soit la fonction entropy, soit la fonction softmax
définies dans Splus (voir paragraphe 5.2 pour une explicitation de ces fonctions).
l'option skip qui permet une influence directe des variables d'entrée.
l'option maxit qui donne le nombre maximum d'itérations (par défaut, il
vaut 100).
l'option decay qui est une sorte de pénalisation. Son choix semble crucial
et il n'existe pas jusqu'à présent une méthode permettant de trouver la bonne
valeur. Il est conseillé d'essayer plusieurs valeurs afin de voir si des résultats
significatifs sont obtenus. Par défaut, elle vaut 0.