You are currently viewing Machine Learning

Machine Learning

L’objet de ce billet est de vous présenter une branche parfois un peu obscure mais essentielle du Big Data. Il s’agit du Machine Learning.

Définition :

Le Machine Learning est un type d’Intelligence Artificielle qui permet à un programme informatique d’apprendre à partir d’un jeu de données sans y avoir été explicitement programmé. Le processus d’apprentissage est similaire à celui du Data Mining. Les deux systèmes explorent les données pour rechercher des patterns. Cependant, au lieu d’extraction de données à destination de l’analyse humaine, comme c’est le cas pour le Data Mining, le Machine Learning utilise ces données pour améliorer sa propre compréhension et ajuste ses actions en conséquence.

Différents contextes, différents algorithmes :

Il existe de nombreux algorithmes de Machine Learning mais il y a surtout deux familles d’algorithmes. Les algorithmes dit « Supervisés » et « Non Supervisés » (voir schéma ci-dessus).

Supervisé : Le programme est « entrainé  » sur un jeu de données prédéfinis, qui facilitent ensuite sa capacité à parvenir à une conclusion précise quand de nouvelles données lui sont fournies.

Non Supervisé : Le programme reçois directement des jeux de données et doit y trouver des modèles et des relations.

Nous allons vous présenter deux algorithmes représentatifs de chaque famille à savoir :

    L’Algorithme de Régression linéaire : prédire une valeur basée sur d’autres valeurs

    L’algorithme de Clustering : regrouper des éléments dans des groupes de cohérences naturels.


Algorithme de régression linéaire

Une régression linéaire simple nous permet de déterminer la dépendance fonctionnelle entre deux séries de chiffres. Par exemple, déterminer la relation entre les ventes d’écharpes et de la température moyenne.

La dépendance fonctionnelle entre les deux ensembles de variables, fait donc appel à une variable indépendante d’une part et à une variable dépendante d’autre part. Dans l’exemple ci-dessus, si le changement de la température conduit à modifier les ventes d’écharpes alors, la température est la variable indépendante et la vente est variable dépendante.

La variable dépendante est aussi appelé critère ou variable. Elle est notée Y.

La variable indépendante est désignée comme covariable ou prédicteur. Elle est notée X.

Dans la plupart des techniques de modélisation il faut faire certaines hypothèses sur les données traitées. Ici l’hypothèse principale de la régression linéaire est la linéarité et l’additivité. Cela signifie que la variable dépendante est une fonction linéaire de la variable indépendante.
Considérons un espace de 2 dimensions, puis pour chaque paire (Xi, Yi) un point.

Fondé sur l’hypothèse de linéarité, avec le modèle de données fournies nous devrions obtenir une ligne droite. Dans le cadre de la régression linéaire simple, nous n’aurons qu’un nuage de points où il nous faudra trouver la ligne droite qui aura le «meilleur ajustement» pour les accueillir.

L’équation d’une ligne droite est : Y = ax + b

Ainsi, l’équation de la régression (ligne) peut être écrite comme ceci : Y = β0 + β1 X

β0 est « l’intercept » et β1 est la pente.
Les deux sont appelés coefficients du modèle ou paramètres du modèle.

β1 représente la valeur de changement de Y  si nous changeons X d’une unité.

Donc, fondamentalement, la construction du modèle de régression linéaire simple est, la résolution de cette équation pour des valeurs de coefficients du modèle.

En regardant le diagramme de dispersion ci-dessus, il est impossible de tracer une droite à travers tous les points de données. Modifions donc légèrement l’équation.

Y = β0 + β1 X + e   où «e» est l’erreur lors du calcul de Y.

Considérons l’image suivante, pour comprendre les composantes d’erreurs.
La distance entre le point prédit et point observé est une erreur. Elle est aussi appelée perturbation ou résidu.

Intuitivement on somme les mesures d’erreurs sur tous les points ∑|Yi− Yi’|
Pour des raisons de simplification mathématique, les calculs se font au carrés Σ (Yi-Yi ‘) ²

On peut ainsi rechercher à minimiser l’erreur et obtenir une « loi » qui sera la plus proche de l’information rechercher : La dépendance linéaire températures vs ventes d’écharpes.

Faisons un rapide point d’étape nous avons :

1) Un nuage de points (ce que l’on mesure);
2) Ce que l’on veut prédire;
3) Une hypothèse via une dépendance linéaire (plus il fait froid plus on vend d’écharpe) ;
4) Une conviction : il existe une dépendance linéaire meilleure que les autres;

Pour obtenir cette dernière information il faut se donner une fonction d’erreur. Donc minimiser la moyenne de l’erreur entre la prédiction et ce que l’on a mesuré.

En quoi ceci est du Machine Learning :

Si l’on reformule les choses différemment l’on peut dire : Nous sommes à la recherche d’une loi qui prédit un phénomène à partir d’autres phénomènes. Nous faisons comme seule hypothèse que notre recherche est une loi de dépendance linéaire dont nous ne connaissons pas les coefficients…nous allons donc apprendre à partir des jeux de données.


Algorithme de Clustering

Le regroupement des données est un axe important dans le cadre de l’analyse de données, elle a pour fonction de dissocier un groupe de données en différents sous-ensembles, ces sous-ensembles sont appelés groupes ou clusters. Chaque regroupement se caractérisent par des éléments fortement similaires et à contrario par une forte dissimilarité avec les autres groupes.

Cette méthode permet d’identifier et de caractériser des structures types de données, sans aucune connaissance préalable des caractéristiques initiales de ces données.

Cela touche plusieurs domaines dont la reconnaissance et l’indexation d’image, l’identification de groupes, et globalement différents besoins de classifications.

Plusieurs techniques ont été développées, la plus commune est K-means, elle doit son succès à sa capacité à traiter de larges ensembles de données et à sa simplicité de mise en œuvre.

Nous avons n points de données xii = 1 … n qui doivent être partitionnés en k cluster. L’objectif est d’attribuer un cluster pour chaque point de données. K-means est une méthode de classification qui vise à trouver la position μi, i = 1 … k des clusters qui réduisent au minimum la distance entre les points de données du cluster.

Étant donné un ensemble de points (x1, x2, …, xn), on cherche à partitionner les n points en k ensembles S = {S1, S2, …, Sk} (k ≤ n) en minimisant la distance entre les points à l’intérieur de chaque partition :

 

 

où μi est la moyenne des points dans Si

Use Case :

Le service marketing souhaite identifier les groupes de clients à risques (résiliation pour un opérateur Télécom) ayants des comportements ou des habitudes similaires. L’opérateur pourra analyser par exemple les éléments suivants: facture mensuelle, nombre de SMS, le volume de données consommées, les plages horaires d’utilisation, la durée des appels, l’ancienneté du client, éventuellement son âge et son sexe. Ainsi le marketing pourra identifier des groupes types et envisager des stratégies pour proposer de nouveaux services, ou anticiper des actes de résiliations.

Comment procède-t-on ?

Les comportements (données d’utilisation, achats..) peuvent être utilisés pour regrouper les clients en sous ensemble plus réduit. Une fois les clients regroupés dans des ensembles plus restreints  il est possible d’établir une estimation du type de comportement (impulsif, passif, pro-actif, …) .

Et cela à partir d’informations parcellaires (ex : sur la base d’un âge et données comportementale)

Hypothèse :

Il existe une relation entre l’âge et le nombre d’heures passées en communication avant une résiliation. Donc l’idée est d’utiliser les comportements pour réaliser des regroupements en catégories de clients suffisamment restreintes pour extrapoler le risque de résiliation.

C’est une stratégie de Machine Learning … puisqu’il s’agit d’un exercice « d’ajustement itératif » où l’on ne dispose pas de toutes les informations et par rebonds successif il est possible de trouver ces informations.

En pratique sur la base de nuages de points :

On fait une hypothèse de dimensionnalité où l’on cherche 2 points. On va prendre 2 points complètement au hasard dans l’espace. Un point bleu et un point rouge en bas à gauche.

On découpe les nuages de points en 2 groupes. Tous les points qui sont les plus proches du point rouges sont colorer en rouge et tous ceux qui sont les plus proches du point bleu sont colorer en bleu.

On crée donc 2 groupes de points. On obtient une séparation qui n’est pas correcte, puis l’on prend 2 nouveaux points dans chacun des groupes mais cette fois dans le centre de gravité de chaque groupe de couleurs… après itération on obtient une convergence.

Ici notre exemple est en 2 dimensions mais ceci peut être finalement réalisé dans différentes dimensions et sur autant de clusters que souhaité. Le résultat final issu de cet outil de « Machine Learning » pourrait être qualifié non pas « d’intelligence artificielle » mais « d’intuition assistée».


En conclusion

Le Machine Learning est un outil efficace mais exigeant qui nécessite 3 éléments de bases :

Savoir ce que l’on cherche

Disposer de données de bonne qualité

Savoir poser de bonnes hypothèses


Sur ces derniers mots je vous souhaite de belles soirées d’analyses

Statistiquement votre…

Adam. B.