Comprendre l’ELM (Extreme Learning Machine)
Un ELM est un réseau de neurones dont on ne règle que la dernière couche. La couche cachée est tirée au hasard puis figée ; les poids de sortie s’obtiennent par une seule résolution d’équations linéaires, sans descente de gradient. Sur l’exemple de cette page, avec 6 entrées et 25 neurones : nRMSE de 0,196 à une heure, contre 0,206 pour un modèle linéaire (AR) et 0,328 pour la persistance. Vous pouvez aussi coller vos propres données.
Série synthétique, calcul dans votre navigateur. La recette est celle du code ouvert PV_ELM_pred. English version.
Essayer
Trois réglages : le nombre d’entrées, le nombre de neurones cachés, la régularisation Ridge. Fixez-les, ou laissez l’applet les optimiser. À chaque essai, 100 couches cachées sont tirées au hasard, notées en validation, et la meilleure est retenue.
L’applet demande JavaScript.
La recette, en cinq étapes
- Les entrées. Les dernières valeurs mesurées (1 à 24 heures), centrées et réduites, plus quatre entrées d’horloge, que l’on peut décocher : sinus et cosinus de l’heure, sinus et cosinus du jour de l’année. On note x ce vecteur.
- Le hasard. Chaque neurone caché reçoit des poids tirés uniformément entre −1 et 1 et un biais tiré entre 0 et 1. Ils ne changent plus jamais. La sortie des neurones forme la matrice H (une ligne par heure, une colonne par neurone) :
- L’apprentissage. Seuls les poids de sortie β sont ajustés. La cible est centrée et réduite (z), puis β est le minimum exact de ‖Hβ − z‖² + λ‖β‖² :C’est la forme fermée : une résolution linéaire, pas de taux d’apprentissage, pas de minimum local. Le terme λ (Ridge) pénalise les grands poids ; avec λ proche de 0, on retrouve les moindres carrés ordinaires.
- L’optimisation. Le tirage compte : deux couches aléatoires ne se valent pas. On en tire 100, et pour chacune on essaie λ = 1, 10 et 25. Chaque couple est noté par validation croisée temporelle : on ajuste sur le début de l’apprentissage, on valide sur les heures qui suivent, quatre fois avec une fenêtre d’ajustement de plus en plus longue. Le couple dont l’erreur moyenne de validation est la plus petite est retenu, puis réajusté sur tout l’apprentissage. Pour optimiser aussi le nombre d’entrées et de neurones, on répète cette recherche pour chaque combinaison : c’est la recherche sur grille.
- Le test. L’apprentissage et l’optimisation utilisent les premiers 80 % de la série (32 jours). Les 20 % restants (8 jours) ne servent qu’une fois, à la fin. Les prévisions négatives sont ramenées à 0 et la nuit est mise à 0. Le nRMSE est le RMSE des heures de jour divisé par la moyenne des mesures de jour.
Six essais à faire
| Réglage | Ce que l’on voit | Ce que cela apprend |
|---|---|---|
| 6 entrées, 5 neurones | Erreur de validation de 77,3 à 203,6 W selon le tirage | Avec peu de neurones, le hasard pèse lourd : chercher parmi 100 candidats est indispensable. |
| 6 entrées, 100 neurones | De 61,3 à 64,9 W ; nRMSE de test 0,198, contre 0,196 avec 25 neurones | Avec beaucoup de neurones, les tirages se ressemblent. Mais quatre fois plus de neurones n’améliorent pas le test. |
| 1 entrée, 100 neurones, sans Ridge | nRMSE d’apprentissage 0,200, de test 0,476 (persistance : 0,328) | Sans régularisation, le modèle apprend le bruit : très bon sur l’apprentissage, mauvais sur le test. Avec Ridge optimisé : 0,187. |
| 24 entrées, 5 neurones | nRMSE de test 0,330 (persistance : 0,328) | Plus d’entrées ne suffit pas : 5 neurones ne peuvent pas résumer 28 entrées. Le modèle linéaire AR, lui, obtient 0,208 avec ces mêmes entrées. |
| 6 entrées, 25 neurones, sans les 4 entrées d’horloge | nRMSE de test 0,229, contre 0,196 avec | Les sinus et cosinus donnent l’heure au modèle : il n’a plus à la deviner à partir des dernières valeurs. |
| Les trois sur « optimiser » | 25 combinaisons ; retenu : 12 entrées, 100 neurones, λ = 1 ; nRMSE de test 0,198 | La grille choisit la meilleure validation (61,0 W, contre 62,7 W pour 6 entrées et 25 neurones). Sur le test, l’écart est négligeable : à performance égale, on garde le modèle le plus petit. |
Pourquoi ce modèle
- Forme fermée. Le résultat est le minimum exact du critère : deux personnes qui partent du même tirage obtiennent les mêmes poids.
- Simplicité. Trois réglages : le nombre d’entrées, le nombre de neurones, λ. Le code tient en quelques lignes.
- Efficience. Un essai (100 candidats, 3 valeurs de λ, 4 validations, soit 1 201 résolutions linéaires) prend moins d’une seconde dans un navigateur ; la grille complète des trois réglages (30 001 résolutions), de 15 à 30 secondes selon l’appareil.
- Frugalité. Peu de coefficients ajustés : un par neurone. Dans les études sur données réelles, la même recette est utilisée avec 500 neurones et comparée à un modèle linéaire, qui reste souvent proche : voir comparer des prévisions.
Les mots de la page
- Couche cachée
- Les neurones placés entre les entrées et la sortie. Chacun calcule une somme pondérée des entrées, puis lui applique la fonction σ, qui la ramène entre 0 et 1.
- Forme fermée
- Solution donnée par une formule, calculée en une fois, par opposition à une solution approchée pas à pas.
- Ridge, λ
- Régularisation qui ajoute λ‖β‖² au critère. Plus λ est grand, plus les poids sont petits et la prévision lisse.
- Candidat
- Une couche cachée tirée au hasard. On en compare 100.
- Recherche sur grille
- On essaie toutes les combinaisons d’une liste de valeurs pour chaque réglage, et on garde la meilleure en validation.
- nMAE, nMBE, R²
- Erreur absolue moyenne et biais moyen (prévision moins mesure), divisés par la moyenne des mesures ; part de la variance des mesures expliquée par la prévision.
- Validation croisée temporelle
- On valide toujours sur des heures postérieures à celles de l’ajustement, pour ne jamais utiliser le futur.
- Persistance
- Prévision de référence : la prochaine valeur sera égale à la dernière mesurée.
- AR (modèle autorégressif)
- Référence linéaire : la prévision est une somme pondérée des mêmes entrées, plus une constante, ajustée par moindres carrés. Ce que l’ELM gagne sur l’AR mesure l’apport de la couche non linéaire.
- nRMSE
- Racine de l’erreur quadratique moyenne (RMSE), divisée par la moyenne des mesures de la période. Écrit en fraction : 0,22 signifie 22 % de la moyenne. Deux périodes de moyennes différentes ne se comparent pas par leur nRMSE : sur l’exemple, le RMSE est de 85,4 W en apprentissage et 85,5 W en test, mais le nRMSE passe de 0,234 à 0,196, parce que les jours de test sont plus ensoleillés.
Hypothèses et limites
- La série est synthétique : 40 jours horaires d’une centrale fictive de 1 kWc (courbe de ciel clair multipliée par un facteur nuageux à mémoire). Les chiffres de cette page illustrent la méthode ; ce ne sont pas des résultats de recherche.
- Un seul horizon (un pas de temps, soit 1 heure pour l’exemple) et de petites tailles (5 à 100 neurones, 32 jours d’apprentissage), pour que le calcul reste rapide.
- Le découpage 80 % / 20 % est un choix pédagogique de cette page ; le code PV_ELM_pred découpe à 50 % / 50 %.
- Vos données : de 200 à 2 000 valeurs à pas régulier, sans valeur manquante. La série est supposée commencer à minuit (pour les repères d’horloge). Toutes les valeurs sont notées, sans masque de nuit ; les prévisions ne sont bornées à 0 que si aucune valeur n’est négative. Rien n’est envoyé : le calcul se fait dans votre navigateur.
- « Sans Ridge » utilise λ = 10⁻⁶ et non 0 exactement, pour que le système reste résoluble.
- Pour le reste, la recette suit le code PV_ELM_pred (mêmes lois de tirage, même validation, même réajustement, mêmes métriques). Le générateur de nombres aléatoires diffère. L’applet est vérifié valeur par valeur contre une référence Python.
- Le cours de prévision solaire présente une variante (fonction tanh, 20 tirages) ; le principe est le même.
- Un ELM ne bat pas toujours un modèle linéaire. Le gain se mesure, sur le test, face à la persistance et à un modèle autorégressif.
Sources
- G.-B. Huang, Q.-Y. Zhu, C.-K. Siew. Extreme learning machine: Theory and applications. Neurocomputing 70, 489–501 (2006). doi:10.1016/j.neucom.2005.12.126
- C. Voyant. PV_ELM_pred, code ouvert de prévision par ELM (fichiers
elm_common.pyetdr_elm_ridge.py). doi:10.5281/zenodo.21487267 - C. Voyant. Cours de prévision solaire, diapositives 44 à 47. doi:10.5281/zenodo.23620101
Citer cette page
APA
Voyant, C. (2026). ELM (Extreme Learning Machine) : comprendre en essayant. www.cyrilvoyant.com. https://doi.org/10.5281/zenodo.24136645. https://www.cyrilvoyant.com/fr/outils/elm-extreme-learning-machine/
BibTeX — la page, puis l’article fondateur de la méthode.
@misc{voyant2026elmfr,
author = {Voyant, Cyril},
title = {{ELM (Extreme Learning Machine) : comprendre en essayant}},
year = {2026},
howpublished = {www.cyrilvoyant.com},
doi = {10.5281/zenodo.24136645},
url = {https://www.cyrilvoyant.com/fr/outils/elm-extreme-learning-machine/},
note = {Consulté le [date]}
}
@article{Huang2006ELM,
author = {Huang, Guang-Bin and Zhu, Qin-Yu and Siew, Chee-Kheong},
title = {Extreme learning machine: Theory and applications},
journal = {Neurocomputing},
year = {2006},
volume = {70},
pages = {489--501},
doi = {10.1016/j.neucom.2005.12.126}
}