如何估算SGDClassifier / Logistic回归的类概率(或权重W)的不确定性?

时间:2016-06-15 18:11:00

标签: machine-learning statistics scikit-learn logistic-regression

我有一个二进制分类任务,我适合使用带有日志丢失的SGDClassifier。对于预测,我对类概率(predict_proba)感兴趣,而不仅仅是类标签。

我需要对这些概率的不确定性进行估计,例如,在正类的概率上,即:

                     p(x|positive_class) = p0 +/- delta

p0作为predict_proba(x)[0]给出,但有没有办法估计delta?

我能想到的另一种方法是通过权重W的不确定性和使用逻辑函数p = 1 / [1 + exp(-W.x)]来将不确定性从W传播到p?

1 个答案:

答案 0 :(得分:0)

首先

p(x|positive_class) 

生成样本x的概率,因此您需要生成模型。 LR是判别模型,并且SGD不是模型而是学习它的方式(但是在sklearn中的SGDClassifier中实现的损失函数都是有区别的)。

你可能想找出

p(positive_class|x) = A +/- eps

,不幸的是,答案是你不能。像这样的模型不提供置信区间。你可以做以下两件事之一:

  • 训练一个不同的模型,直接提供它,如高斯过程
  • 使用您的分类器作为构建块构建元模型,例如,您可以训练LR的集合,每个集合在训练数据的子集(重新采样)上,并使用一组预测来估计置信区间(通过假设错误的正态分布并简单地在模型p_i上报告var(p_i(positive_class | x))