Un algorithme parfait

There are three types of lies – lies, damn lies, and statistics.

Benjamin Disraeli

Aujourd’hui je voudrais commencer par une idée : notre manière de penser, notre langage, nos système informatiques ne reflètent jamais la réalité – ce sont des modèles de réalité. Le même constat est encore plus claire dans le cadre de Machine Learning – nous parlons de « modèles » qui permettent de « prédire » ce qui peut se passer. Probablement, la meilleure explication pour cette idée se trouve dans une émission « An Argument Against Relity… » : https://www.youtube.com/watch?v=BMvgOjGPXyw.

Vu que nous parlons de modèles, nous idéalisons la réalité, qui est toujours bien plus complexe que le modèle le plus complexe que nous sommes en capacité de construire.

Par exemple, le cercle que vous dessinez sur le papier n’a pas de circumference de « pi » diamètres juste parce que la trace consiste d’atomes qui sont « discrètes » et « imparfaits », donc nous n’avons pas assez d’atomes pour une précision « infinie » de « pi ». Dans cette situation, nous ne pouvons pas dire que notre modèle de circle est « exacte » ni que notre observation est « exacte ».

Pouvons-nous dans ce cas construire des modèles « parfaits » (plus approchés à la réalité) ? Bizarrement la réponse est « oui ».

Avant de parler de l’algorithme parfait, je voudrais partager avec vous quelques observations :

  • Il y a de plus en plus d’articles qui critiquent des modèles probabilistes et montrent la force de Machine Learning.
    Le problème est que ces mêmes personnes (souvent) ne peuvent pas expliquer d’où viennent les fonctions d’erreur qu’elles utilisent dans les modèles de régression.
  • Ce dernier temps il y avait beaucoup de publications sur le besoin « d’aplatir la courbe » (de propagation de pandémie). Probablement vous avez déjà vu l’explication sur le canal de 3Blue1Brown : https://www.youtube.com/watch?v=Kas0tIxDvrg. Ainsi on constate que la compréhension de nécessité de confinement provient du modèle probabiliste basique. Alors pour comprendre un problème et pour comprendre des solutions, il nous (humains) faut un modèle explicable, même si ce modèle est assez simple.
  • Dans une autre vie j’ai parlé avec un responsable de marketing qui a dit que pour lui le prix des produits n’était pas du tout un paramètre qui impactait la vente. Il a utilisé un modèle linéaire qui avait donné ce résultat. Il a été convaincu que ce modèle était « probabiliste » et « statistiquement correct ».

Maintenant il est temps d’attaquer notre sujet sur les modèles. En 1946 un physicien Richard Threlkeld Cox a prouvé mathématiquement que si vous croyez en quelques postulats assez faciles à comprendre, la meilleure manière de modéliser votre connaissance c’est… la théorie de probabilité, mais différente de celle qu’on a appris à l’école…

Voici l’idée :

  • Vous croyez en logique (si A donc B…).
  • Si vous êtes incertain sur un sujet, vous pouvez représenter cette incertitude et dire « je suis plus certain », « je suis moins certain ».
  • Si vous créez un modèle sur les jugements incertains, votre certitude concernant le résultat dépend de certitudes de jugements.
  • Si vous avez plusieurs manières d’analyser le problème, les bons jugements doivent donner le même résultat (peu importe le cheminement de réflexion).
  • A partir de ces propositions et quelques propositions « de régularité » Cox a obtenu les règles de jugement optimales qui sont autrement utilisés comme les « axiomes de théorie de probabilité » de Kolmogorov.

Remarque pour les experts : oui, après la publication, les erreurs « techniques » ont été trouvés, mais ils ont été corrigées par la suite.

And the winner is…

Finalement la théorie de probabilité…

Mais attendez : il y a un problème. Pour certains les résultats de ce théorème sont les axiomes, pour les autres – la suite de la logique Booléenne ? Exactement. Ce n’est pas la même théorie, en fait. Mathématiquement les formules se ressemblent, mais l’interpretation du résultat est différente (et même le résultat peut être différent!).

La théorie « standard » de Kolmogorov (Fréquentiste) parle de la fréquence d’événements, tandis que la deuxième théorie (Bayesienne, prouvée par Cox) parle de la certitude (plausibility), même si les deux utilisent le même mot pour décrire ces deux attribues : « probabilité ». C’est cette dernière théorie qui est la manière optimale pour modéliser le monde autour de nous.

Est-ce que la Théorie Bayesienne de Probabilité est meilleure que Machine Learning ou à l’inverse ? Pas vraiment. La théorie de probabilité est optimale pour les tâches que nous savons modéliser avec cette théorie, mais parfois il nous faut juste un algorithme « fast and dirty » pour résoudre un problème et nous ne cherchons pas à comprendre ce problème, il nous faut juste une solution – ML sera imbattable dans cette situation. Supposons que vous voulez prédire la fin de pandémie – vous ne pouvez pas le faire avec les réseaux de neurones (corrigez-moi si vous pouvez).

En même temps, voici quelques faits :

  • Les fonctions d’erreurs de ML sont juste obtenues via la théorie de probabilité », par exemple :
  • Le résultat d’apprentissage de ML (le modèle avec les paramètres) est connu en probabilité comme « solution avec ressemblance maximale » (maximum likelihood, MLE).
  • Beaucoup de publications classifient les modèles « graphiques » en tant que ML, alors que le modèle graphique est 100% statistique.

Conclusion : deux approches, même si elles arrivent par les différentes voies se convergent. Le « boosting » n’est plus un « pure ML », alors qu’ils existent « les réseaux de neurones probabilisées », mais ne dites jamais que la théorie de probabilité est plus faible que ML – c’est juste pas vrai.

2 commentaires

  1. Pingback: L’alchimie Machine Learning : No Free Lunch Theorem – Ordre d'informaticiens

  2. Pingback: Hacking et magie : la programmation statistique c’est cool – Ordre d'informaticiens

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *