我有一个二元分类(监督学习)问题,我的所有特征都是布尔值,具有以下扭曲:我想学习一个分类器那是单调的。换句话说,将任何特征子集从 0 更改为 1 绝不应该将分类器的输出从 1 更改为 0。
如何学习单调分类器?我可以以某种方式采用标准分类方法来强制执行单调性约束吗?
我可以看到如何以确保它学习单调模型的方式调整逻辑回归:我们可以要求每个特征的系数都是非负的,然后应用约束优化算法来推断模型的系数。是否有合理的方法来适应其他监督学习方案(例如,随机森林、梯度提升、神经网络)?或者是否有适合这种情况的专用算法?
不幸的是,仅应用标准随机森林分类器并不能保证产生单调分类器,即使训练集是单调的(它来自单调设置,并且没有噪声或违反单调性)。有关明确示例,请参见https://cs.stackexchange.com/q/69220/755,即单调训练集的示例,其中随机森林可能会学习非单调分类器——即使存在单调分类器这同样好。这表明如果我们想学习单调分类器,我们可能需要一些更复杂的技术。