在决策树中称量样本



我构建了一个决策树,它使每个样本的权重相等。现在构造一个决策树,为不同的样本赋予不同的权重。我唯一需要做的改变是在计算信息增益之前找到期望熵。我有点困惑该怎么办,请解释一下。。。。

例如:考虑一个包含p个正节点和n个负节点的节点。因此,节点熵将是-p/(p+n)log(p/(p+n)) -n/(p+n)log(n/(p+n))。现在,如果发现以某种方式将父节点划分为两个子节点的拆分。假设子1包含p'正和n'负(因此子2包含p-p'和n-n')。现在,对于子1,我们将计算为父计算的熵,并取达到它的概率,即(p'+n')/(p+n)。现在预期的熵减少将是entropy(parent)-(prob of reaching child1*entropy(child1)+prob of reaching child2*entropy(child2))。并且将选择具有最大信息增益的分割。

现在,当我们为每个样本提供权重时,执行相同的过程。需要进行哪些更改?需要对adaboost进行哪些更改(仅使用树桩)?

(我想这与一些评论中的想法相同,例如@Alleo)

假设你有p的正例子和n的负例子。让我们将示例的权重表示为:

a1, a2, ..., ap  ----------  weights of the p positive examples
b1, b2, ..., bn  ----------  weights of the n negative examples

假设

a1 + a2 + ... + ap = A 
b1 + b2 + ... + bn = B

正如您所指出的,如果示例具有单位权重,则熵为:

    p          p          n         n
- _____ log (____ )  - ______log(______ )
  p + n      p + n      p + n     p + n

现在你只需要用A替换p,用B替换n,就可以获得新的实例加权熵。

    A          A          B         B
- _____ log (_____)  - ______log(______ )
  A + B      A + B      A + B     A + B

注意:这里没什么特别的。我们所做的只是计算出这组积极和消极例子的加权重要性。当例子的权重相等时,正例子的重要性与所有例子的正数与绝对数之比成正比。当例子的权重不相等时,我们只需要进行加权平均来获得正面例子的重要性。

然后,通过比较属性拆分前和拆分后的熵,按照相同的逻辑选择信息增益最大的属性。

相关内容

  • 没有找到相关文章

最新更新