Afin d'étalonner un niveau de confiance à une probabilité dans un apprentissage supervisé (par exemple, pour mapper la confiance d'un SVM ou d'un arbre de décision à l'aide de données suréchantillonnées), une méthode consiste à utiliser la mise à l'échelle de Platt (par exemple, obtenir des probabilités calibrées à partir de la stimulation ).
Fondamentalement, on utilise la régression logistique pour mapper à . La variable dépendante est la véritable étiquette et le prédicteur est la confiance du modèle non calibré. Ce que je ne comprends pas, c'est l'utilisation d'une variable cible autre que 1 ou 0. La méthode appelle à la création d'un nouveau "label":
Pour éviter le sur-ajustement du train sigmoïde, un modèle hors échantillon est utilisé. S'il y a exemples positifs et exemples négatifs dans le train, pour chaque exemple de formation, l'étalonnage Platt utilise les valeurs cibles et (au lieu de 1 et 0, respectivement), où
Ce que je ne comprends pas, c'est l'utilité de cette nouvelle cible. La régression logistique ne va-t-elle pas simplement traiter la variable dépendante comme une étiquette binaire (quelle que soit l'étiquette donnée)?
MISE À JOUR:
J'ai trouvé que dans SAS, le changement de la dépendance de à quelque chose d'autre revenait au même modèle (en utilisant ). Peut-être mon erreur ou peut-être le manque de polyvalence de SAS. J'ai pu changer le modèle dans R. À titre d'exemple:PROC GENMOD
data(ToothGrowth)
attach(ToothGrowth)
# 1/0 coding
dep <- ifelse(supp == "VC", 1, 0)
OneZeroModel <- glm(dep~len, family=binomial)
OneZeroModel
predict(OneZeroModel)
# Platt coding
dep2 <- ifelse(supp == "VC", 31/32, 1/32)
plattCodeModel <- glm(dep2~len, family=binomial)
plattCodeModel
predict(plattCodeModel)
compare <- cbind(predict(OneZeroModel), predict(plattCodeModel))
plot(predict(OneZeroModel), predict(plattCodeModel))
la source
Une autre méthode pour éviter le sur-ajustement que j'ai trouvé utile consiste à ajuster le modèle de régression logistique univariée à la sortie de validation croisée sans sortie du SVM, qui peut être approximée efficacement en utilisant la limite Span .
Cependant, si vous voulez un classificateur qui produit des estimations de la probabilité d'appartenance à une classe, vous feriez mieux d'utiliser la régression logistique du noyau, qui vise à le faire directement. La sortie du SVM est conçue pour une classification discrète et ne contient pas nécessairement les informations requises pour une estimation précise des probabilités loin du contour p = 0,5.
Les classificateurs de processus gaussiens sont une autre bonne option si vous voulez un classificateur probabiliste basé sur le noyau.
la source