Quand utiliser quoi - Machine Learning [fermé]

39

Récemment, dans une classe d'apprentissage automatique du professeur Oriol Pujol à UPC / Barcelone, il a décrit les algorithmes, principes et concepts les plus courants à utiliser pour une large gamme de tâches liées à l'apprentissage automatique. Ici, je les partage avec vous et vous demande:

  • Existe-t-il un cadre complet associant tâches et approches ou méthodes liées à différents types de problèmes liés à l'apprentissage automatique?

Comment apprendre un gaussien simple? Probabilité, variables aléatoires, distributions; estimation, convergence et asymptotique, intervalle de confiance.

Comment apprendre un mélange de Gaussiennes (MoG)? Probabilité, optimisation des attentes (EM); généralisation, sélection de modèle, validation croisée; k-moyennes, modèles de markov cachés (HMM)

Comment apprendre toute densité? Estimation paramétrique ou non paramétrique, Sobolev et autres espaces fonctionnels; erreur l ́ 2; Estimation de la densité du noyau (KDE), noyau optimal, théorie de KDE

Comment prédire une variable continue (régression)? Régression linéaire, régularisation, régression de crête et LASSO; régression linéaire locale; estimation de densité conditionnelle.

Comment prédire une variable discrète (classification)? Classificateur de Bayes, bayésien naïf, génératif ou discriminant; perceptron, perte de poids, machine à vecteurs à support linéaire; plus proche classificateur et théorie

Quelle fonction de perte devrais-je utiliser? Théorie de l'estimation du maximum de vraisemblance; l -2 estimation; Estimation bayessienne; minimax et théorie de la décision, Bayésianisme vs Fréquentisme

Quel modèle dois-je utiliser? AIC et BIC; Théorie de Vapnik-Chervonenskis; théorie de la validation croisée; amorçage; Théorie probablement approximativement correcte (PAC); Limites dérivées de Hoeffding

Comment puis-je apprendre des modèles plus sophistiqués (combinés)? Théorie de l'apprentissage d'ensemble; stimuler; ensachage; empilement

Comment puis-je apprendre des modèles plus sophistiqués (non linéaires)? Modèles linéaires généralisés, régression logistique; Théorème de Kolmogorov, modèles additifs généralisés; kernelization, reproduction des espaces de Hilbert du noyau, SVM non linéaire, régression de processus gaussienne

Comment puis-je apprendre des modèles plus sophistiqués (compositionnels)? Modèles récursifs, arbres de décision, classification hiérarchique; réseaux de neurones, rétro-propagation, réseaux de croyances profondes; modèles graphiques, mélanges de HMM, champs aléatoires conditionnels, réseaux de Markov à marge maximale; modèles log-linéaires; grammaires

Comment puis-je réduire ou associer des fonctionnalités? Sélection des fonctionnalités vs réduction des dimensions, méthodes d'encapsulation pour la sélection des fonctionnalités; causalité contre corrélation, corrélation partielle, apprentissage de la structure nette de Bayes

Comment créer de nouvelles fonctionnalités? analyse en composantes principales (PCA), analyse en composantes indépendantes (ICA), mise à l'échelle multidimensionnelle, apprentissage multiple, réduction supervisée de la dimensionnalité, apprentissage métrique

Comment puis-je réduire ou mettre en relation les données? Clustering, bi-clustering, clustering contraint; règles d'association et analyse du panier de marché; classement / régression ordinale; analyse de lien; données relationnelles

Comment traiter les séries chronologiques? ARMA; Filtre de Kalman et modèles stat-space, filtre à particules; analyse fonctionnelle des données; détection de point de changement; validation croisée pour les séries chronologiques

Comment traiter des données non idéales? décalage covariable; déséquilibre de classe; données manquantes, données échantillonnées irrégulièrement, erreurs de mesure; détection d'anomalies, robustesse

Comment optimiser les paramètres? Optimisation non contrainte vs contrainte / convexe, méthodes sans dérivées, méthodes du premier et du second ordre, ajustement en retour; gradient naturel; optimisation liée et EM

Comment optimiser les fonctions linéaires? algèbre linéaire de calcul, inversion matricielle pour la régression, décomposition en valeurs singulières (SVD) pour la réduction de la dimensionnalité

Comment puis-je optimiser avec des contraintes? Convexité, multiplicateurs de Lagrange, conditions de Karush-Kuhn-Tucker, méthodes des points intérieurs, algorithme SMO pour SVM

Comment puis-je évaluer les sommes profondément imbriquées? Inférence de modèle graphique exacte, bornes de variation sur les sommes, inférence de modèle graphique approximatif, propagation d'espérance

Comment puis-je évaluer des sommes importantes et des recherches? Problèmes généralisés à corps N (PNB), structures de données hiérarchiques, recherche du plus proche voisin, méthode rapide multiple; Intégration de Monte Carlo, chaîne de Markov Monte Carlo, Monte Carlo SVD

Comment puis-je traiter des problèmes encore plus importants? EM parallèle et distribué, PNB parallèle / distribué; méthodes sous-graduelles stochastiques, apprentissage en ligne

Comment puis-je appliquer tout cela dans le monde réel? Aperçu des parties de la ML, choix entre les méthodes à utiliser pour chaque tâche, les connaissances préalables et les hypothèses; analyse exploratoire de données et visualisation d'informations; évaluation et interprétation à l'aide d'intervalles de confiance et d'un test d'hypothèse, courbes ROC; où les problèmes de recherche en ML sont

Javierfdr
la source
Vraiment large. Je pense que chaque sous-question doit être une question distincte pour avoir une réponse significative.
Amir Ali Akbari
2
Cette question peut être qualifiée de trop large ou pas trop large, selon la façon dont vous le regardez. Si la question impliquait une description détaillée des tâches et des méthodes, celle-ci serait sûrement large, pas seulement pour une question, mais même pour un seul livre. Cependant, je ne pense pas que cette question implique cette interprétation . Je pense que cette question cherche un cadre ou une taxonomie , en faisant correspondre les tâches à des approches ou à des méthodes (les algorithmes et les concepts doivent être ignorés en raison de problèmes de granularité). De ce point de vue, cette réponse n’est pas trop large et est donc valide à mon humble avis.
Aleksandr Blekh
@AleksandrBlekh Le but de la question est exactement le même cadre que vous avez mentionné. Je l'édite pour clarifier. Merci
Javierfdr le
@ Javierfdr: Je vous en prie.
Aleksandr Blekh
@SeanOwen J'ai modifié la question principale. S'il vous plaît dites-moi si est toujours large et je devrais le rendre plus net. THX!
Javierfdr

Réponses:

6

Je suis d'accord avec @geogaffer. C'est une très bonne liste, en effet. Cependant, je vois quelques problèmes avec cette liste telle qu'elle est actuellement formulée. Par exemple, un problème est que les solutions suggérées sont de niveaux de granularité différents - certaines représentent des approches , certaines - méthodes , certains - algorithmes et certains autres - uniquement des concepts (en d’autres termes, des termes dans la terminologie du domaine d’un sujet). En outre, et je pense que cela est beaucoup plus important que ce qui précède, j'estime qu'il serait très utile que toutes les solutions de la liste soient organisées dans un cadre statistique thématique unifié.. Cette idée a été inspirée par la lecture d'un excellent livre de Lisa Harlow "L'essence de la pensée multivariée". Par conséquent, récemment , j'ai lancé un correspondant, mais actuellement quelque peu limitée, la discussion sur le StackExchange Cross Validé site. Ne laissez pas le titre vous confondre - mon intention implicite et mon espoir est de construire un cadre unifié , comme mentionné ci-dessus.

Aleksandr Blekh
la source
Ce cadre que vous avez mentionné serait une bonne chose à avoir! Y a-t-il quelque chose de semblable en cours d'écriture?
Javierfdr
@ Javierfdr: Rien que je sache. Cependant, je continue à chercher.
Aleksandr Blekh le
@AleksandrBlekh plus j'y pense, plus je pense que la recherche d'un cadre statistique est peu judicieuse. Voir la réponse de Frank Harrell à votre question et ma réponse à celle-ci. Mais le livre de Harlow a l'air très intéressant et je vais le chercher à la bibliothèque cette semaine.
shadowtalker
1
@ssdecontrol: respectueusement je ne suis pas d'accord. En supposant qu’un tel cadre n’existe pas (ce qui est très probablement le cas à l’heure actuelle) et réalisant que ce n’est pas une tâche facile d’en créer un, je suis fermement convaincu que c’est néanmoins très possible. En ce qui concerne les réponses que vous avez mentionnées (je les lis toujours), je lis les deux, mais elles ne prouvent pas qu'il est impossible de créer un tel cadre - simplement difficile, comme je l'ai mentionné. Ce n'est pas quelque chose qui devrait empêcher les gens d'y penser et même d'y travailler. Profitez du livre de Harlow.
Aleksandr Blekh
3

C'est une bonne liste couvrant beaucoup. J'ai utilisé certaines de ces méthodes depuis avant que quoi que ce soit ne s'appelle l'apprentissage automatique et je pense que vous verrez certaines des méthodes que vous avez énumérées entrer et ne plus être utilisées avec le temps. Si une méthode est hors d'usage depuis trop longtemps, le moment est peut-être venu d'y revenir. Certaines méthodes peuvent dissimuler des noms différents issus de différents domaines d’études.

L’un des principaux domaines dans lesquels j’ai utilisé ces méthodes est la modélisation du potentiel minéral, qui est géospatiale. Vous pouvez ajouter quelques catégories supplémentaires relatives aux méthodes de données spatiales et orientées.

Si vous posez votre question générale dans des domaines spécifiques, vous trouverez probablement davantage d’exemples de méthodes ne figurant pas dans votre liste exhaustive. Par exemple, deux méthodes que j'ai vues dans le potentiel minéral ont été la régression pas à pas en arrière et la modélisation du poids de la preuve. Je ne suis pas un statisticien; peut-être que ces questions seraient considérées dans la liste sous régression linéaire et méthodes bayésiennes.

géogaffer
la source
1

Je pense que votre approche est un peu en arrière.

"Quelle est la moyenne d'une distribution gaussienne ajustée à ces données?" n'est jamais la déclaration du problème, alors "comment puis-je adapter un gaussien?" n’est jamais le problème que vous voulez réellement résoudre.

La différence est plus que sémantique. Considérez la question de "comment puis-je construire de nouvelles fonctionnalités?" Si votre objectif est de développer un index, vous pouvez utiliser un type d'analyse factorielle. Si votre objectif est simplement de réduire l'espace des fonctions avant d'ajuster un modèle linéaire, vous pouvez ignorer entièrement l'étape et utiliser plutôt la régression de réseau élastique.

Une meilleure approche serait de compiler une liste de tâches d’analyse de données que vous voudriez pouvoir entreprendre . Des questions comme:

Comment prédire si les clients reviendront sur mon site Web commerçant?

Comment puis-je savoir combien il y a de "grands" types d'achats chez les consommateurs et quels sont-ils?

Comment construire un index de "volatilité" pour différents articles de ma boutique en ligne?

De plus, votre liste contient actuellement une quantité énorme de matériel; beaucoup trop pour "réviser" et obtenir plus qu'une compréhension superficielle. Avoir un objectif réel en tête peut vous aider à déterminer vos priorités.

shadowtalker
la source
Je comprends ce que vous dites @ssdecontrol. Disposer d’une liste complète de solutions aux problèmes classiques que vous mentionnez pourrait également être très utile. Maintenant, la principale différence entre les deux approches est que ce que je propose est directement lié aux questions techniques que vous pourriez vous poser lorsque vous essayez déjà des alternatives, et vous avez déjà fait des hypothèses sur ce point.Alors, si vous avez supposé que vos fonctionnalités ne sont pas gaussiennes, devrais-je utiliser PCA pour réduire les dimensions? Non, votre approche est plus large: ce qu’il faut utiliser pour dim. réduction -> PCA, mais assume les caractéristiques gaussiennes. Thx
Javierfdr
@ Javierfdr, je pense que les questions techniques sont une distraction si vous n'avez pas de question de fond à l'esprit.
shadowtalker