我正在寻找输出示例属于两个类之一的概率的分类器。
我知道逻辑回归和朴素贝叶斯,但你能告诉我其他以类似方式工作的人吗?也就是说,分类器不是预测示例所属的类别,而是预测示例适合特定类别的概率?
您可以就这些不同分类器(包括逻辑回归和朴素贝叶斯)的优缺点分享任何想法的加分点。例如,多类分类是否更好?
我正在寻找输出示例属于两个类之一的概率的分类器。
我知道逻辑回归和朴素贝叶斯,但你能告诉我其他以类似方式工作的人吗?也就是说,分类器不是预测示例所属的类别,而是预测示例适合特定类别的概率?
您可以就这些不同分类器(包括逻辑回归和朴素贝叶斯)的优缺点分享任何想法的加分点。例如,多类分类是否更好?
另一种可能性是神经网络,如果您使用交叉熵作为具有 sigmoid 输出单元的成本函数。这将为您提供您正在寻找的估计。
神经网络以及逻辑回归都是判别分类器,这意味着它们试图最大化训练数据的条件分布。渐近地,在无限样本的极限中,两个估计都接近相同的极限。
您将在本文中找到对这个问题的详细分析。外卖的想法是,即使生成模型具有更高的渐近误差,它也可能比判别模型更快地接近这个渐近误差。因此,选择哪一个取决于您的问题、手头的数据和您的特定要求。
最后,将条件概率的估计视为决策依据的绝对分数(如果这是您所追求的)通常没有多大意义。重要的是在给定具体样本的情况下考虑分类器输出的最佳候选类别并比较相关概率。如果最好的两个分数之间的差异很大,这意味着分类器对他的答案非常有信心(不一定是对的)。
SVM 与逻辑回归密切相关,也可用于根据与超平面的距离(每个点的得分)来预测概率。您可以通过某种方式进行分数 -> 概率映射来做到这一点,这相对容易,因为问题是一维的。一种方法是将 S 曲线(例如逻辑曲线或其斜率)拟合到数据中。另一种方法是使用等渗回归将更一般的累积分布函数拟合到数据中。
除了 SVM,您可以为任何可以使用基于梯度的方法(例如深度网络)拟合的方法使用合适的损失函数。
如今,在设计分类器时,预测概率并不是考虑因素。这是一个额外的,会分散分类性能,所以它被丢弃了。但是,您可以使用任何二元分类器来学习一组固定的分类概率(例如,“p in [0, 1/4], or [1/4, 1/2], or ...”)探测”减少 Langford 和 Zadrozny。
有很多 - 最有效的方法取决于数据。还有很多作弊的方法——例如,您可以对任何给出分数相似性的分类器的输出执行概率校准(即:权重向量和输入之间的点积)。最常见的示例称为 Platt 缩放。
还有底层模型的形状问题。如果您与数据有多项式交互,那么普通逻辑回归将无法很好地对其建模。但是您可以使用逻辑回归的内核版本,以便模型更好地拟合数据。这通常会增加概率输出的“优点”,因为您也在提高分类器的准确性。
通常,大多数给出概率的模型通常使用逻辑函数,因此很难比较。它在实践中往往效果很好,贝叶斯网络是一种替代方案。朴素贝叶斯只是对其概率进行了过于简单化的假设,而这在任何合理大小的数据集上都很容易观察到。
最后,通过选择可以更好地表示数据的模型,通常更容易提高概率估计的质量。从这个意义上说,如何获得概率并不重要。如果您可以通过逻辑回归获得 70% 的准确率,而通过 SVM 获得 98% 的准确率 - 那么仅给出“完全置信”概率将使大多数评分方法的结果“更好”,即使它们并不是真正的概率(并且然后您可以进行我之前提到的校准,使它们实际上更好)。
在无法获得准确分类器的情况下,同样的问题更有趣,但我不确定是否有人在这种情况下进行过研究/比较。