machine-learning - 考虑三个相互独立的分类器 A、B、C,它们的错误概率相等:
问题描述
这是问题所在:
考虑三个相互独立的分类器 A、B、C,它们的错误概率相等:
Pr(errA) = Pr(errB) = Pr(errC) = t
设 D 是另一个分类器,它获得 A、B 和 C 的多数票。
• 什么是 Pr(errD)?
• 将 Pr(errD) 绘制为 t 的函数。
• 对于哪些t 值,D 的性能优于其他三个分类器中的任何一个?
我的问题是:
(1)我无法计算出D的错误概率。我认为它会是1减去alpha(1 - α),但我不确定。
(2)如何绘制 t(Pr(errD))?我假设没有找到 Pr(errD) 然后我可以绘制它。
(3)这里也是,我想不通。相比之下,我应该如何确定 D 的性能?
解决方案
如果我理解得很好,您的问题可以用简单的术语来表述,而无需任何集成学习。
鉴于这D
是 3 个分类器投票的结果,D
当且仅当至多一个估计器是正确的时,它才是错误的。
A,B,C
是独立的,所以:
不正确的概率是 t^3
一个正确而另外两个错误的概率是 3(1-t)t^2(因素 3 是因为有三种方法可以实现这一点)
所以 P(errD) = t^3 + 3(1-t)t^2 = -2t^3 + 3t^2
您应该能够在 [0:1] 区间内将其绘制为 t 的函数,而不会遇到太多困难。
至于你的第三个问题,只需解决 P(errA) - P(errD) >0 (这意味着 D 的错误概率小于 A 的错误概率,因此它的性能更好)。如果你解决这个问题,你应该会发现条件是 t<0.5。
回到集成学习,请注意,估计器之间的独立性假设通常在实践中没有得到验证。
推荐阅读
- java - 如何在资源中动态编译和运行带有 .class 文件的 .java 文件?
- python - 将特定时区的日期时间转换为python中的unix时间戳
- javascript - 在 ReactJS 中获取“RangeError:超出最大调用堆栈大小”
- html - 如何发送带有 PDF 附件的电子邮件 laravel?
- ios - 在 SwiftUI 中,如何执行手势但将手势转发到其后面的视图?
- c++ - 如何修复 QT 中的 GL.h 编译错误?
- julia - 在 Julia Plots 包中定义自定义 color_palette
- sql - Wordpress 数据库和 WP 迁移
- javascript - 减少组件滚动 Reactjs?
- java - 为什么会为 t1.x 获取空指针异常?