机器学习方法,能够将先验知识整合到决策树中

时间:2016-08-16 07:42:52

标签: algorithm machine-learning decision-tree

您是否知道机器学习方法或方法组合可以将先验知识整合到决策树的构建过程中?

使用"先验知识"我的意思是,如果特定节点中的某个功能确实对所得到的分类负责,则该信息。想象一下,我们只有很短的时间来测量我们的特征,并且在这段时间内我们在特征之间存在相关性。如果我们现在再次测量相同的特征,我们可能得到这些特征之间的相关性,因为它们是相关的巧合。不幸的是,再次测量是不可能的。

出现的问题是:算法选择执行拆分的特征不是实际导致现实世界分裂的特征。换句话说,算法选择强相关特征,而另一个特征是应该选择的特征。这就是我想为树木学习过程设置规则/因果关系/约束的原因。

1 个答案:

答案 0 :(得分:1)

"已经学过的树中的一个特殊功能" - 典型的决策树每个节点有一个特征,因此每个特征可以出现在许多不同的节点中。类似地,每个叶子具有一个分类,但是每个分类可以出现在多个叶子中。 (并且使用二元分类器,任何非平凡的树都必须重复分类。)

这意味着您可以枚举所有叶子并按分类对它们进行排序,以获得统一的叶子集。对于每个此类子集,您可以分析来自树根的所有路径,以查看发生了哪些功能。但这将是一个很大的集合。

"但在我的情况下,有些功能强烈相关......算法选择执行拆分的功能并不是实际导致现实世界分裂的功能。 #34; 据说每个型号都错了,但有些型号很有用。如果这些特征确实具有很强的相关性,那就选择这个"错误的"功能并不会真正影响模型。

您当然可以在树构建中修改拆分算法。平凡地,"如果剩下的类是A和B,则使用split S,否则使用算法C4.5"确定分割。是一种有效的分裂算法,它硬编码有关两个特定类的预先存在的知识,而不仅限于这种情况。

但请注意,在决策树中引入组合类A+B可能更容易,然后在后处理中决定A和B..