优化决策树的算法


16

背景

二进制决策树Ť是一个根树,其中每个内部节点(根)由索引标记Ĵ{1个ñ}这样从根到叶子的路径都不会重复索引,叶子用的输出标记,每个边用标记左孩子,用标记右边孩子。要将树应用于输入:0 1 x{一种}01个X

  1. 从根开始
  2. 如果您在叶子上,则输出叶子标签或并终止一种
  3. 读取当前节点的标签,如果则移至左子级;如果则移至右子级。x j = 0 x j = 1ĴXĴ=0XĴ=1个
  4. 跳至步骤(2)

将树用作评估函数的一种方式,特别是如果对每个我们有则树表示总函数。树的查询复杂度是其深度,函数的查询复杂度是表示该树的最小树的深度。˚F X { 0 1 } Ñ Ť X = ˚F X ŤFX{01个}ñŤX=FX


问题

给定二元决策树T,输出最小深度的二元决策树T',使得T和T'表示相同的函数。

最知名的算法是什么?是否知道下界?如果我们知道怎么办?如果我们仅要求具有大约最小深度该怎么办?T '深度Ť=Ø日志深度ŤŤ


天真的方法

给出的幼稚方法,以递归枚举深度为所有二进制决策树,同时测试它们是否与T评估相同。这似乎需要O d 2 n n d 1d=深度Ťd-1个ŤØd2ñññ-d步骤(假设花费d步骤检查任意x的ŤX计算结果)。有没有更好的方法?X

动机

这个问题是由先前在查询复杂度和时间复杂度之间进行权衡取舍的问题引起的。特别是,目标是限制所有功能的时间间隔。我们可以从运行时间为t的时间最优算法中生成树,然后将其转换为查询最优算法的树T '。不幸的是,如果牛逼Ø ñ /ñ - d (通常d Θ ñ ŤŤŤŤØñ/ñ-ddΘñ)的瓶颈在于转化。如果可以替换,那就太好了/n - d 大约2 dñ/ñ-d2d


找到最优决策树是NP完成的。在决策理论和数据挖掘课程中,我被教导说,但是这些都是基于注释的,并且我不知道介绍结果的原始论文。
chazisop 2011年

@chazisop很酷,谢谢。对我来说,发现最优决策树并不在NP中,这不是很明显,但是我会考虑/寻找更多决策树。有时知道定理陈述只是证明它的一半:D。
Artem Kaznatcheev

我认为对此的最早参考是:学习决策列表和树的下界。(Hancock et al。1994
列夫·雷津

1
Laurent Hyafil和Ronald L. Rivest在建立最优二元决策树中是NP-complete(1976)给出了找到最优决策树是NP-完全问题的证明。参考:此处
-antoine

Answers:


16

我有3个答案,所有答案都给出了不同的硬度结果。

是一些功能。F{01个}ñ{01个}

答案1

给定一个决策树计算f和一个数字,很难判断是否存在一个决策树T '计算f的大小最多为该数目。ŤFŤFZantema和Bodlaender '00

答案2

给定决策树计算f,将最小的决策树计算f近似为任何常数因子都是NP 。ŤFFSieling '08

答案3

是最小的决策树计算的大小˚F。给定一个决策树Ť计算˚F,假设Ñ P d Ť 中号ë 2 Ñ ε为一些ε < 1,不能找到一个等效决策树Ť '大小的小号ķ任何ķ 0sFŤFNPDTIME(2nϵ)ϵ<1Tskk0

我认为,可以通过以下参数根据Occam决策树算法的学习理论中的已知结果得出这个更强的答案(基于一个较弱的假设):

  1. 是否有可能在时间n log s的变量 上找到决策树,其中s是与来自分布(PAC模型)的示例一致的最小决策树。(百隆'92nnlogss
  2. 假设为一些ε < 1,我们不能PAC学习大小小号通过尺寸决策树小号ķ决策树对于任何ķ 0。(Alekhnovich et al.'07NPDTIME(2nϵ)ϵ<1sskk0

这两个结果似乎暗示您的问题的硬度结果。一方面(1),我们可以找到一个很大的决策树;另一方面,(2),我们不应该能够将其最小化来获得同等的“小”之一,大小,即使在一个尺寸的存在小号sks


(我从不到一个小时前发布的答案中找到了您的答案。)看起来“ ”可以替换为“ positive ϵ”,因为减小decreasing会使容器的右侧变小ϵ<1ϵϵ 另外,该论文在哪里显示2。


(来自与Ricky Demer相同的答案),您能否详细说明如何从第1点和第2点获得“答案3”?我对学习理论不是很熟悉,很难连接各个部分……
Marc

这种一致性问题和可学习性通过Occam的剃刀紧密相关。这样的想法是,如果您可以从一小组中找到一致的功能,那么您就可以成功地进行PAC学习。因此,学习结果的硬度意味着“一致性的硬度”结果。我不确定我还能在评论中解释多少……
列夫·雷津

据我了解,诱发了1算法不及时运行这将是必要的文章中得到的矛盾与2(精确的结果,如果我正确地得到它表示没有用于决策树的多时学习算法)。因此,您的论点可能有问题。Poly(n,s)
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.