La confiance de l'étiquette de formation peut-elle être utilisée pour améliorer la précision des prédictions?

9

J'ai des données d'entraînement étiquetées avec des valeurs binaires. J'ai également recueilli la confiance de chacune de ces étiquettes, c'est-à-dire que 0,8 confiance signifierait que 80% des étiqueteurs humains sont d'accord sur cette étiquette.

Est-il possible d'utiliser ces données de confiance pour améliorer la précision de mon classificateur?

Est-ce que le travail suivant fonctionnerait?

  • 1a) Si l'étiquette est 0 et que les données de confiance pour cette étiquette sont 0,8, donnez aux données d'apprentissage une nouvelle étiquette de 0,2

  • 1b) Si l'étiquette est 1 et que les données de confiance pour cette étiquette sont 0,8, alors donnez aux données d'entraînement une nouvelle étiquette de 0,8

  • 2) Calculez la nouvelle étiquette en utilisant cette méthode pour chaque entrée dans le jeu de formation

  • 3) Traitez le problème comme un problème de régression (où les étiquettes se situent entre 0 et 1)

  • 4) Classer les données non étiquetées selon que les nouvelles étiquettes sont supérieures ou inférieures à une valeur spécifique. c'est-à-dire donner à toutes les étiquettes prévues la classe 0 si en dessous de X et la classe 1 si au-dessus de X.

J'utilise actuellement un SVM avec un noyau RBF pour mon modèle.

Merci d'avance!

Ben J. Hawkins
la source
Donc pour l'instant vous utilisez le label binaire? Je ne sais pas pourquoi ça ne marcherait pas. Essaye-le. Divisez vos données en un test de formation et un test de validation et voyez si vous augmentez votre prédiction.
el Josso

Réponses:

4

Oui, il est possible d'utiliser ces données de confiance. Cependant, je ne recommanderais pas l'approche que vous mentionnez. Au lieu de cela, permettez-moi de suggérer une approche différente. En fait, j'en suggère deux. Le premier est conceptuellement propre; le second est probablement plus facile à mettre en œuvre; et ils seront probablement à peu près équivalents dans la pratique.

Ajustez la fonction de perte

Vous pouvez ajuster la fonction de perte pour refléter les scores de confiance que vous avez sur les données d'entraînement.

En particulier, si vous utilisez la perte d'entropie croisée , il existe un moyen particulièrement propre de le faire. Permettez-moi d'expliquer quelques informations sur la perte d'entropie croisée, puis d'expliquer comment. Nous considérons l'étiquette sur l'instance de formation comme une distribution de probabilité sur les étiquettes. En classification binaire, une telle distribution peut être représentée comme un vecteur(p0,p1)p0 représente la probabilité que l'étiquette soit 0 et p1 la probabilité que l'étiquette soit 1. Normalement, on nous donne des "étiquettes rigides": si nous savons que l'étiquette correcte à l'instance X est 0, alors cela correspond à la distribution de probabilité (1,0); si l'étiquette correcte est 1, c'est la distribution(0,1). La perte d'entropie croisée compare ensuite la prédiction du classificateur à cette distribution.

La bonne chose à propos de la perte d'entropie croisée est qu'elle génère facilement la comparaison de deux distributions. Ainsi, si vous avez confiance0,8 que l'étiquette correcte par exemple X est 0, alors cela correspond à une distribution de probabilité (0,8,0,2). Maintenant, vous pouvez calculer l'entropie croisée de la prédiction du classificateur par rapport à la distribution(0,8,0,2), et c'est la contribution à la perte de l'instance de formation X. Additionnez cela sur toutes les instances de l'ensemble d'entraînement et vous obtenez une fonction de perte ajustée.

Vous pouvez maintenant former un classificateur en minimisant cette fonction de perte ajustée, et cela incorporera directement toutes les informations dans vos scores de confiance.

Utiliser des poids

Vous pouvez également utiliser des pondérations pour refléter les informations de confiance.

Certains classificateurs vous permettent de spécifier un poids pour chaque instance de l'ensemble de formation. L'idée est qu'une mauvaise prédiction pour un cas particulier est pénalisée proportionnalité à son poids, donc les instances avec un poids élevé sont plus importantes pour obtenir raison et les instances avec un poids faible sont moins importantes. Ou, de manière équivalente, la procédure de formation s'efforce plus d'éviter les erreurs sur les instances avec un poids élevé.

Vous pouvez utiliser des pondérations pour refléter les informations de confiance. Supposons que vous ayez une instanciationX dans l'ensemble de formation qui, selon vous, devrait avoir l'étiquette 0, en toute confiance 0,8. Vous ajouteriez une copie de(X,0) à l'ensemble d'entraînement avec poids 0,8 (c.-à-d., l'instance est X et l'étiquette est 0), et ajoutez une copie de (X,1) à l'ensemble d'entraînement avec poids 0,2 (c.-à-d., l'instance est Xet l'étiquette est 1). Construisez l'ensemble de formation de cette manière. Cela double la taille de votre ensemble d'entraînement. Maintenant, entraînez un classificateur en utilisant ces poids.

Pour les classificateurs qui prennent en charge les poids, cela devrait être facile à implémenter.

On peut également montrer qu'elle est efficace et raisonnable. Par exemple, lorsque vous utilisez la perte d'entropie croisée pour former un classifieur, cette approche utilisant des poids équivaut à ajuster la fonction de perte comme souligné ci-dessus. Donc, dans ce contexte particulier, les deux approches sont en fait équivalentes.

DW
la source