2016-04-18 4 views
-6

Я построил дерево решений, которое принимает каждый образец, взвешенный поровну. Теперь построим дерево решений, которое дает разные веса различным образцам. Единственное изменение, которое мне нужно сделать, это найти ожидаемую энтропию, прежде чем вычислять прирост информации. Я немного запутался, как продолжить, PLZ объяснить ....Взвешивание образцов в дереве решений

Например: Рассмотрим узел, содержащий p положительных узлов и n отрицательных узлов. Таким образом, энтропия узлов будет -p/(p+n)log(p/(p+n)) -n/(p+n)log(n/(p+n)). Теперь, если раскол найден каким-то образом, разделив родительский узел на два дочерних узла. Предположим, что у ребенка 1 есть p 'позитивы и n' негативы (так что child 2 содержит pp 'и n-n'). Теперь для child 1 мы вычислим энтропию как рассчитано для родителя, и вероятность его достижения равна (p'+n')/(p+n). Ожидается, что ожидаемое снижение энтропии составит entropy(parent)-(prob of reaching child1*entropy(child1)+prob of reaching child2*entropy(child2)). И будет выбран раскол с максимальным усилением информации.

Теперь необходимо выполнить эту же процедуру, когда у нас есть веса для каждого образца. Какие изменения необходимо сделать? Какие изменения необходимо сделать специально для adaboost (только с использованием пней)?

+0

Это просто. Предполагается, что вам нужно вычислить энтропию p_i - части событий в листе. Вычислить их с использованием весов: p_1 = сумма весов событий класса 1/сумма весов всех событий (обратите внимание, когда все веса равны, они совпадают с простыми ожидаемыми вероятностями). – Alleo

+0

@Alleo Означает ли это, как тяжелая работа, например, проблема образца. Так что, если у нас есть m примеров, вначале каждый образец имел бы вес 1/m, поэтому энтропия узлов будет (p/m) log (p/m) + ((mp)/m) log ((mp)/m), где p - число положительных выборок в узле. Не могли бы вы рассказать о полной методике. –

+0

@Alleo Итак, взвешивание приходит в вычислении энтропии текущего узла также или только ожидаемой энтропии .... –

ответ

1

(я предполагаю, что это та же идея, что и в некоторых комментариях, например, @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 

Теперь вы необходимо заменить p на A и заменить n на B, а затем вы можете получить новую энтропию, взвешенную по экземпляру.

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

Примечание: ничего необычного здесь нет. Мы только что разобрали взвешенное значение группы положительных и отрицательных примеров. Когда примеры одинаково взвешены, важность положительных примеров пропорциональна отношению положительных чисел w.r.t числа всех примеров. Когда примеры неравномерно взвешены, мы просто выполняем средневзвешенное значение, чтобы получить значение положительных примеров.

Затем вы следуете той же логике, чтобы выбрать атрибут с наибольшей информацией Gain, сравнивая энтропию перед расщеплением и после разделения на атрибут.

+0

Где я могу получить литературу. –

Смежные вопросы