Meilleures performances attendues possibles sur un ensemble de données

9

Disons que j'ai un simple problème d'apprentissage automatique comme une classification. Avec quelques références en vision ou en reconnaissance audio, moi, en tant qu'humain, je suis un très bon classificateur. J'ai donc une intuition sur la qualité d'un classificateur.

Mais avec beaucoup de données, un point est que je ne sais pas dans quelle mesure le classificateur que je forme est possible d'obtenir. Ce sont des données où je ne suis personnellement pas un très bon classificateur (par exemple, classer l'humeur d'une personne à partir de données EEG). Il n'est pas vraiment possible d'avoir une intuition sur la gravité de mon problème.

Maintenant, si je suis confronté à un problème d'apprentissage automatique, je voudrais savoir à quel point je peux être bon. Existe-t-il des approches fondées sur des principes à ce sujet? Comment ferais-tu ceci?

Visualisez les données? Commencez avec des modèles simples? Commencez avec des modèles très complexes et voyez si je peux suréquiper? Que recherchez-vous si vous souhaitez répondre à cette question? Quand arrêtez-vous d'essayer?

bayerj
la source

Réponses:

6

Je ne sais pas si cela compte comme réponse ...

C'est le seul problème qui vous empêche de dormir la nuit. Pouvez-vous construire un meilleur modèle? Phd-comics résume bien (je ne sais pas si je suis autorisé à télécharger les bandes dessinées, donc je les ai simplement liées)

D'après mon expérience personnelle, acquise en participant à des compétitions de Machine Learning, voici une règle de base.

Imaginez qu'on vous confie une tâche de classification. Asseyez-vous, réfléchissez une heure ou moins sur la façon dont vous aborderiez le problème et vérifiez l'état de l'art dans ce domaine. Construisez un modèle basé sur cette recherche, de préférence un modèle connu pour être stable sans trop de réglages de paramètres. La performance résultante sera d'environ 80% de la performance maximale réalisable.

Cette règle est basée sur le principe dit de Pareto , qui s'applique également à l'optimisation. Étant donné un problème, vous pouvez créer une solution qui fonctionne raisonnablement bien rapidement, mais à partir de ce moment, le rapport entre l'amélioration et l'effort de temps diminue rapidement.

Quelques derniers mots: lorsque je lis des articles sur de nouveaux algorithmes de classification, je m'attends à ce que les auteurs comparent leur nouvelle race avec de telles approches "pareto-optimisées", c'est-à-dire que je m'attends à ce qu'ils passent un temps raisonnable à faire l'état de l'art (certains nécessitent plus ou moins d'optimisation des paramètres). Malheureusement, beaucoup ne le font pas.

steffen
la source
0

La méthode conventionnelle consiste à considérer le ROC et la zone sous -jacente (AUC). La justification de cette approche est que plus le taux de vrais positifs est élevé pour un taux de faux positifs particulier, meilleur est le classificateur. L'intégration sur tous les taux de faux positifs possibles vous donne une mesure globale.

Emre
la source
3
Pour autant que j'ai compris le PO, son problème n'est PAS la mesure des performances d'un classificateur (qui est, espérons-le, une bonne estimation des performances futures attendues), mais la qualité que l'on peut obtenir DU TOUT, c'est-à-dire quel est le maximum (pas absolument par métrique (AUC est 1 au maximum ou quelque chose comme ça), mais pour un problème donné)
steffen
Oui, c'est ce que je voulais dire.
bayerj
0

S'il existe un moyen de visualiser vos données, c'est le meilleur scénario possible, mais toutes les données ne peuvent pas être visualisées de la même manière, vous devrez donc peut-être trouver votre propre façon de projeter les données qui peuvent vous aider à comprendre vos données. meilleur.

Cependant, en général, je prends généralement un petit échantillon des données, les convertis en ARFF et essaie différents algorithmes de clustering de WEKA. Ensuite, je vois juste quel algorithme me donne une meilleure matrice de confusion. Cela me donne un indice sur la façon dont les classes sont séparées et me permet d'étudier pourquoi cet algorithme particulier fait mieux pour ces données. Je change également le nombre de clusters (c'est-à-dire que je n'utilise pas seulement k = 2, j'utilise k = 3, 4 etc.). Cela me donne une idée s'il y a une fragmentation dans les données ou si une classe est plus fragmentée que l'autre. Si vous mélangez des points de formation et de test ensemble pour le clustering, vous pouvez également mesurer quels clusters sont représentés par vos points de formation. Certains clusters peuvent être surreprésentés et certains peuvent être sous-représentés, les deux peuvent provoquer des problèmes d'apprentissage d'un classificateur.

Vérifiez toujours la précision de votre entraînement. Si votre précision d'entraînement ne semble pas bonne, les points d'entraînement mal classés sont également un gros indice.

TenaliRaman
la source