考虑三个相互独立的分类器A、B、C,它们具有相同的错误概率:

问题如下:

考虑三个相互独立的分类器A、B、C,它们具有相同的错误概率:

Pr(errA) = Pr(errB) = Pr(errC) = t

设D为另一个分类器,它采用A、B和C的多数投票结果。

• D的错误概率Pr(errD)是多少?

• 将Pr(errD)作为t的函数绘制出来。

• 在哪些t值下,D的表现优于其他三个分类器中的任何一个?



我的问题是:

(1) 我无法计算出D的错误概率。我以为它会是1减去α(1 – α),但我并不确定。

(2) 如何绘制t(Pr(errD))?我假设如果没有找到Pr(errD),我就可以绘制它了。

(3) 同样,我无法解决这个问题。相对而言,我应该如何确定D的表现?


回答:

如果我理解正确的话,你的问题可以用简单的术语来表述,而不需要任何集成学习。

考虑到D是三个分类器投票的结果,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]内将这个函数绘制出来,不会有太大困难。

至于你的第三个问题,只需求解P(errA) – P(errD) > 0(这意味着D的错误概率小于A,因此其表现更好)。如果你解出这个,你应该会发现条件是t<0.5。

回到集成学习,注意你的估计器之间的独立性假设在实践中通常是不成立的。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注