Choisir un algorithme dans Azure Machine Learning

L’environnement de développement visuel et collaboratif Azure ML Studio est livré avec un grand nombre d'algorithmes d'apprentissage automatique (Machine Learning) qui vous permet de construire vos solutions d’analyses prédictives et expériences associées. Ces algorithmes rentrent dans les catégories générales de la régression, de la classification, du clustering et de la détection d’anomalies, et chacun de ces algorithmes est conçu pour répondre à un type différent de Machine Learning.

La question qui se pose est dès lors la suivante : Y -a-t-il quelque chose qui puisse m'aider à comprendre rapidement comment choisir un algorithme de Machine Learning pour ma solution spécifique ?

Compte tenu de la variété d’applications des méthodes tirées du #MachineLearning, il n’est effectivement pas toujours aisé dans les faits de choisir un algorithme.

C’est pourquoi nous vous proposions pour entrer de façon pragmatique dans le monde du #MachineLearning un certain nombre de billets dédiés à la compréhension des principes de fonctionnement et à la façon de les appliquer.

C’est ainsi que, comme point de départ de ce tour d’horizon, nous avons tenté de répondre à la question : Le Machine Learning, comment ça marche ?. Les principes élémentaires étant posés, nous nous sommes ensuite intéressé à Un peu de théorie pour l’apprentissage supervisé – 1ère partie et 2nde partie afin d’aborder dans ses deux parties respectivement deux grandes familles de tâches réalisables, à savoir la classification et la régression.

Est venu ensuite le temps de s’intéresser à Un peu de théorie pour l'apprentissage non-supervisé, avec 3 principales tâches réalisables à partir de méthodes associées :

  1. Le partitionnement des données (clustering).
  2. La détection d’éléments atypiques (outlier detection).
  3. La réduction de dimensions.

L’Apprentissage non-supervisé appliqué à l’analyse de logs de proxy nous a donné l’occasion de partager un exemple de mise en œuvre.

Fort de ce « bagage », nous avons pu échanger sur les approches pour Evaluer un modèle en apprentissage automatique.

Vous n’avez rien de plus pragmatique ? nous direz-vous !

Quid de patrons prêts à l’usage ?

Nous avons donc profité de la possibilité nouvelle qui vous est donnée de pouvoir partager avec la communauté votre solution ainsi créée d'un simple clic via la nouvelle galerie Azure ML pilotée par la communauté pour introduire des patrons (template) - pour ne pas dire modèle ici ;-) - prêts à personnaliser.

Et si Vous souhaitez détecter des fraudes ? Faire des prévisions sur vos ventes ? de la classification de textes ?, nous avons pu introduire et décrire la mise en œuvre de trois patrons mise à disposition par le groupe produit Azure ML :

  • Un premier sur la détection de la fraude en ligne,
  • Un second sur les prévisions pour la vente en détail,
  • Et un troisième visant la classification de textes.

Depuis, pour encore mieux trouver votre « bonheur », de nouveaux patrons sont disponibles. Nous pouvons mentionner le patron sur la maintenance prédictive décrit dans le billet New Predictive Maintenance Template in Azure ML du blog du groupe produit.

La maintenance prédictive englobe une variété de domaines, mais l'objectif général est d'accroître l'efficacité des tâches associées à la maintenance. La maintenance prédictive pilotée par les données collectées gagne en particulier une attention croissante dans l'industrie avec les applications de plus en plus nombreuses dans le domaine émergent de l'Internet des objets (IoT). A ce propos, nous en profitons pour rappeler l’annonce faite en mars dernier lors de l’évènement Microsoft Convergence 2015 de la suite IoT de Microsoft qui viendra compléter la suite IoT Azure d’ores et déjà disponible et dont fait partie Azure ML.

Le patron proposé ici se concentre sur la réponse à la question de « Quand une machine en service sera en panne ? » et illustre ce processus de prédire des événements futurs de défaillance dans le scénario de moteurs d'avions !

Si cela vous effraie, nous pouvons également parler d’un autre patron sur la classification de texte décrit dans le billet de ce même blog Azure ML Text Classification Template du groupe produit.

La classification automatique de textes – également connu sous le nom balisage de texte ou de catégorisation de texte – fait partie du domaine de l’analyse de texte. Son objectif consiste à assigner un morceau de texte non structuré à une ou plusieurs classes d'un ensemble prédéfini de catégories. Le morceau de texte peut être lui-même de beaucoup de types différents, par exemple un document, un article de dépêche, une requête de recherche, un email, un tweet, un ticket de support, un commentaire d’un client, un test de produit et ainsi de suite.

Azure ML propose désormais un patron pour aider les scientifiques des données (data scientits) et les développeurs à facilement construire et déployer leurs solutions d'analyse de texte. Entre autres choses, ce patron peut être utilisé pour :

  • Classer des articles de journaux dans des sujets.
  • Organiser les pages web en catégories hiérarchiques.
  • Filtrer le spam de messagerie.
  • Effectuer des analyses de sentiment.
  • Prédire l'intention des utilisateurs exprimée par le biais de requêtes de recherche.
  • Router des tickets de support.
  • Analyser les commentaires de clients.

Vous ne trouvez pas votre « bonheur » dans tout cela et/ou souhaitez construire votre propre solution ?

Vous n’avez pas une vue d’ensemble des algorithmes ?

L’antisèche Algorithmes de Microsoft Azure ML vise à répondre à ce besoin !

La « Cheat Sheet » est conçue pour vous aider à passer au crible les algorithmes de Machine Learning disponibles et à choisir celui le mieux approprié pour votre solution d’analyse prédictive. Au travers d’un synoptique simple, cette dernière vous pose des questions sur la nature de vos données et le problème sur lequel vous travaillez et vous suggère alors un algorithme que vous pouvez essayer :-)

image

L’antisèche est disponible ici en téléchargement : Microsoft Azure Machine Learning Algorithm Cheat Sheet

Pour une discussion plus approfondie des différents types d'algorithmes et sur la façon dont ils sont utilisés en apprentissage automatique, et au-delà de tous les pointeurs que nous venons de rappeler sur blog, vous pouvez consulter l’article Comment choisir un algorithme dans Microsoft Azure Machine Learning.

Pour obtenir la liste de l’ensemble des algorithmes de Machine Learning disponibles, vous pouvez consulter le lien Initialize Model au sein de l'aide sur les modules et les algorithmes.

Nous en avons terminé de notre petite revue pour le choix d’un algorithme dans Azure ML. Nous aurons bientôt l’occasion de reparler de tout cela.

Dans l’intervalle, pour plus d’informations sur Azure ML ou pour vous rafraichir la mémoire, nous vous invitons à aller lire ou relire les billets de ce blog (vous avez quelques liens à disposition ici), ceux publiés sur le Blog Machine Learning du groupe produit.

N’oubliez pas non plus le Forum MSDN Machine Learning qui est là pour faciliter la création d’une communauté d’échanges sur le sujet.