我正在阅读使用 Scikit-Learn 和 TensorFlow 进行动手机器学习:构建智能系统的概念、工具和技术。然后我无法弄清楚硬投票和软投票在基于集合的方法的上下文中的区别。
我引用了书中对它们的描述。顶部的前两张图片是硬投票的描述,最后一张是软投票的描述。
在我看来,硬投票是多数决定,但我不理解软投票以及软投票比硬投票更好的原因。有人会教我这些吗?
我正在阅读使用 Scikit-Learn 和 TensorFlow 进行动手机器学习:构建智能系统的概念、工具和技术。然后我无法弄清楚硬投票和软投票在基于集合的方法的上下文中的区别。
我引用了书中对它们的描述。顶部的前两张图片是硬投票的描述,最后一张是软投票的描述。
在我看来,硬投票是多数决定,但我不理解软投票以及软投票比硬投票更好的原因。有人会教我这些吗?
让我们举一个简单的例子来说明这两种方法是如何工作的。
想象一下,您有 3 个分类器(1、2、3)和两个类(A、B),并且在训练之后您正在预测单个点的类。
预测:
分类器 1 预测 A 类
分类器 2 预测 B 类
分类器 3 预测 B 类
2/3 分类器预测 B 类,因此B 类是集成决策。
预测
(这与前面的示例相同,但现在以概率表示。此处仅显示 A 类的值,因为问题是二元的):
分类器 1 以 90% 的概率预测 A 类
分类器 2 以 45% 的概率预测 A 类
分类器 3 以 45% 的概率预测 A 类
在分类器中属于 A 类的平均概率是(90 + 45 + 45) / 3 = 60%
。因此,A 类是集成决策。
所以你可以看到,在同样的情况下,软投票和硬投票会导致不同的决定。软投票可以改进硬投票,因为它考虑了更多的信息;它在最终决策中使用每个分类器的不确定性。分类器 2 和 3 的高不确定性本质上意味着最终的集成决策强烈依赖于分类器 1。
这是一个极端的例子,但这种不确定性改变最终决定的情况并不少见。