在逻辑回归中结合先验概率分布

机器算法验证 物流 贝叶斯 随机森林 事先的
2022-03-11 17:13:57

我很惊讶我找不到任何关于如何将先验类概率分布纳入逻辑回归或随机森林等分类器的文章/讲座。


所以我的问题是:

如何将先验概率分布纳入逻辑回归或随机森林?

合并先验概率分布是否意味着我应该使用贝叶斯机器?


我面临一个分类任务,我知道 a 类比 b 类更有可能。

一个临时的解决方案是在训练集中只包含更多的 a 类样本,但是这方面有什么理论结果吗?

我想到的一件事是将决策阈值从 0.5 更改为考虑到这种先前不平衡的值。但我什至不确定这在理论上是否有意义,因为在我准备做出决定的时候,我已经查看了所有特征值,所以我不应该关心先验概率,而应该关心类条件概率。

2个回答

为二元响应变量,的预测变量向量(可以是连续的、离散的或两者的组合)。注意YXf

P(Y=1X=x)P(Y=0X=x)=P(Y=1)fXY=1(x)P(Y=0)fXY=0(x)

所以

log(P(Y=1X=x)P(Y=0X=x))=log(P(Y=1)P(Y=0))+log(fXY=1(x)fXY=0(x)).

这意味着在逻辑回归模型下,事件的先验赔率的对数在条件对数赔率中显示为附加常数。然后您可能会考虑的是截距调整,您减去经验赔率的 logit 并添加先前赔率的 logit。但是,假设先验概率是准确的,这不会对模型产生太大影响。这种类型的调整主要是在一些人为地改变数据中事件比例的抽样程序之后进行的。{Y=1}

对于随机森林,默认的先验是训练集的经验类分布。当您期望训练集类分布与新的测试观察结果相匹配时,您希望事先进行调整。先验可以通过分层/下采样或 class_weights 进行调整。

分层/下采样并不意味着某些观察结果被丢弃,它们只会被引导到更少的根节点中。

除了调整先验之外,还可以从随机森林模型中获得概率预测并选择确定性阈值。

在实践中,我发现通过分层调整先验和选择最佳阈值作为最佳执行解决方案的组合。使用 ROC 图来确定阈值。调整 class_weights 可能会提供类似的性能,但它不太透明,有效的先验变成了什么。对于分层,分层的比率只是新的先验。

另请参阅此答案以获取更多详细信息