Revue de compétitions Kaggle (2016)#
Links: notebook
, html, PDF
, python
, slides, GitHub
Les gagnants des compétitions Kaggle décrivent parfois leurs solutions sur le blog de Kaggle No Free Hunch. Il y a toujours de bonnes idées à glaner.
%matplotlib inline
from jyquickhelper import add_notebook_menu
add_notebook_menu()
Le blog Kaggle publie régulièrement des interviews des gagnants des compétitions. C’est l’occasion de découvrir la meilleur solution et les outils qui ont permis de la mettre en place. Certains sujets sont des compétitions académiques et les gagnants mettent parfois leur code à disposition sous Github.
The Allen AI Science Challenge#
Objectif : prédire la bonne réponse à un QCM
données : des QCM et leurs réponses
The Allen AI Science Challenge, Winner’s Interview: 3rd place, Alejandro Mosquera (lire aussi résumé des trois solutions
Type de features#
ES_raw_lemma: IR scores by using ES and raw/lemmatized KB.
ES_lemma_regex: Regex scoring (number of characters matched) after IR results.
W2V_COSQA: Cosine similarity between question and answer embeddings.
CAT_A1: Is multiphrase question + short response?
CAT_A2: Is fill the _______ + no direct question + long response?
CAT_A3: Is multiphrase question + long response?
ANS_all_above: Is “all of the above” answer?
ANS_none_above: Is “none of the above” answer?
ANS_both: Is “both X and Y” answer?
ES_raw_lemmaLMJM: IR scores by using ES and raw/lemmatized KB with LMJM scoring.
ES_lemma_regexLMJM: Regex scoring (number of characters matched) after IR results using LMJM.
ES = Elastic search
Sur GitHub : amsqr/Allen_AI_Kaggle
Idées à récupérer#
ajout de données provenant de sources exéterieures aux problèmes (voir la liste des ressources ajoutées par le vainqueur).
calcul de statistiques sur des corpus plus grand que les données du problème
Code disponible sur GitHub : des exemples à récupérer
Predicting Red Hat Business Value#
Objectif : déterminer le potentiel d’un client, ce potentiel est déterminé par la réalisation d’un événement dans une fenêtre de temps
Données : les données contiennent des informations sur les utilisateurs et sur leurs actions
Red Hat Business Value Competition, 1st Place Winner’s Interview: Darius Barušauskas
Points essentiels#
leakage (1) : il y avait un data leakage pour une partie de la base, le gagnant a choisi d’utiliser deux stratégies différentes sur ces deux parties
leakage (2) : le gagnant a utilisé cette fuite pour construire un modèle qui puisse servir pour les données qui ne bénéficiaient pas cette fuite
features agrégées : il fallait construire des statistiques agrégées par la compagnie du client de Red Hat (plusieurs clients pour une même compagnie)
TalkingData Mobile User Demographics#
Objectif : décrire une personne (sexe, âge) en fonction de l’utilisation de son téléphone
Données : décription des téléphones et des événements se rapportant à plusieurs personnes
Idées intéressantes#
TF-IDF : appliqué dans un cas non typique (marques, modèles de téléphones)
utilisation de keras
utilisation de matrice sparse
xgboost et les réseaux de neurones ont obtenu leurs meilleurs performances avec des features différentes
modélisation du problème : prédire d’abord le genre puis utiliser ce résultat comme feature pour prédire la classe d’âge
Grupo Bimbo Inventory Demand#
Objectif : prédire la demande (limiter les stocks, limiter la surproduction)
Données : ventes passées
Grupo Bimbo Inventory Demand, Winners’ Interview: Clustifier & Alex & Andrey
faits notables#
Truncated SVD on TF-IDF matrix of client and product names
Soin particulier apportés aux features :
utilisation de model FTRL, FFM : script : le modèle FTRL vient du domaine des publicités sur internet pour lesquels il faut prédire la probabilité d’un click. FTRL est un modèle de online training qui permet de mettre à jour le modèle au fur et à mesure que les données sont découvertes. Cela suppose que les données sont séquentielles dans le temps.
le gagnant a suivi le cours de Alexander D’yakonov qui a écrit Two Recommendation Algorithms Based on Deformed Linear Combinations
Facebook V: Predicting Check Ins#
Objectif : on connaît (x, y, location accuracy, timestamp) et il faut prédire un business id
Trois solutions :
Facebook V: Predicting Check Ins, Winner’s Interview: 1st Place, Tom Van de Wiele
Facebook V: Predicting Check Ins, Winner’s Interview: 2nd Place, Markus Kliegl
Facebook V: Predicting Check Ins, Winner’s Interview: 3rd Place, Ryuji Sakata
Obstacles et solutions#
multi-class : impossible d’utiliser un modèle multi-class, trop de choix, la performance est mauvaise
approche 1 : transformer le problème en un problème de ranking (approche moteur de recherche), des heuristiques produisent 20 candidats qu’un modèle viendra “scorer”
approche 2 :
Avito Duplicate Ads Detection#
Objectif : trouver des publicités en double dans une base de publicités
Données : images et textes des publicités
Points intéressants#
features calculées sur une grande variétés de supports (image, texte, titre, description, marques, prix, localisation) –> grande liste de features, weights of evidence
problème de préparation des données : les labels étaient données sous forme de paires pub i = pub j –> comment séparés en base d’apprentissage et de test pour éviter les problèmes d’overfitting
le gagnant a utilisé des modèles de deep learning préentraînés Full ImageNet Network, il n’a pas utilisé sa sortie mais le résultat d’une couche intermédiaire
Draper Satellite Image Chronology#
Objectifs : ordonner dans le temps des images du même lieu
Données : des images ordonnées
Draper Satellite Image Chronology: Pure ML Solution | Vicens Gaitan
Draper Satellite Image Chronology: Pure ML Solution | Damien Soukhavong
Points intéressants#
le notebook par l’auteur de la première solution explique comment faire du matching d’une image et c’est très clair
Fast Explicit Diffusion for Accelerated Features in Nonlinear Scale Spaces, AKAZE
Yelp Restaurant Photo Classification#
Objectifs : classer des photos de restaurants, particularité, une photo peut avoir plusieurs labels
Données : des images en entrées, des labels à prédire en sortie, 0: good_for_lunch 1: good_for_dinner 2: takes_reservations 3: outdoor_seating 4: restaurant_is_expensive 5: has_alcohol 6: has_table_service 7: ambience_is_classy 8: good_for_kids
Yelp Restaurant Photo Classification, Winner’s Interview: 1st Place, Dmitrii Tsybulevskii
Points intéressants#
plusieurs idées pour traiter le cas multi-label
Multiple Instance Classification: review, taxonomy and comparative study
Random k-Labelsets for Multi-Label Classification : méthode moins performante pour ce problème