Apprentissage automatique pour prédire les probabilités de classe


20

Je recherche des classificateurs qui produisent des probabilités que les exemples appartiennent à l'une des deux classes.

Je connais la régression logistique et les Bayes naïfs, mais pouvez-vous m'en parler d'autres qui fonctionnent de manière similaire? Autrement dit, les classificateurs qui prédisent non pas les classes auxquelles appartiennent les exemples, mais la probabilité que les exemples correspondent à une classe particulière?

Points bonus pour toute réflexion que vous pouvez partager sur les avantages et les inconvénients de ces différents classificateurs (y compris la régression logistique et les Bayes naïfs). Par exemple, certains sont-ils meilleurs pour la classification multi-classes?

Réponses:


5

Le SVM est étroitement lié à la régression logistique et peut également être utilisé pour prédire les probabilités en fonction de la distance à l'hyperplan (le score de chaque point). Pour ce faire, vous effectuez une cartographie des scores -> des probabilités, ce qui est relativement facile car le problème est unidimensionnel. Une façon consiste à ajuster une courbe en S (par exemple la courbe logistique ou sa pente) aux données. Une autre façon consiste à utiliser la régression isotonique pour adapter une fonction de distribution cumulative plus générale aux données.

Autre que SVM, vous pouvez utiliser une fonction de perte appropriée pour toute méthode que vous pouvez adapter en utilisant des méthodes basées sur un gradient, telles que les réseaux profonds.

La prédiction des probabilités n'est pas prise en compte de nos jours lors de la conception des classificateurs. C'est un extra qui distrait de la performance de classement, donc il est rejeté. Vous pouvez cependant utiliser n'importe quel classificateur binaire pour apprendre un ensemble fixe de probabilités de classification (par exemple "p dans [0, 1/4], ou [1/4, 1/2], ou ...") avec le " sondage "réduction de Langford et Zadrozny.


4
"La prédiction des probabilités n'est pas quelque chose pris en considération de nos jours lors de la conception de classificateurs". Je ne sais pas si cela était vrai en 2013, mais c'est presque certainement faux en 2018.
Matthew Drury

9

Les réseaux de neurones sont une autre possibilité, si vous utilisez l'entropie croisée comme fonction de coût avec des unités de sortie sigmoïdales. Cela vous fournira les estimations que vous recherchez.

Les réseaux de neurones, ainsi que la régression logistique, sont des classificateurs discriminants, ce qui signifie qu'ils tentent de maximiser la distribution conditionnelle sur les données d'entraînement. De manière asymptotique, dans la limite des échantillons infinis, les deux estimations approchent de la même limite.

Vous trouverez une analyse détaillée de cette question dans cet article . L'idée à retenir est que même si le modèle génératif a une erreur asymptotique plus élevée, il peut approcher cette erreur asymptotique beaucoup plus rapidement que le modèle discriminant. Par conséquent, lequel choisir, dépend de votre problème, des données disponibles et de vos besoins particuliers.

Enfin, considérer les estimations des probabilités conditionnelles comme un score absolu sur lequel baser les décisions (si c'est ce que vous recherchez) n'a pas beaucoup de sens en général. L'important est de considérer, à partir d'un échantillon concret, les meilleures classes de candidats issues du classifieur et de comparer les probabilités associées. Si la différence entre les deux meilleurs scores est élevée, cela signifie que le classificateur est très confiant quant à sa réponse (pas nécessairement juste).


2

Il y en a beaucoup - et ce qui fonctionne le mieux dépend des données. Il existe également de nombreuses façons de tricher - par exemple, vous pouvez effectuer un étalonnage des probabilités sur les sorties de tout classificateur qui donne un semblant de score (par exemple: un produit scalaire entre le vecteur de poids et l'entrée). L'exemple le plus courant est appelé mise à l'échelle de Platt.

Il y a aussi la question de la forme du modèle sous-jacent. Si vous avez des interactions polynomiales avec vos données, alors la régression logistique vanille ne pourra pas bien la modéliser. Mais vous pouvez utiliser une version noyau de la régression logistique afin que le modèle corresponde mieux aux données. Cela augmente généralement la «qualité» des sorties de probabilité, car vous améliorez également la précision du classificateur.

Généralement, la plupart des modèles qui donnent des probabilités utilisent généralement une fonction logistique, il peut donc être difficile de comparer. Cela a juste tendance à bien fonctionner dans la pratique, les réseaux bayésiens sont une alternative. Naive Bayes fait simplement une hypothèse trop simpliste pour que ses probabilités soient bonnes - et cela est facilement observable sur tout ensemble de données de taille raisonnable.

En fin de compte, il est généralement plus facile d'augmenter la qualité de vos estimations de probabilité en choisissant le modèle qui peut mieux représenter les données. En ce sens, peu importe comment vous obtenez les probabilités. Si vous pouvez obtenir une précision de 70% avec la régression logistique et 98% avec un SVM - alors donner simplement une probabilité de «pleine confiance» vous rendra les résultats «meilleurs» par la plupart des méthodes de notation, même si ce ne sont pas vraiment des probabilités (et alors vous pouvez faire l'étalonnage que j'ai mentionné précédemment, ce qui les rend réellement meilleurs).

La même question dans le contexte de l'impossibilité d'obtenir un classificateur précis est plus intéressante, mais je ne suis pas sûr que quiconque ait étudié / comparé dans un tel scénario.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.