如何分层不会改善健康状况

时间:2015-02-12 09:49:20

标签: matlab classification decision-tree training-data

简介

分层是指您根据分类特征为每个数据子集训练模型(例如,一个分类器用于男性,一个用于女性,在分类疾病时)。

预期的训练错误

我希望分层总能改善训练误差(又称拟合),因为我实际上引入了双自由度(如果参数的数量是X,那么数字可能是2X)。另一种看待它的方法是我增加假设空间。

观察到的训练错误

然而,当我测试我的表现时(使用Matlab的TreeBagger作为基础学习者),当我采用分层时,与不做的情况相比,我的训练错误表现实际上更差。

有人可以解释一下这种现象吗?

谢谢, 哈南

1 个答案:

答案 0 :(得分:0)

我猜测:数据是相关的。如果你有数据A和B并且它们的值是相关的,并且不是(或只是略微)依赖于属于A或B的一部分,那么你期望得到更差的结果。


极端的例子:你有2个骰子,你将每个骰子滚动两次。

如果你试图获得滚动骰子的平均值并且你同时使用这两个数据,那么你会得到比你认为每个骰子不同并获得每个骰子的平均值更好的结果。这是因为您假设数据依赖于骰子,而不是骰子。


我不知道您的应用程序或您的数据维度/数量,但我希望这个小例子可以让您深入了解为什么会发生这种情况。