Thématiques principales

Affichage des articles dont le libellé est Math. Afficher tous les articles
Affichage des articles dont le libellé est Math. Afficher tous les articles

jeudi 22 août 2019

Chaines youtube intéressantes

On me demande parfois si je regarde des chaînes youtubes…. alors je ne sais pas si c’est parce que les gens ont des préjugés sur ce média où effectivement on trouve de “tout”... mais avec un peu de curiosité et d’esprit critique je pense que l’on peut vraiment y trouver son bonheur.

À vrai dire, je pense même intimement que internet et des médias tels que youtube sont  probablement l’avenir du partage de l’informations sous toutes ses formes et remplacera même à terme les médias traditionnels et les chaînes nationales (j’avoue même personnellement ne plus y trouver quoique ce soit d'intéressant….)

Ce qui manque encore aujourd'hui à ce support c’est des moyens pour canaliser l’information, mettre en évidence celle qui est pertinente et enfin la rendre accessible par différents degrés de vulgarisation.

samedi 23 mars 2019

IA : Chemin vers le kernel trick

Quand tu fais face a Dunning, Kruger.... tu prends conscience de ton ignorance et du travail qu'il te reste a accomplir....

Cette semaine ça a été mon quotidien. J'ai du temps et je me suis dit, et bien pourquoi ne pas s’intéresser plus précisément aux modèles de machines learning permettant de réaliser des classification ou des régressions non linéaire? En toute logique, forcement je me suis pencher sur les SVM....

Alors bien sur ce sujet avait été traité de façon technique avec scikit-learn [2] sans se préoccuper des fondamentaux mathématiques qui se cachaient derrières... et conscient des explications faisaient défaut.

J'ai donc voulu remplir le vide.... seulement en m'intéressant aux SVM dans le cadre des problèmes de la non linéarité, on se rend vite compte qu'il s'agit d'un faux problème car il existe un outil mathématique magique (mathemagique?) qui permet de passer d'un espace de description  non linéaire a un espace linéaire : le kernel trick! et en plus cerise sur le gâteau, il permet de ne pas avoir a se poser de question sur la fonction permettant cette transformation, celle ci étant dans le noyau et que ce dernier s'applique directement! Du coup un bon choix de noyau et op, on est capable d'appliquer un SVM (qui est très efficace sur les problèmes linéaires).

Mais du coup forcement outil aussi cool que le kernel trick devait aussi etre compris et surtout pourquoi il marche!

Alors le kernel trick fonctionne car dans les équations solutions (équation dual de la forme quadratique de minimisation de la norme du vecteur de poids) du SVM, existe un produit scalaire des données d'entrées d'entrainement. Ce produit scalaire est justement l'astuce du noyaux car il autorise sa substitution avec le noyau choisi (grâce au théorème de Mercer).

A ce stade, on se rend compte qu'il y a encore des choses a expliquer.... que fait réellement le kernel trick (ou du moins qu'est ce qu'il permet de cacher?) Pourquoi avons nous une solution de minimisation des poids du modèle sous une forme quadratique?

Voila donc tout ceci pour expliquer la complexité d'un sujet que même si compris implicitement dans le survol,  il est souvent nécessaire en réalité de fournir un travail plus en profondeur pour en maîtriser réellement les tenant et aboutissant (comprenant les concepts mathématiques dans l'ombre).

Donc ce que nous allons faire c'est:
  • Expliquer comment on obtient l’équation normale
  • Comment a partir de l’équation normale, on obtient la forme duale
  • Identifier le kernel trick et son fonctionnement
  • Application de kernel trick a autre chose que SVM
Bon ok c'est probablement pas l'article que vous attendiez mais... au plus je me suis intéressé au sujet et au plus il m'a semblé nécessaire d'en écrire plusieurs.... il me fallait éclaircir la démarche, d'ou cet article...

Références

[1] https://fr.wikipedia.org/wiki/Effet_Dunning-Kruger
[2] https://un-est-tout-et-tout-est-un.blogspot.com/2018/12/ia-classification-svc-avec-scikit-learn.html

mercredi 13 mars 2019

Math: La nature des données

Jusqu'à maintenant nous nous somme intéressé comment construire un outil capable de soit prédire des données futurs (avec des modèles de régression) soit prédire l’association de celle ci avec des ensembles divers (classification)

Ces deux types de modèles sont en fait typique de la nature des données manipulées ou de la nature des données de sorties souhaitées, ici respectivement des données quantitatives et qualitatives [1,2].

dimanche 14 octobre 2018

Math : Elements de statistique de base

Pourquoi les statistiques


Les statistiques peuvent etre definies comme un sous-domaine des mathématiques dont l’objet est l’étude des données. Elles s’associent généralement d’approches, de méthodes, et de processus de traitement des données permettant de tirer d’une part des informations sur l'état des données mais aussi de permettre la construction de modeles de prediction.

Ainsi dans ce blog, nous cherchons à traiter de sujet propre à l’informatique, à la modélisation et à l’IA et il est évident que la manipulation des données et leur étude est quelque part un incontournable.

Voilà donc pourquoi nous voici avec un article abordant les concepts (de base) des statistiques
Concepts de base

Pour comprendre les statistiques, il faut s'intéresser à la nature des éléments qui en sont l’études: les données.

Les données sont des ensembles de valeurs représentant des informations collectées. Ces valeurs sont de différents types et appartiennent à des ensembles finis ou infinis, bornés ou non bornés.

Ainsi la statistique a pour propos d’identifier et comprendre la manière qu’à une donnée de prendre certaines valeurs plutôt que d’autres et pourquoi, cela amène alors à la notion d'événement et de variables aléatoires.

Variables aléatoires et univers


Une variable statistique est une variable dont l'occurrence suit une loi de probabilité (Rien ne dit de celle-ci qu’elle est uniforme, c’est à dire que ses valeurs sont équiprobables).

L’ensemble des valeurs que peut prendre une variable statistique est appelé univers de la variable.

Elle est dite aléatoire dès le cas où même en connaissant sa loi de probabilité et son univers, il est impossible de prédire une occurrence précise.

Evénement et ensemble des parties


Mathématiquement parlant, l’ensemble les parties d’un ensemble est l’ensemble contenant l’ensemble des combinaisons des éléments de l’ensemble initial y compris l’ensemble lui même et l’ensemble vide.

Ainsi, une variable statistique ayant pour univers un ensemble fini E composé des éléments ei tel que:



Aura pour ensemble des parties P l’ensemble suivant :



En terme d'interprétation, il s’agit en fait de l’ensemble des règles comportementales ou événement probabiliste qu’il est possible de construire sur la base de l’Univers de la variable statistique utilisée.

Par exemple, sur la base d’une variable X ayant pour univers E={0,1}, il sera possible de construire les événements suivant:
  • Obtenir aucune valeur
  • Obtenir la valeur 0
  • Obtenir la valeur 1
  • Obtenir n’importe quelle valeur



Enfin, en associant les éléments de l’Univers de la variable statistique aux éléments de l’ensemble des parties, on peut construire un couple E x P(E) appelé aussi espace probabilisable.

A noter qu’ici le choix de construire l’espace probabilisable sur la base de l’ensemble de partie de U est fondé sur la nature discrète de la variable statistique et sur la capacité de P(E) a être exhaustif. Il est pourtant possible d’utiliser un sous-ensemble de P(E).

A noter également que lorsque la variable statistique est continu, alors l’espace probabilisable pourra être l’association arbitraire de la segmentation de l’univers de la variable avec un ensemble d'événements caractérisant ces segments.

Par exemple si nous considérons une variable statistique telle que la taille d’une population d’individu, l’univers de cette variable pourra être défini comme étant le segment [20,220] cm.

Impossible ici de construire l’ensemble des parties de E. Cependant, nous pouvons définir un espace probabilisable pour la variable X de la façon suivante:
  • si 20<X<100 : individu un enfant
  • si 100<X<150 : individu de petite taille
  • si 150<X<180 : individu moyen
  • si 180<X<220 : individu de grande taille

Le tirage “au hasard” d’un individu pourra alors être caractérisé par un événement particulier (où plusieurs, rien n'empêchant ces derniers de se recouvrir)

Conclusion

Bon ca fait un moment que l’on avait pas traité un peu de mathématique. La dernière fois c’était en parlant des bases mathématiques pour l'IA et la fois précédente lorsque nous avions parlé des Sed et la théorie du contrôle par supervision [2] (qui s'appuie largement sur la théorie des ensemble.

Cette fois, c’est essentiellement pour revenir à quelques concepts clef du traitement de l’information et de l’analyse de données telle que l’on peut le faire une fois encore en IA où dans le Big Data. Il est évident que le sujet n’est pas encore clos et il reste plusieurs articles à écrire afin de couvrir suffisamment de notions pour que nous soyons prêt pour rentrer plus profondément dans ces sujets (que nous manquerons pas de traiter parallèlement malgré tout.