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
la source
Réponses:
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.
la source
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.
la source
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:
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.
la source