5. Machine Learning
Le Machine Learning est
un sous-ensemble de
l’Intelligence Artificielle
Intelligence Artificielle
Machine Learning
(Apprentissage Artificiel)
6. La nature des données
Les données aléatoires
sont par définition
imprévisibles !
7. La nature des données
Les données générées par
les utilisateurs se
comportent généralement
selon des patterns
reconnaissables !
8. Principaux algorithmes de Machine Learning
• Recommandations
Recommande des items à un utilisateur
• Classification
Classifie automatiquement des documents en apprenant à
partir d’un ensemble déjà classifié
• Clustering
Découvre automatiquement des groupements parmi un
ensemble de documents
9. Recommandation - User based
Amazon suggère
des articles
achetés par les
clients similaires
12. Exemples de cas d’usage de Recommandation
• Conseiller des items aux clients sur un site d’e-commerce
Augmentation du chiffre d’affaire
• Conseiller des fonctionnalités aux utilisateurs
La plupart des fonctionnalités sont méconnues
• Filtrer et adapter le classement des résultats d’un moteur de recherche
En se basant sur les clics des utilisateurs similaires, ...
13. Classification
Mails ‘classifiés’
en tant que spams
par GMail
14. Exemples de cas d’usage de Classification
• Associer automatiquement des tags à des documents
Ensemble de tags définis manuellement ou depuis Wikipedia
• Extraire les documents suspicieux
Spams, documents corrompus, ...
16. Exemples de cas d’usage du Clustering
• Trouver les sujets principaux dans un ensemble de documents
News feeds, documents métiers, ...
• Découvrir des usages typiques des utilisateurs
Profilage des utilisateurs, ...
17. NoSQL, Recherche et Machine Learning
NoSQL, Machine Learning
et Moteurs de Recherche
sont complémentaires
Machine
Learning
Moteurs de
NoSQL
Recherche
19. En quelques mots
• Implémentation d’algorithmes de Machine Learning en Java
Collection d’algorithme en expansion
• La plupart disponibles en version MapReduce
Utilisable avec de gros datasets
• Encore jeune, mais en croissance rapide
Démarré début 2009
20. Documentation
Aussi indispensable pour
Mahout que l’est Lucene
in Action pour Lucene !
21. Exemple de Recommendation
DataModel model = new FileDataModel(new File("data.csv"));
UserSimilarity simil =
new PearsonCorrelationSimilarity(model);
UserNeighborhood neighborhood =
new NearestNUserNeighborhood(2, similarity, model);
Recommender recommender =
new GenericUserBasedRecommender(model, neighborhood, simil);
List<RecommendedItem> recommendations =
recommender.recommend(1, 1);
22. Evaluation de la précision
Ensemble des
données disponibles
Données utilisées
Données utilisées pour
pour le training
évaluer la précision de
l’algorithme
23. Conclusion
• Le Machine Learning apporte des fonctionnalités à forte valeur ajoutée
Amélioration des revenus, de la productivité, de l’adoption
• Mahout est en croissance rapide et devient un bon choix pour les applications
Intégration facile aux applications métier
• Les équipes fonctionnelles ne sont pas familières de ces technologies
Une collaboration avec les équipes techniques est requise