为了将置信水平校准为监督学习中的概率(例如,使用过采样数据从 SVM 或决策树映射置信度),一种方法是使用 Platt 的缩放(例如,从 Boosting 获得校准的概率)。
基本上一个使用逻辑回归来映射到. 因变量是真实标签,预测变量是来自未校准模型的置信度。我不明白的是使用 1 或 0 以外的目标变量。该方法要求创建新的“标签”:
为了避免对 sigmoid 训练集的过度拟合,使用了样本外模型。如果有正面例子和训练集中的负样本,对于每个训练样本 Platt Calibration 使用目标值和(而不是分别为 1 和 0),其中
我不明白这个新目标有什么用处。逻辑回归不是简单地将因变量视为二元标签(无论给出什么标签)?
更新:
我发现在 SAS 中将依赖项从其他东西恢复到相同的模型(使用PROC GENMOD
)。也许是我的错误,或者是 SAS 缺乏多功能性。我能够在 R 中更改模型。例如:
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))