Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
linogaliana committed Oct 30, 2024
1 parent 3c335a3 commit 521b717
Showing 1 changed file with 63 additions and 31 deletions.
94 changes: 63 additions & 31 deletions content/modelisation/index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ bibliography: ../../reference.bib
image: https://minio.lab.sspcloud.fr/lgaliana/generative-art/pythonds/hal9000.png
---

# Introduction

Les _data scientists_ sont souvent associés à la mise en oeuvre
de modèles complexes d'intelligence artificielle.
Le succès médiatique de ce type d'outils, notamment `ChatGPT`,
Expand Down Expand Up @@ -57,11 +59,21 @@ notamment les IA symboliques, où chaque observation est caractérisée à parti
Bien que cette définition large permette d'englober la statistique inférentielle traditionnelle, elle permet néanmoins de comprendre la différence philosophique majeure entre l'approche par apprentissage automatique et l'économétrie comme nous allons pouvoir l'évoquer par la suite.


::: {.note}
## Comment définir l'intelligence artificielle ?

@RN2020 définissent l'intelligence artificielle comme

> « L'étude des agents [intelligents] qui reçoivent des préceptes de l'environnement et agissent. Chacun de ces agents est mis en œuvre par une fonction qui associe les perceptions aux actions, et nous couvrons différentes manières de de représenter ces fonctions, telles que les systèmes de production, les agents réactifs, les planificateurs logiques, les réseaux de neurones et les systèmes de gestion de l'information et les systèmes de théorie de la décision »
Cette définition très large permet d'inclure beaucoup d'approches différentes dans le champ de l'intelligence artificielle. Elle définit l'intelligence artificielle comme une règle de décision, très générique, issues de données. Pour formaliser mathématiquement, il s'agit de relier des perceptions $\mathbb{X}$, c'est-à-dire des faits pris comme donnés, à une décision $y$ grâce à une règle de décision $f$ : $y=f(\mathbb{X})$ (la décision $y$ est issue d'un ensemble de décisions, de taille restreinte ou large selon le phénomène noté $\mathcal{Y}$). La manière dont est constuite cette fonction $f$ distinguera différents champs de l'intelligence artificielle.

[^russel-norvig]: @RN2020 définissent l'intelligence artificielle comme
L'AI Act européen de 2024 propose une [définition assez similaire](https://artificialintelligenceact.eu/fr/article/3/) quoiqu'exprimée dans des termes différents:

> « L'étude des agents [intelligents] qui reçoivent des préceptes de l'environnement et agissent. Chacun de ces agents est mis en œuvre par une fonction qui associe les perceptions aux actions, et nous couvrons différentes manières de de représenter ces fonctions, telles que les systèmes de production, les agents réactifs, les planificateurs logiques, les réseaux de neurones et les systèmes de gestion de l'information et les systèmes de théorie de la décision »
> Système basé sur une machine qui est conçu pour fonctionner avec différents niveaux d'autonomie et qui peut faire preuve d'adaptabilité après son déploiement, et qui, pour des objectifs explicites ou implicites, déduit, à partir des données qu'il reçoit, comment générer des résultats tels que des prédictions, du contenu, des recommandations ou des décisions qui peuvent influencer des environnements physiques ou virtuels
Dans le cadre de ce cours, nous n'allons parler que des approches constuites autour de l'apprentissage, c'est-à-dire les approches qui visent à induire des lois, forcément incertaines, à partir d'un ensemble de données. Cette approche est très différente des [IA symboliques](https://fr.wikipedia.org/wiki/Intelligence_artificielle_symbolique) qui offrent une autonomie limitée à la machine puisque son comportement est cadré par un ensemble, parfois large, de règles déterministes.
:::

Le choix de se concentrer sur des algorithmes simples de _machine learning_ dans la partie modélisation
plutôt que d'aller directement aux réseaux de neurone, permet d'abord de
Expand All @@ -76,26 +88,15 @@ Dans de nombreux cas, des modèles plus simples comme les techniques d'apprentis
automatique (_machine learning_) suffisent largement.




## La modélisation, une approche au coeur de la statistique {.unnumbered}
# La modélisation, une approche au coeur de la statistique

Un modèle statistique
est une représentation simplifiée et structurée d'un phénomène réel,
construite à partir d'observations regroupées dans un ensemble partiel de données.
construite à partir d'observations issues d'un ensemble partiel de données.

Un modèle vise à capturer les relations et les schémas sous-jacents au sein de ces données, permettant ainsi de formuler des hypothèses, d'effectuer des prédictions et d'extrapoler des conclusions au-delà
Un modèle vise à capturer les relations et les structures sous-jacentes au sein de ces données, permettant ainsi de formuler des hypothèses, d'effectuer des prédictions et d'extrapoler des conclusions au-delà
de l'ensemble de données mesurées.
Les modèles statistiques fournissent ainsi un cadre analytique pour explorer, comprendre et interpréter les informations contenues dans les données.
Dans le domaine de la recherche économique, ils peuvent servir à
associer certains paramètres structurants des modèles de comportement
économique à des valeurs quantitatives.
Les modèles statistiques, comme les modèles économiques
présentent néanmoins toujours une part d'irréalisme [@friedman1953methodology; @salmon2010probleme]
et accepter de manière trop littérale les implications d'un modèle, même s'il
a de bonnes performances prédictives, peut être dangereux et relever d'un biais
scientiste. On sélectionne plutôt le moins mauvais modèle
que le vrai processus générateur des données.

Représenter la réalité sous la forme d'un modèle est un principe à la
base de la statistique comme discipline scientifique et ayant des
Expand All @@ -104,11 +105,22 @@ sociologie, géographique, biologie, physique, etc.
Selon les disciplines, le nom donné peut varier mais on retrouve
régulièrement la même approche scientifique : le modélisateur
construit des relations entre plusieurs variables théoriques
ayant des contreparties empiriques afin d'expliquer tel ou tel
processus.
ayant des contreparties empiriques afin de quantifier la relation entre celles-ci.
Cette approche est au coeur de la __statistique inférentielle__, par opposition à la __statistique descriptive__.
Dans les deux cas, l'objectif est d'utiliser un échantillon, c'est-à-dire un ensemble réduit de données observées,
pour mieux connaître une population, l'ensemble de données concernées par une étude. La différence entre les deux approches est liée à la manière dont cette extrapolation est faite. Dans le cadre de la statistique inférentielle, on tend plutôt à inférer des lois générales, avec des marges d'incertitude statistique, à partir des données observées, que ce soit sur la distribution statistique d'une variable (statistique univariée) ou sur les relations entre plusieurs. La statistique descriptive se contente, quant à elle, de synthétiser l'information dans un jeu de données, souvent par le biais de moments de la distribution (moyenne, quantiles, etc.) sans prétention à fournir une explication générale sur le processus générateur de données. Ces deux approches ne sont pas inconciliables, au contraire elles sont complémentaires. Se lancer dans une approche inférentielle sans avoir mené une approche descriptive approfondie amènera souvent la première vers des impasses ou des conclusions peu fiables. L'approche inférentielle peu également nourrir une analyse descriptive approfondie en permettant de hiérarchiser l'information présente dans un jeu de données et ainsi guider le travail descriptif en permettant celui-ci de se concentrer sur les faits saillants.


Dans le domaine de la recherche économique, les modèles empiriques servent généralement à associer certains paramètres structurants des modèles de comportements économiques à des valeurs quantitatives.
Les modèles statistiques, comme les modèles économiques,
présentent néanmoins toujours une part d'irréalisme [@friedman1953methodology; @salmon2010probleme]
et accepter de manière trop littérale les implications d'un modèle, même s'il
a de bonnes performances prédictives, peut être dangereux et relever d'un biais
scientiste. On sélectionne plutôt le moins mauvais modèle
que le vrai processus générateur des données.

Dans l'enseignement de l'ENSAE ce type d'approche empirique se retrouve
principalement dans deux types d'approches : le *machine learning* et
Dans l'enseignement de l'ENSAE la modélisation empirique se retrouve
principalement dans deux domaines d'application : le *machine learning* et
l'économétrie. La différence est certes
sémantique - la régression linéaire peut être considérée comme une
technique de _machine learning_ ou d'économétrie - mais elle est
Expand Down Expand Up @@ -160,13 +172,24 @@ de [valeurs de Shapley](https://shap.readthedocs.io/en/latest/index.html).



## Quelques définitions {.unnumbered}
# Quelques définitions

Dans cette partie du cours nous allons employer un certain nombre
de termes devenus familiers aux praticiens du _machine learning_
mais qui méritent d'être explicités.
mais qui méritent d'être explicités pour comprendre les prochains chapitres.

## Entraînement et inférence

Le _machine learning_ est une approche opérationnelle: l'objectif est généralement
d'estimer des relations entre variables observées pour avoir une règle de décision puis extrapoler celle-ci sur
un autre échantillon de données. Les deux prochains chapitres visent à présenter la démarche scientifique pour avoir une extrapolation de qualité.

L'entraînement (ou apprentissage) est la phase du travail où un modèle de _machine learning_ affine des relations à partir d'un ensemble de données. Pour faire l'analogie avec l'apprentissage humain, il s'agit de la phase où le machine learning va réviser ses cours avant le contrôle.

L'inférence est la phase où la règle de décision est mise en oeuvre sur de nouvelles données, qui n'ont pas été vues lors de l'entraînement. Pour reprendre l'analogie précédente, il peut s'agir de nouvelles questions lors du contrôle (phase d'évaluation) ou de l'application au monde réel des connaissances acquises lors de l'apprentissage.

### _Machine learning_ et _deep learning_ {.unnumbered}

## _Machine learning_ et _deep learning_

Jusqu'à présent nous avons beaucoup utilisé, sans le définir, le
concept de _machine learning_, dont la traduction française est
Expand All @@ -190,7 +213,7 @@ déjà de comprendre la démarche originale du _machine learning_ que vous pourr
ultérieurement.

Au sein de la grande famille des algorithmes de _machine learning_, tendent de plus à plus à devenir
autonomes les techniques de réseaux de neurone. Les techniques qui s'appuient sur les réseaux de neurones sont regroupés
autonomes les techniques de réseaux de neurone. Les techniques qui s'appuient sur les réseaux de neurones sont regroupées
dans une famille qu'on
appelle _deep learning_ (apprentissage profond en Français).
Ces réseaux sont inspirés du fonctionnement du cerveau humain et sont composés de nombreuses couches de neurones interconnectés.
Expand All @@ -208,19 +231,28 @@ cas d'application de ces méthodes.
Exemple de structure d'un réseau de neurones ([source: lebigdata.fr](https://www.lebigdata.fr/wp-content/uploads/2019/04/reseau-de-neurones-fonctionnement.jpg))
:::

Nous n'allons pas vraiment parler dans ce cours de _deep learning_ car ces modèles, pour être pertinents, nécessitent
soit des données structurées d'un volume important (ce qui est rarement disponible
en _open data_) soit des cas d'usage spécifiques, plus avancés que ne le permet
un cours d'introduction. L'organisation `HuggingFace`, créatrice de la
plateforme du même nom facilitant la réutilisation de modèles de _deep learning_
propose d'excellents cours sur le sujet, notamment sur

::: {.callout-note}

Les réseaux de neurone sont des modèles à la structure complexe. Sur des données volumineuses et complexes, ils peuvent être lourds, voire impossible à entraîner sur des machines classiques. Si les données qu'on possède correspondent à celles attendues par le modèle, il est tout à fait possible d'utiliser celui-ci pour l'inférence sans le ré-entraîner ou en mettant en oeuvre un apprentissage à la marge, dit [fine tuning](https://www.cnil.fr/fr/definition/ajustement-fine-tuning). Pour reprendre l'analogie avec l'apprentissage humain, le _fine tuning_ ressemble à la manière dont on va mettre à jour ses connaissances avec un nouveau cours avant un contrôle. Il n'est pas nécessaire de tout réapprendre, seulement de peaufiner ses connaissances avec les nouveautés du cours.

L'organisation `HuggingFace`, créatrice de la
plateforme du même nom facilitant la réutilisation de modèles de _deep learning_. Elle propose
propose aussi des cours sur le sujet, notamment sur
le [traitement du langage naturel (NLP)](https://huggingface.co/learn/nlp-course/chapter1/2?fw=pt).
Nous ferons du traitement du langage naturel dans la [prochaine partie](/content/NLP/index.qmd) de ce cours mais
de manière plus modeste en revenant sur les concepts nécessaires avant de mettre en oeuvre
une modélisation sophistiquée du langage.
:::

Nous n'allons pas vraiment parler dans cette partie du cours de _deep learning_ car ces modèles, pour être pertinents, nécessitent
soit des données structurées d'un volume important, ce qui est rarement disponible
en _open data_, et pour lesquelles les relations entre variables sont complexes, soit
des données non structurées telles que des données textuelles, des images, des vidéos, etc. Les données textuelles sont l'objet de la prochaine partie du cours car elles font appel à des concepts spécifiques, qui nécessitent déjà la compréhension des enjeux de la modélisation sur données structurées.



### Apprentissage supervisé ou non supervisé {.unnumbered}
### Apprentissage supervisé ou non supervisé


Une ligne de clivage importante entre les méthodes à mettre en oeuvre est le fait d'observer ou non
Expand Down

0 comments on commit 521b717

Please sign in to comment.