Vous êtes sur la page 1sur 35

INSTITUT NATIONAL DES POSTES ET

TELECOMMUNICATIONS

Recherche bibliographique :
Machine learning pour la prédiction
météorologique

Auteur : Encadrant :
Mlle. ELHASSANI Zineb Mr. EL ISSATI Oussama
Mr. FADEL Yassine Mme. EL HADBI Assia

5 juin 2022
Remerciement

Nous remercions tout d’abord tout le personnel de l’institut de l’institut national des postes
et télécommunication pour leur aide de près ou de loin. Nous tenons à remercier également nos
chers professeurs, Monsieur EL ISSATI OUSSAMA et Madame EL HADBI ASSIA pour leur
disponibilité, leurs conseils, leur encadrement et leurs explications ainsi que la confiance qu’ils
nous ont accordée durant toute l’année.

1
Resumé

Ce travail est une recherche bibliographique qui s’intéresse au machine learning appliqué
à la prédiction de météo. Dans un premier lieu nous avons traité brièvement l’historique de
la météorologie depuis l’antiquité jusqu’à présent. Ensuite, nous avons évoqué les techniques
utilisés actuellement en prévision météorologique. Puis, nous avons défini le machine learning
et parlé de ses différents algorithmes en mettant la lumière sur l’importance de l’algorithme
ANN (Artificial Neural Network) dans notre application qui est la prédiction de météo.

2
Abstract

This work is a bibliographic research that focuses on machine learning applied to weather
prediction. In the first place we briefly treated the history of meteorology from antiquity to the
present. Then, we discussed the techniques currently used in weather forecasting. Then, we de-
fined machine learning and talked about its different algorithms, highlighting the importance of
the ANN (Artificial Neural Network) algorithm in our application, which is weather prediction.

3
Table des matières

Remerciement 1

Resumé 2

Abstract 3

Table des matière 5

Introduction 7

1 La prévision de météo 8
1.1 L’historique de la météorologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Techniques de prévision actuelles . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Analyse du prévisioniste . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Prévision numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2.1 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2.2 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2.3 Post-traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.3 prévision finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Machine learning 13
2.1 Défintion du machine learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Développement d’un modèle machinelearning . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Selection des données entraînement . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Selection de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.3 Entraînement de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 Test et validation de l’algorithme . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Machine learning une solution pertinente . . . . . . . . . . . . . . . . . . . . . . 15

4
3 Catégories du machine learning 16
3.1 Machine learning supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Machine learning non-supervisé et semi-supervisé . . . . . . . . . . . . . . . . . 17
3.2.1 Machine learning non-supervisé . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.2 Machine learning semi-supervisé . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Machine learning par renforcement . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Les algorithmes du machine learning 21


4.1 Choix d’un algorithme donné . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Des algorithmes du machine learning . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.1 L’algorithme de l’arbre de décision . . . . . . . . . . . . . . . . . . . . . 21
4.2.2 Forets aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.3 Les algorithmes de K-means clustering . . . . . . . . . . . . . . . . . . . 24
4.2.4 L’algorithme ANN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5 L’algorithme ANN : Artificial Neural Network 27


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 Fonctionnement de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3 Les fonctions nécessaires pour un reseau de neurons ANN . . . . . . . . . . . . . 29
5.3.1 La rétropropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.1.1 phase 1 : Propagation . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.1.2 Phase 2 : mise à jour du poids . . . . . . . . . . . . . . . . . . . 30
5.3.2 La fonction d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3.3 La Fonction de perte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Conclusion 33

Bibliographie 34

5
Table des figures

1.1 Histroique de la météorologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8


1.2 Carte météorologique de l’Europe, 10 décembre 1887 . . . . . . . . . . . . . . . 9
1.3 Le télégraphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1 Machine learning et l’intelligence artificielle . . . . . . . . . . . . . . . . . . . . . 13


2.2 Processus de développement d’un modèle machine learning . . . . . . . . . . . . 14

3.1 Les catégories du machine learning . . . . . . . . . . . . . . . . . . . . . . . . . 16


3.2 Machine learning supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Machine learning non-supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Machine learning semi-supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5 Machine learning par renforcement . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.1 Illustration d’un algorithme d’arbre de décision . . . . . . . . . . . . . . . . . . 22


4.2 Illustration d’un algorithme de forets aléatoires . . . . . . . . . . . . . . . . . . 23
4.3 Illustration d’un algorithme de K-means clustering dans le csa de K=3[1] . . . . 25
4.4 Le choix de K par la méthode d’Elbow . . . . . . . . . . . . . . . . . . . . . . . 25

5.1 Architercture d’un réseaux de neurons . . . . . . . . . . . . . . . . . . . . . . . 28


5.2 Schéma illustratif du fonctionnemnet de l’algoithme ANN . . . . . . . . . . . . . 29
5.3 Initialisation des poids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6
Introduction

Les conditions météorologiques dans le monde changent rapidement et continuellement.


Des prévisions correctes sont essentielles dans la vie quotidienne d’aujourd’hui. Depuis de l’agri-
culture à l’industrie, des déplacements aux trajets quotidiens, nous sommes dépendants forte-
ment des prévisions météoro-logiques. Alors que le monde entier souffre du changement clima-
tique continu et de ses effets secondaires, il est très important de prévoir la météo sans aucune
erreur pour s’assurer une mobilité facile et transparente, ainsi que des opérations quotidiennes
sûres.
Les modèles actuels de prévision météorologique dépendent fortement de modèles phy-
siques complexes et doivent être exécutés sur de grands systèmes informatiques impliquant des
centaines de nœuds HPC. La puissance de calcul de ces grands systèmes est nécessaire pour
résoudre les modèles qui décrivent l’atmosphère. Malgré l’utilisation de ces appareils coûteux
et complexes, il y a souvent des prévisions inexactes en raison de mesures initiales incorrectes
des conditions ou d’une compréhension incomplète des processus atmosphériques. De plus, il
faut généralement beaucoup de temps pour résoudre des modèles complexes comme ceux-ci.
Comme les systèmes météorologiques peuvent parcourir de longues distances dans le temps
dans toutes les directions, la météo d’un endroit dépend considérablement de celle des autres
. Dans ce travail, nous proposons d’utiliser les données météorologiques historiques d’un lieu
précis pour prévoir ses conditions météorologiques. Nous combinons ces données et les utilisons
pour former des modèles d’apprentissage automatique simples, qui à leur tour, peuvent prédire
des conditions météorologiques correctes pour les prochains jours. Ces simples modèles peuvent
être exécutés sur des systèmes informatiques à faible coût et moins gourmands en ressources,
tout en fournissant des prévisions suffisamment rapides et précises pour être utilisées dans notre
vie de tous les jours.

7
Chapitre 1

La prévision de météo

1.1 L’historique de la météorologie

Figure 1.1 – Histroique de la météorologie

La vie et le travail de bien des gens dépendent de la météorologie. Les devins de l’âge
de pierre et les prêtres de l’antiquité ont essayé de prédire le temps qu’il ferait pour pouvoir
obtenir de bonnes récoltes, éviter les inondations, etc. Dès l’Antiquité, on compose en Chine
un ouvrage sur la météorologie qui comprend également des prévisions, le Nei Jing Su Wen.
En 650 av. J.-C., les babyloniens avaient déduit le temps qu’il ferait grâce à l’observation des
types de nuages et autour de 340 av. J.-C., Aristote décrivait les patrons météorologiques[6].
Les anciennes méthodes de prévision du temps étaient toutes basées sur l’expérience
d’évènements en un endroit. Par exemple, les marins arrivaient à prédire la venue d’une tempête
à l’arrivée de nuages s’épaississant. Ceci donna lieu à une multitude de dictons tels : Si le soleil
se couche tout rouge, il fera beau demain, certains confirmés par la science moderne et d’autre
purement anecdotiques.
Les explorateurs ont depuis longtemps noté dans leurs carnets le temps qu’il faisait et

8
ces données auraient pu donner lieu à des prévisions mais c’est seulement avec la venue du
télégraphe, en 1837, que ces informations ont pu être colligées rapidement afin de se faire une
idée précise à un instant donnée de l’état de l’atmosphère. En analysant ces données sous forme
de carte, les premiers météorologistes ont pu voir le déplacement temporel des systèmes et faire
des extrapolations.

Figure 1.2 – Carte météorologique de l’Europe, 10 décembre 1887

Figure 1.3 – Le télégraphe

La venue du xxe siècle a vu le développement des équations qui régissent l’atmosphère


par différents scientifiques dont l’école norvégienne, avec Vilhelm Bjerknes à sa tête. Ce qui fut
éventuellement traduit en programme informatique quand les ordinateurs sont devenus assez
puissants dans les années 1970.
le site de Météo-France, « ces trente dernières années, la qualité des prévisions météoro-
logiques de Météo-France a été améliorée, en moyenne, d’un jour tous les dix ans. Aujourd’hui
en 2016, les prévisions à cinq jours se révèlent aussi fiables que les prévisions à trois jours il y
a vingt ans. » [6]

9
1.2 Techniques de prévision actuelles

Les étapes essentielles d’une prévision météorologique sont :


— Acquisition des données ;
— Analyse du prévisionniste (météorologue qui prévoit opérationnellement par contraste
avec celui qui est en recherche) ;
— Analyse des données ;
— Application de techniques expérimentales pour estimer le déplacement et le comportement
des systèmes indépendamment des modèles numériques.
Après, vient l’étape du modèle numérique qui contient les étapes suivantes :
— Assimilation des données dans un modèle numérique de prévision ;
— Résolution des équations de l’atmosphère par le modèle numérique pour un temps futur ;
— Post-traitement des résultats pour extraire les variables désirées ;
— Le prévisionniste compare ses estimations et les sorties d’un ou de plusieurs modèles pour
juger de la validité de ceux-ci, juger entre les différentes solutions et les corriger au besoin.

1.2.1 Analyse du prévisioniste

Il analyse l’ensemble des données de surface et d’altitude à partir de cartes météorolo-


giques tracées par ordinateur sur une station de travail, comme SYNERGIE de Météo-France et
AWIPS du National Weather Service, ou manuellement pour se faire une idée de la circulation
atmosphérique actuelle, de la trajectoire passée des systèmes et de leur état de développement.
Grâce à des techniques héritées de l’école norvégienne de météorologie, il analyse les fronts, les
creux de surface et d’altitude, les advections du mouvement vertical, etc. pour déterminer la
trajectoire future de ces systèmes. Ces techniques ont fait leur preuve, pour des périodes allant
jusqu’à 48 heures et même plus pour certaines d’entre elles. Il obtient ainsi une idée qualitative
de ce qui va se passer.

1.2.2 Prévision numérique

1.2.2.1 Analyse

L’assimilation des données que le programme compare à sa plus récente prévision pour
le même temps. Les différences entre la prévision et l’analyse sont calculées et un lissage entre
les deux est fait. Si une donnée d’observation est trop éloignée de la prévision, elle est rejetée.

10
En effet, elle est probablement mauvaise et causerait une instabilité dans le nouveau calcul de
prévision. Cette méthode est appelée l’analyse variationnelle à trois dimensions ou 3D-VAR 1 .
Une nouvelle méthode pour faire cette analyse est de lancer le programme pour prévoir
une certaine période (3 heures), ajuster les observations qui sont entrées avant et après l’heure
d’analyse à cette simulation et revenir au temps initial pour refaire l’analyse. C’est ce qu’on
appelle l’analyse variationnelle à 4 dimensions ou 4D-VAR.

1.2.2.2 Simulation

Une fois l’analyse complétée, le programme de simulation numérique démarre et calcule


le changement de l’atmosphère pour des périodes allant jusqu’à 10 jours par pas de quelques
secondes, minutes ou heures selon la configuration. Il existe différents logiciels pour ce faire à
travers le monde. Ils utilisent différentes résolutions en accord avec la durée de temps désirée
et la résolution spatiale. Le modèle de large résolution donnant une solution grossière pour le
modèle de moyenne résolution et ce dernier servant de champ d’essai pour le modèle de fine
résolution.

1.2.2.3 Post-traitement

Une fois la simulation terminée, un programme de post-traitement extrait les variables


et les présente aux prévisionnistes sous forme de carte, tables de données, coupes verticales, etc.
Ces données sont préalablement traitées pour retirer certains biais connus du modèle. C’est ce
qu’on appelle le traitement par statistique des sorties du modèle (MOS en anglais). Par exemple,
l’humidité de surface est encore un problème difficile à intégrer et simuler, le programme MOS
d’humidité corrigera donc le biais de cette variable selon les écarts habituellement trouvés dans
un modèle particulier.

1.2.3 prévision finale

Il arrive souvent que différents modèles suggèrent différentes solutions. Cela est dû à
la façon dont les équations de l’atmosphère sont intégrées dans un modèle, à sa résolution et
à l’état de l’atmosphère qui est parfois très instable et susceptible de grands changements à
partir de petites variations de l’analyse initiale . Le prévisionniste compare son scénario avec
1. Modélisation des erreurs de prévision météorologique François Bouttier

11
les résultats obtenus par le ou les modèles numériques. Il peut ainsi se faire une idée des forces
et des faiblesses des solutions qu’ils proposent et choisir la meilleure.
L’expérience des effets locaux et du comportement récent de l’atmosphère permet aux
prévisionnistes d’affiner la prévision à court et moyen terme. Il peut également changer le dé-
but de la prévision en modifiant les conditions de départ, ou espérées à court terme, pour des
endroits particuliers que le modèle n’a pas pu prévoir (prévision immédiate). Il utilise pour cela
les images satellitaires, celles des radars météorologiques, ainsi que toute autre donnée récente.

Pour conclure, on peut dire que la prévision de météo a connu un grand changement
et s’est beaucoup développée. Or, avec le changement climatique incontrôlable il s’avère encore
nécessaire d’utiliser des méthodes encore plus avancés pour prédire la météo. En effet, L’utilisa-
tion de techniques d’apprentissage automatique simples nous permet d’être soulagés des modèles
météorologiques complexes et gourmands en ressources de stations météo traditionnelles.

12
Chapitre 2

Machine learning

2.1 Défintion du machine learning

L’apprentissage automatique(Machine Learning en anglais) est un domaine scientifique


qui représente une sous-catégorie de l’intelligence artificielle. Le machine learning permet aux
algorithmes de découvrir des motifs récurrents dans un ensemble de données, et ces derniers
sont tout ce qui peuvent être stocké numériquement. La détection des patterns existant dans les
données d’entrée permet aux algorithmes d’apprendre pour améliorer leurs performance dans
l’exécution d’une tache bien déterminée.

Figure 2.1 – Machine learning et l’intelligence artificielle

L’apprentissage d’un algorithme de machine learning se fait d’une manière autonome


pour effectuer des tâches ou réaliser des prédictions à partir d’un ensemble de data, ce qui
leur permet d’ améliorer leurs performances au cours du temps.Lorsque l’algorithme a terminé
son entraînement, il pourra détecter et retrouver les motifs et les patterns dans une nouvelle
dataset.

13
2.2 Développement d’un modèle machinelearning

Le processus de développement d’un modèle machine learning est principalement consti-


tué par quatre étapes .

Figure 2.2 – Processus de développement d’un modèle machine learning

2.2.1 Selection des données entraînement

La première étape se résume par la sélection et la préparation de l’ensemble de données


pour entraîner le modèle à construire. Ces données vont êtres utilisées pour entraîner le modèle
de machine Learning pour résoudre les problèmes pour lesquels il est conçu. Les données peuvent
être étiquetées comme elles peuvent aussi être non étiquetées. Dans le premier cas on indique
au modèle les caractéristiques qu’il devra identifier, et dans le deuxième cas le modèle devra
trouver les caractéristiques récurrentes et les arracher lui-même. Pour ne pas avoir un modèle
du machine learning qui est peut être biaisé, il faut soigneusement préparer les données, les
bien organiser et les nettoyer. Sinon, les prévisions dans le future seront affectées.

2.2.2 Selection de l’algorithme

Il s’agit de choisir l’algorithme le plus convenable pour construire le modèle de machine


learning souhaité. Pour choisir cet algorithme on considère deux critères principale : la nature
du problème qu’on souhaite à résoudre et le volume du data qu’on dispose dans le dataset.

2.2.3 Entraînement de l’algorithme

C’est l’étape où l’apprentissage automatique se déroule en alimentant l’algorithme par


l’ensemble des données dans le dataset. Une formation cohérente peut améliorer considéra-
blement le taux de prédiction du modèle ML. Les poids du modèle doivent être initialisés
aléatoirement. De cette façon, l’algorithme apprendra à ajuster les poids en conséquence.
Le processus d’entraînement commence par l’exécution de quelques variable en utilisant
notre algorithme, et en comparant les résultats obtenus avec les résultats qu’il devrait avoir.
On exécute, par la suite, un nouveau morceau de variables jusqu’à ce qu’on arrive au point où
l’algorithme produise le résultat exact dans la majorité des essaies exécutées. La précision des

14
résultats obtenus peut être amélioré par l’ajustement du biais et les poids. Le modèle machine
learning est l’algorithme entraîné.

2.2.4 Test et validation de l’algorithme

Le modèle du machine learning devra être évaluer pour le valider en utilisant des nouvelle
datasets qu’on appelle les données de validation. Ceci permet de tester la précision du modèle
conçu, ainsi que l’identification des critères du succès du modèle en fonction de ce que le modèle
est censé accomplir est incontournable pour justifier la corrélation.

2.3 Machine learning une solution pertinente

L’apprentissage automatique est massivement utilisé dans les domaines de l’analyse des
données et la Data Science. Il a comme avantage la facilité de développer, d’évaluer et d’exécuter
des algorithmes d’analyse capables de faire la prédiction et applicables sur différents type de
données afin de prévoir le future. Ainsi, l’automatisation du processus de développement des
modèles d’analyse permet d’améliorer la vitesse d’analyse et augmenter sa vitesse. En absorbant
les données à l’entrée, les algorithmes affranchirent comme résultats des généralisations sous
forme des inférences statiques, et ils peuvent se bonifier d’une façon autonome au cours du
temps. Si un changement dans les données est diagnostiqué, l’algorithme est capable de décider
ce qu’il faut faire sans aucune intervention de l’être humain. Cependant, un être humain est
toujours nécessaire pour examiner les résultats des analyses faite par les algorithme du machine
learning, ou encore donner de sens à ces résultats, et de garantir que les données de traitement
ne soient pas biaisées ou affectées.

15
Chapitre 3

Catégories du machine learning

On distingue trois type de machine learning : machine learning supervisé, ma-


chine learning non supervisé, machine learning par renforcement.

Figure 3.1 – Les catégories du machine learning

3.1 Machine learning supervisé

Les technologies machine learning supervisé sont des technologies élémentaires mais
strictes. Dans le machine learning supervisé, chaque algorithme est conçu et formé par des
scientifiques de données dotés de compétences en apprentissage automatique ( Machine lear-
ning), et l’algorithme construit un modèle mathématique à partir d’un ensemble des données
étiquetées qui contient à la fois les entrées et les sorties souhaitées. Le data scientist est chargé
de déterminer les variables ou caractéristiques que le modèle mathématique doit analyser et
utiliser pour développer des prédictions.[2]

16
Figure 3.2 – Machine learning supervisé

Pour produire une fonction déduite, l’algorithme doit analyser un échantillon ou des
« données d’apprentissage », et le processus de validation d’un modèle mathématique est appelé
« apprentissage ». Après que l’apprentissage est terminé, l’algorithme appliquera ce qui a été
appris aux nouvelles données.
Le machine learning supervisé est couramment utilisé pour faire des prédictions sur
des données indisponibles ou futures (on parle alors de "modélisation prédictive"). L’appren-
tissage automatique supervisé utilise des modèles pour prévoir les valeurs sur des ensemble de
données supplémentaires grâce à des technologies de modélisation. Les algorithmes liés à la
classification et à la régression utilisent cette catégorie d’apprentissage.
Le machine learning supervisé peut se subdiviser en deux types :
1. Classification : les variables de sortie sont regroupées sous forme des catégories.
2. Régression : la variable de sortie est une valeur spécifique.
Les principaux algorithmes du machine learning supervisé sont les suivants : forêts
aléatoires, arbres de décision, algorithme K-NN (k-Nearest Neighbors), régression linéaire, algo-
rithme de Naïve Bayes, machine à vecteurs de support (SVM), régression logistique et boosting
de gradient.

3.2 Machine learning non-supervisé et semi-supervisé

3.2.1 Machine learning non-supervisé

Dans le cadre du machine learning non supervisé, les données ne sont pas annotées ou
non étiquetés. L’algorithme d’entraînement s’applique dans ce cas à trouver seul les similarités
et les distinctions au sein de ces données, et à regrouper ensemble celles qui partagent des
caractéristique communes. C’est à dire, l’algorithme détermine lui-même la structure de l’entrée
(aucune étiquette n’est appliquée à l’algorithme). Cette approche peut elle-même être une fin en
soi, qui permet de découvrir des structures enfouies dans les données, ou un outil pour atteindre

17
un certain objectif. On appel cette approche «l’apprentissage des caractéristiques» qui cherche
à regrouper les données en des groupe de données ayant des caractéristiques commun.[2]

Figure 3.3 – Machine learning non-supervisé

On peut distinguer deux types de machine learning non-supervisé :


1. lustering : consiste à regrouper les données ayant des caractéristiques communs dans un
seul groupe ;
2. ssociation : couvre la construction des grands groupes de données en identifiant les critères
qui le permettent.
Parmi les principaux algorithmes les plus utilisés dans le machine learning non-
supervisé on cite : K-means, clustering/regroupement hiérarchique, et réduction de la dimen-
sionnalité.

3.2.2 Machine learning semi-supervisé

L’apprentissage semi-supervisé est utilisé pour les mêmes objectifs que l’appren-
tissage supervisé. L’apprentissage semi-super utilise à la fois des données étiquetées et non-
étiquetées pour s’entraîner. En règle générale, la quantité des données non-étiquetées utilisées
est plus importante par rapport à la quantité des données étiquetées. Cela reviens au fait que
les données non étiquetées sont moins chères et plus faciles à obtenir. Ce type d’apprentis-
sage peut être utilisé avec des méthodes comme la classification, la régression et la prédiction.
L’apprentissage semi-supervisé est utile quand les coûts associés à l’étiquetage sont trop élevés
pour permettre un processus d’apprentissage entièrement étiqueté. Il est par exemple utilisé
pour identifier le visage d’une personne sur une webcam. L’apprentissage semi-supervisé vise à
intégrer des données non étiquetées et étiquetées afin de créer des modèles du monde meilleurs
et plus précis. L’apprentissage semi-supervisé tente de combiner des données non étiquetées
et étiquetées (ou, plus généralement, des ensembles de données non étiquetées dans lesquelles
seuls certains points de données ont des étiquettes) dans des modèles intégrés[2].

18
Figure 3.4 – Machine learning semi-supervisé

3.3 Machine learning par renforcement

L’apprentissage automatique par renforcement consiste à empêcher le programme


informatique de prendre les meilleures décisions pour atteindre un objectif spécifique dans un
environnement dynamique (Par exemple conduire un véhicule ou affronter un adversaire dans
un jeu). Le programme de l’apprenant reçoit des commentaires sous forme de « récompenses »
et de « punitions » lorsqu’il navigue dans l’espace du problème et apprend à identifier le
comportement le plus efficace dans un contexte donné.

Figure 3.5 – Machine learning par renforcement

La machine (l’agent) est entraînée à prendre les décision les plus pertinentes grâce
à un processus itératif de nombreuses itération. L’algorithme découvre par essais et erreurs au
cours de nombreuses tentatives quelles actions rapportent les plus grandes récompenses. Les
étapes qui produisent des résultats positifs sont récompensées et les étapes qui produisent des
résultats négatifs sont pénalisées. Par la suite, l’apprentissage par renforcement comprend la

19
séquence de décisions et agit comme si un jeu était joué.
Alors, l’apprentissage automatique par renforcement est utilisé pour apprendre à un
agent comment se comporter dans un environnement qui peut être réel ou virtuel. Les données
entraînement proviennent directement de cet environnement par son interaction avec l’agent,
ce qui permet à l’agent de construire petit à petit son propre jeu de données. Et c’est ça ce
qui fait la différence entre l’apprentissage par renforcement et les autres types d’apprentissage.
C’est ce qui permet à l’agent d’apprendre un comportement qui est capable de maximiser le
nombre des récompenses données par l’environnement par essaie et erreurs.
Les deux types du machine learning par renforcement les plus connues sont :
1. Monte Carlo : le programme ne reçoit ses récompenses qu’à la fin de son état «terminal» ;
2. Machine learning par différence temporelle (TD) : les récompenses sont accordées évaluées
et à chaque étape.
Parmi les principaux algorithmes du machine learning par renforcement on cite :
Q-learning, Deep Q Network (DQN) et SARSA (State-Action-Reward-State-Action).

20
Chapitre 4

Les algorithmes du machine learning

4.1 Choix d’un algorithme donné

«Un algorithme est une séquence d’actions qui s’exécutent pour résoudre un pro-
blème, effectuer un réglage, etc. L’informatique utilise des algorithmes pour décrire les étapes
détaillées nécessaires à l’exécution d’une opération. Le machine learning utilise de nombreux
types d’algorithmes (en plus de ceux énumérés ci-dessus)».
Le choix de l’algorithme à utiliser dépend de degré de la complexité et le type de
problème qu’on souhaite à résoudre. Il peut, par exemple, être un algorithme de clustering
(pour un problème de regroupement des données) ou un algorithme de régression (pour prévoir
une sortie sous forme de valeur réelle).

4.2 Des algorithmes du machine learning

4.2.1 L’algorithme de l’arbre de décision

L’arbre de décision est un algorithme de machine learning de type supervisé, il est


très utilisé pour la résolution des problèmes de classification. Mais il est aussi pour résoudre les
de régression.
L’algorithme de l’arbre de décision est un classificateur arborescent, dans lequel les
caractéristiques d’un ensemble de données sont représentées sous forme des nœud internes, et
les règles de décision sont représentées par des branches et les résultats sont représentées par
des nœuds feuille de telle sorte que le graphe obtenu ressemble à un arbre. Dans un arbre de
décision, on a deux types de nœud : Nœud de décision et nœud feuille. Les décision sont prises
par les nœuds de décision qui dispose de plusieurs branches contrairement au nœuds feuille
qui ne dispose d’aucun branche puisque ils représentent les résultats de l’algorithme de l’arbre
de décision. En se basant sur les caractéristiques de l’ensemble des données d’entrée l’arbre de

21
décision prendre ces décisions.[1]
D’une autre façon l’arbre de décision est une représentation graphique qui nous
permet de prendre une décision ou de trouver une solution bien déterminée, en fonction des
caractéristiques des données d’entrée, qui vas nous servir à résoudre un problème donné. À
cause de sa structure arborescente, qui commence par un nœud racine et qui se développe sur
des branches, cet algorithme a été nommé arbre de décision.

Dans la majorité des cas, l’algorithme utilisé pour construire un arbre de décision est
l’algorithme CART, qui signifie Classification and Regression Tree Algorithm. Le diagramme
ci-dessous explique la structure générale d’un arbre de décision :

Figure 4.1 – Illustration d’un algorithme d’arbre de décision

Selon le graphe précédent, l’arbre de décision est composé de quatre principale com-
posantes :
1. oot Node : ou le nœud racine, c’est le point où l’arbre commence. Il contient l’ensemble
de données complet.
2. Leaf Node : ou nœud feuille, c’est le dernier nœud sur chaque branche. Il représente la
décision finale de l’arbre.
3. Sub-tree : ou sous-arborescence, c’est le résultat formé à cause de la division de l’arbo-
rescence.
4. Parent/Child Node(Noeud parent/enfant) : le nœud parent est le nœud racine, les
autre nœuds s’appellent des nœuds enfants.
L’algorithme de l’arbre de décision peut être utilisé dans plusieurs domaines parmi
lesquels on cite : grande distribution, finance, produits pharmaceutiques, etc. Le principe c’est
que « La machine se contente d’établir l’arborescence de divers résultats qui peuvent ou ne
peuvent pas se produire, et suit chaque événement jusqu’à sa conclusion naturelle tout en

22
calculant toutes les probabilités des événements pouvant se produire ».
Par exemple, une banque pourra utiliser des algorithmes d’arbre de décision pour
décider si elle finance tel ou tel emprunt. Les compagnies pharmaceutiques utilisent ces algo-
rithmes pendant leurs tests pour calculer la probabilité des effets secondaires et le coût moyen
du traitement.[3]

4.2.2 Forets aléatoires

L’algorithme Random forest, ou l’algorithme des forêts aléatoires est un algorithme


d’apprentissage automatique de type supervisé ; qu’on peut utiliser pour résoudre des problèmes
de classification et de régression dans le machine Learning. Pour résoudre un problème donné,
l’algorithme de Random Forest combine plusieurs classificateurs, afin de réduire la complexité
du problème en plus d’améliorer la performance du modèle ML. On dit alors que l’algorithme
du Random Forest est basé sur le principe de l’apprentissage d’ensemble.[1]
Le principe de cet algorithme c’est tout simplement de construire plusieurs arbres
de classification et régression, et chaque arbre va être associé à différents scénarios et variables
initiales par rapport aux autres arbres. C’est-à-dire, ensemble des arbres de décision indépen-
dants l’un à l’autre. Cet algorithme est caractérisé par randomisation, ce qui signifie que les
résultats donnés par cet algorithme sont des résultat peu lisibles et peu explicatifs.
Les algorithmes de random forest sont généralement utilisés dans les problèmes de
modélisation prédictive de classification et régression. Le graphe ci-dessous explique le fonc-
tionnement de l’algorithme de forêts aléatoires :

Figure 4.2 – Illustration d’un algorithme de forets aléatoires

Comme le nom indique, l’algorithme des forêts aléatoires est un classificateur com-
posé par plusieurs arbre de décision, ces arbres sont appliqués sur des sous-ensemble homogène
de l’ensemble de données principale. Pour faire une prévision, le random forest s’appuyer sur

23
la comparaison des décisions de l’ensemble des arbres. Et basant sur les votes majoritaires
des prédiction, l’algorithme prendra sa décision qui représente sa sortie finale. La précision de
l’algorithme random forest augmente avec le nombre d’arbre de décision qu’il utilise, ainsi la
performance s’améliore ce qui permet d’éviter les problèmes de sur-ajustement de l’algorithme.
Par exemple, on dispose de 1 000 observations sur une population, avec 10 variables.
Pour construire le modèle CART à utiliser, l’algorithme de forêt aléatoire va prendre un échan-
tillon aléatoire de 100 observations et 5 variables au hasard. L’algorithme répète ce processus à
de nombreuses reprises, puis il fait une prédiction finale sur chaque observation. La prédiction
finale n’est qu’une fonction correspondant à la somme des différentes prédictions.

4.2.3 Les algorithmes de K-means clustering

Les algorithmes de k-means (k-moyennes) sont des algorithmes de clustering, des


algorithmes d’apprentissage non-supervisé car les données d’entrée ne sont pas étiquetées. Il
consiste à regrouper les éléments du jeu de données en groupe appelé cluster, dans le but est de
faire ressortir les paternes cachés dans l’ensemble des données en regroupant les éléments qui
se ressemble. Autrement-dit, il cherche à créer des groupes d’individus homogènes, c’est-à-dire
des groupes qui se distinguent le plus possible l’un des autres et dans lesquels les individus ont
des caractéristiques communes.
Les cas d’usage classique de cet algorithme de clustering sont les problèmes de seg-
mentation.
L’algorithme de K-means clustering vise à diviser l’ensemble de données en K groupe
appelé cluster, homogène et compact. Par exemple k=2, il y aura deux clusters, trois clusters
pour k=3. La première étape du clustering consiste à définir un nombre k de centroïde aléa-
toirement, en suite associé chaque point, de l’ensemble de données, au centre du plus proche
centroïde à lui. La deuxième étape consiste à recalculer des k nouveaux centroïdes, qui sont les
centres de chaque nuage du point, et refaire l’association des points à nouveau. on répète les
mêmes opérations jusqu’à ce que les élément associés à un centroïde ne bougent plus vers un
autre centroïde.
Dans la figure suivante un exemple d’algorithme de 3-means clustering :

24
Figure 4.3 – Illustration d’un algorithme de K-means clustering dans le csa de K=3[1]

En bref, K-means clustering est un algorithme itératif qui fonctionne en deux phase,
la première c’est d’affecté les points aux centres le plus proche, et la deuxième s’agit de dépla-
cement du centre à la moyenne du cluster par le calcul du centre de gravité.
Le choix idéal du nombre K de cluster est primordial pour améliorer la précision de
cet algorithme. Dans ce cadre, plusieurs méthodes peuvent être appliquées dont la méthode la
plus connue est la méthode d’Elbow. Cette dernière consiste à tracer l’évolution du coût du
modèle (volume du cluster) en fonction du nombre du clusters, et détecter dans ce graphique
la zone de coude à partir de laquelle la variance ne baisse plu significativement. Cette zone
indique le point d’Elbow correspond au nombre du cluster optimale, celui qui réduit au max le
cout du modèle en conservant le nombre approprié du cluster.[4]

Figure 4.4 – Le choix de K par la méthode d’Elbow

25
4.2.4 L’algorithme ANN

Les réseaux neurones artificiels sont des méthodes d’apprentissage supervisé et non
supervisé qui tentent d’imiter la pensée humaine par la modélisation simplifiée des systèmes
neuronaux du cerveau de l’homme. L’intention n’est pas de modéliser le mécanisme exact du
fonctionnement biologique des cellules neurales dans le cerveau ni de créer un clone biologique.
Au lieu de cela, la biologie n’est que la source d’inspiration. L’élément de traitement unitaire est
un modèle simple appelé neurone. Chaque neurone est fondamentalement une fonction pouvant
recevoir plusieurs entrées et ne produire qu’une sortie. La combinaison de plusieurs neurones
en un réseau de neurones est-ce que nous avons appelé réseau de neurones artificiels

26
Chapitre 5

L’algorithme ANN : Artificial Neural


Network

5.1 Introduction

La prévision météorologique est devenue un domaine de recherche important au cours


des dernières décennies. Dans la plupart des cas le chercheur avait tenté d’établir une relation
linéaire entre les données météorologiques d’entrée et les données cibles. Mais avec la décou-
verte de la non-linéarité dans la nature des données météorologiques, l’attention s’est déplacée
vers la prédiction non linéaire des données météorologiques. Bien qu’il existe de nombreuses
publications sur les statistiques non linéaires pour la prévision, la plupart d’entre eux exigent
que le modèle non linéaire soit spécifié avant que l’estimation ne soit effectuée. Mais depuis que
les données météorologiques sont non linéaires et suivent une tendance très irrégulière, le réseau
de neurons artificiels (ANN) est devenu un meilleure technique pour faire ressortir la relation
structurelle entre les différentes entités. L’avantage de l’ANN par rapport aux autres méthodes
de prévision météorologique est que l’ANN minimise l’erreur en utilisant divers algorithmes et
nous donne une valeur prédite qui est presque égale à la valeur réelle. Tel le réseau est simulé
sur des données plus récentes pour connaître la tendance météorologique à l’avenir. Un réseau
de neurons est un puissant outil de modélisation de données qui est capable de capturer et de
représenter des entrées/sorties de complexes relations. La motivation pour le développement
de neurons est que la technologie réseau est née de la volonté de développer un système arti-
ficiel qui pourrait effectuer des tâches "intelligentes" similaires à ceux effectués par le cerveau
humain.

27
5.2 Fonctionnement de l’algorithme

Un reseau de neurons est composé des élèments quivants : Les couches d’entrée,
les couches cachées, la couche de sortie, un ensemble de poids et de biais à chaque niveau de
neurons, une fonction d’activation pour chaque couche cachée de neurons, une fonction de perte
qui fournit un "surentraînement" du réseau de neurons.[5]

Figure 5.1 – Architercture d’un réseaux de neurons

La figure ci-dessus montre l’architecture d’un réseau de neurons à deux couches. La


couche d’entrée est généralement exclue lorsqu’on compte les couches d’un réseau de neurons. En
regardant ce diagramme, nous pouvons voir que les neurons de chaque couche sont connectés
à tous les neurons de la couche suivante. Des poids sont donnés pour chacune des lignes de
connexion inter-neurales.
Le neuron, comme le mot est utilisé en intelligence artificielle, est un modèle logiciel
qui s’inspire de la cellule du système nerveux qui se comporte plus ou moins comme un véritable
neurone cérébral. Le modèle utilise des nombres pour rendre un neurone ou un autre plus
important pour les résultats. Ces nombres sont appelés poids.
L’image ci-dessus montre la couche d’entrée, la couche masquée et la couche de
sortie. C’est un réseau très simple ; les réseaux réels peuvent être beaucoup plus complexes
avec plusieurs couches supplémentaires. L’apprentissage en profondeur tire son nom du fait que
vous avez plusieurs couches cachées, augmentant en quelque sorte la "profondeur" du réseau
de neurons.
Les calques filtrent et traitent les informations de gauche à droite de manière pro-
gressive. C’est ce qu’on appelle l’entrée anticipée car les données ne sont transmises que dans
une seule direction.
Pour apprendre, le réseau de neurons reçoit un exemple et devine la réponse. Si la
réponse est fausse, il revient en arrière et modifie les poids et les biais dans les neurons et essaie

28
de corriger l’erreur en modifiant certaines valeurs. C’est ce qu’on appelle la rétropropagation et
elle simule ce que les gens font lorsqu’ils effectuent une tâche en utilisant une approche itérative
d’essais et d’erreurs.
Après avoir effectué ce processus plusieurs fois, le réseau de neurons commence à
s’améliorer (apprendre) et à fournir de meilleures réponses. Chacune de ces itérations est appelée
une époque. Ce nom fonctionne plutôt bien car il faut parfois des jours ou des semaines pour
dispenser une formation pour apprendre des tâches complexes.
Un point important à souligner à ce stade est que même si cela peut prendre des
jours ou des semaines pour former un réseau de neurons après l’entraînement, nous pouvons le
dupliquer avec peu d’effort en copiant la topologie, les poids et les biais du réseau formé.

Figure 5.2 – Schéma illustratif du fonctionnemnet de l’algoithme ANN

5.3 Les fonctions nécessaires pour un reseau de neurons ANN

Le réseau est d’abord initialisé en mettant tous ses poids en des petits nombres aléa-
toires - disons entre -1 et +1.

Figure 5.3 – Initialisation des poids

29
Ensuite,le modèle d’entrée est appliqué et la sortie calculée (c’est appelée passe
avant). Le calcul donne une sortie qui est complètement différent de ce que vous voulez (la
cible), puisque tous les poids sont aléatoires. Nous calculons ensuite l’erreur de chaque neurone,
qui est essentiellement : Cible – Sortie réelle. Cette erreur est ensuite utilisée mathématiquement
pour modifier les poids de manière à ce que l’erreur diminue. En d’autres termes, la sortie de
chaque neurone se rapprochera de sa cible (cette partie s’appelle la passe inverse. Le processus
est répété à nouveau et encore jusqu’à ce que l’erreur soit minime.[5]

5.3.1 La rétropropagation

C’est une méthode courante d’enseignement de réseaux de neurons artificiels pour


effectuer une tâche donnée. C’est une méthode d’apprentissage supervisé, et est une généralisa-
tion de la règle delta. Cela nécessite un enseignant qui sait, ou peut calculer,la sortie souhaitée
pour toute entrée dans l’ensemble d’apprentissage. Le terme est une abréviation pour la "pro-
pagation d’erreurs vers l’arrière".
Remarque : La rétropropagation exige que la fonction d’activation utilisée parl es
neurons (ou "nœuds") soit différentiable.
Pour une meilleure compréhension, l’apprentissage de l’algorithme de la rétropropa-
gation peut être divisé en deux phases : propagation et mise à jour du poids.

5.3.1.1 phase 1 : Propagation

Chaque propagation implique les étapes suivantes :

1. Propagation vers l’avant de l’entrée d’un modèle d’entraînement à travers le réseau de


neurons afin de générer les sorties d’activation de la propagation

2. Propagation vers l’arrière des sorties d’activation de la propagation via le réseau de neu-
rons à l’aide de la formation la cible du motif afin de générer les deltas de toutes les
sorties et les neurons cachés.

5.3.1.2 Phase 2 : mise à jour du poids

Pour chaque poids-synapse :

1. Multiplication de son delta de sortie et son activation d’entrée pour obtenir le gradient
du poids.

2. Amener le poids dans le sens opposé du gradient en soustrayant un ratio de celui-ci au


poids. Ce ratio influence la rapidité et la qualité de l’apprentissage ; il est appelé taux
d’apprentissage. Le signe du gradient d’un poids indique où l’erreur augmente ; c’est

30
pourquoi le poids doit être mis à jour dans le sens opposé. Il faut répéter les phases 1 et
2 jusqu’à ce que les performances du réseau soient entraîné. Une fois le réseau entraîné il
fournira le sortie pour n’importe quel modèle d’entrée.

5.3.2 La fonction d’activation

Il s’agit de la fonction logicielle qui détermine si l’information passe ou est arrêtée par
le neurone individuel. C’est une fonction qui transforme le signal d’entrée vers le neurone de
manière utile. La fonction d’ activation décide si un neurone doit être activé ou non en calculant
la somme pondérée et en ajoutant un biais avec elle. Le but de la fonction d’activation est
d’ introduire une non-linéarité dans la sortie d’un neurone ce qui la rend capable d’apprendre
et d’effectuer des tâches plus complexes.
Les fonctions d’activation présentent généralement trois intervalles :
— En dessous du seuil, le neurone est non-actif (souvent dans ce cas, sa sortie vaut 0 ou -1) ;
— Aux alentours du seuil, une phase de transition ;
— Au-dessus du seuil, le neurone est actif (souvent dans ce cas, sa sortie vaut 1).
Des exemples classiques de fonctions d’activation sont :
— La fonction sigmoïde ;
— La fonction tangente hyperbolique ;
— La fonction de Heaviside.

5.3.3 La Fonction de perte

La fonction de perte compare le résultat du réseau neuronal aux résultats souhaités.


Elle permet aussi d’indiquer la qualité des résultats réels des observations utilisées pendant
l’apprentissage. Plus le résultat de cette fonction est minimisé, plus le réseau de neurons est
performant. Sa minimisation, c’est-à-dire réduire au minimum l’écart entre la valeur prédite et
la valeur réelle pour une observation donnée, se fait en ajustant les différents poids du réseau
de neurons.
En guise de conclusion, les réseaux de neurons, en tant que tels, modélisent certains
types d’apprentissage humain. Cependant, les humains ont des méthodes beaucoup plus com-
plexes de catégorisation hiérarchique des objets avec peu d’effort. Les réseaux de neurons ne
sont pas très bons pour transférer des connaissances et des résultats d’un type de situation à un
autre sans réentraînement. En effet, la sortie de ces réseaux de neurons ne dépend que des poids
de l’interconnexion et aussi de ce que nous appelons les biais des neurons eux-mêmes. Bien que

31
les poids affectent la pente de la courbe de la fonction d’activation, le biais déplacera toute la
courbe vers la droite ou la gauche. Les choix de pondérations et de biais déterminent la force
des prédictions des neurons individuels. La formation du réseau neuronal implique l’utilisation
des données d’entrée pour affiner les pondérations et les biais.

32
Conclusion

La prévision météorologique est un système probabiliste, où le résultat futur est


difficile à déclarer à l’avance. Le temps dépend de plusieurs conditions climatiques comme
température, pression atmosphérique, humidité, vitesse et direction du vent, hauteur des nuages
et la densité, et les précipitations. Le changement de l’un de ces paramètres peut avoir plus ou
moins impact sur le temps futur.
Dans cette recherche bibliographique, nous avons présenté l’apprentissage automa-
tique comme étant une technique pour fournir des prévisions météorologiques. La technolo-
gie d’apprentissage automatique peut fournir des modèles intelligents, qui sont beaucoup plus
simples que les modèles physiques traditionnels. Ils sont moins gourmands en ressources et
peuvent facilement être exécutés sur presque n’importe quel ordinateur. Aujourd’hui, les pré-
visions météorologiques des prochains jours peuvent être remarquablement précises, grâce à
des décennies de développement d’équations qui capturent de près les processus atmosphé-
riques. Cependant, ils ne sont pas parfaits. Les approches basées sur les données qui utilisent
l’apprentissage automatique et d’autres outils d’intelligence artificielle pour apprendre des mo-
dèles météorologiques passés peuvent fournir des prévisions encore meilleures, avec des coûts
de calcul inférieurs. En effet, la prévision météorologique est une technique en temps réel uti-
lisé dans plusieurs applications telles que aéroport, agriculture, et tourisme. Ainsi, la précision
des prévisions météorologiques est d’une importance primordiale pour la prise de décision. De
nombreuses techniques de classification telles que la machine à vecteurs de support, K-nearest
voisin, classificateur Bayes naïf, arbre de décision, quantification vectorielle d’apprentissage,
réseau neuronal artificiel (ANN), etc., sont utilisés pour classer dans des classes telles que en-
soleillé, partiellement nuageux, orage, etc. Cependant, l’ANN utilise l’intelligence artificielle
ainsi que la rétropropagation d’erreurs pour comprendre les données d’entrée complexes et non
linéaires. Le succès du modèle dépend de plusieurs critères tels que l’ensemble des données
d’entrée, la structure du modèle, la fonction d’activation de chaque couche,le nombre de para-
mètres d’entrée et de sortie, le nombre de couches cachées et de neurons dans chaque couche.
Une bonne disposition de tous ces paramètres donnera donc des résultats plus précis.

33
Bibliographie

[1] <https://www.javatpoint.com/k-means-clustering-algorithm-in-machine-learning/
>.

[2] <https://www.talend.com/fr/resources/what-is-machine-learning//>.

[3] <https://datascientest.com/>.

[4] <https://www.educba.com/machine-learning-algorithms/>.

[5] Saswata Ghoshb Abhishek Anandc Kumar Abhisheka, M.P.Singha. Weather forecasting
model using Artificial Neural Network. Procedia Technology, 2012.

[6] Wikipedia :. Prévision météorologique.

34

Vous aimerez peut-être aussi