Зменшення Джині та домішка Джині у дитячих вузлах


15

Я працюю над мірою важливості функції Джині для випадкових лісів. Тому мені потрібно обчислити зменшення домішки вузла Джіні. Ось як я це роблю, що призводить до конфлікту з визначенням, що говорить про те, що я десь повинен помилятися ... :)

Для двійкового дерева та, враховуючи ймовірність лівих і правих дітей, я можу обчислити домішку Джині вузла н :

i(n)=1pl2-pr2

І зменшення Джині:

Δi(n)=i(n)pli(nl)pri(nr)

Отже, для цього прикладу зі 110 спостереженнями на вузлі:

- node (110)
   - left (100)
      - left_left (60)
      - left_right (40)
   - right (10)
      - right_left (5)
      - right_right (5)

Я б обчислив зменшення Джині для вузла так:

i(left)=1(60/100)²(40/100)²=0.48i(right)=1(5/10)²(5/10)²=0.50i(node)=1(100/110)²(10/110)²=0,16

Але після визначення Бреймана (або цієї відповіді на резюме: Як виміряти / класифікувати "змінну важливість" при використанні CART , але я не маю доступу до посилальної книги), критерій домішки нащадка повинен бути меншим, ніж батьківський вузол:

Важливість Джині
Кожного разу, коли розбиття вузла робиться на змінну m, критерій домішки Джині для двох нащадкових вузлів є меншим, ніж батьківський вузол. Додавання зменшення джині для кожної окремої змінної для всіх дерев у лісі надає важливої ​​швидкості змінної, яка часто дуже відповідає мірі важливості перестановки.

Тому що в іншому випадку це призводить до негативного зниження Джині ...

Δi(node)=i(node)(100/110)i(left)(10/110)i(right)=0.32

Отже, якби хтось міг сказати, де я помиляюся, я був би дуже вдячний, бо, схоже, я пропускаю щось очевидне тут ...

Відповіді:


16

Ви просто взагалі не використовували змінну цільового класу. Домішка Джині, як і всі інші функції домішок, вимірює домішки виходів після розщеплення. Що ви зробили, це виміряти щось, використовуючи лише розмір вибірки.

Я намагаюся отримати формулу для вашого випадку.

Припустимо, для простоти у вас є двійковий класифікатор. Позначимо з тестовий атрибут, з - атрибут класу, який має значення .ACc+,c

Початковий індекс Джині перед розщепленням задається де - частка точок даних, які мають значення для класу змінна.

I(A)=1P(A+)2P(A)2
P(A+)c+

Тепер домішка для лівого вузла була б де - пропорція точок даних з лівої підмножини які мають значення у змінній класу тощо.

I(Al)=1P(Al+)2P(Al)2
I(Ar)=1P(Ar+)2P(Ar)2
P(Al+)Ac+

Тепер остаточною формулою для GiniGain була б

GiniGain(A)=I(A)pleftI(Al)prightI(Ar)
де - частка примірників для лівого підмножини, або (скільки екземплярів перебувають у лівому підмножині , поділене на загальну кількість примірників з .pleft#|Al|#|Al|+#|Ar|A

Я відчуваю, що моє позначення можна було б покращити, я буду дивитись пізніше, коли у мене буде більше часу.

Висновок

Використання лише кількості точок даних недостатньо, домішка означає, наскільки одна особливість (тестова функція) здатна відтворити розподіл іншої функції (ознака класу). Тестовий розподіл функцій видає число, яке ви використовували (як ліворуч, як праворуч), але розподіл функції класу у ваших формулах не використовується.

Пізніше редагуйте - доведіть, чому вона зменшується

Тепер я помітив, що я пропустив ту частину, яка доводить, чому завжди індекс джині на дочірньому вузлі менше, ніж на батьківському вузлі. У мене немає повного доказу чи перевіреного, але я думаю, що це вагомий доказ. Для іншої цікавої речі, пов'язаної з темою, ви можете перевірити Технічну примітку: Деякі властивості критеріїв розщеплення - Лео Брейман . Тепер воно піде за моїм доказом.

Припустимо , що ми в довічним випадку, і все значення у вузлі може бути повністю описується парою зі значенням примірників першого класу, і примірників другого класу. Ми можемо констатувати, ніж це у батьківському вузлі, у якого є екземпляри.(a,b)ab(a,b)

Для того, щоб знайти найкращий розділ, ми сортуємо екземпляри за допомогою тестової функції і намагаємося всі можливі бінарні розбиття. Сортування за заданою ознакою насправді є перестановкою екземплярів, в яких класи починаються з екземпляра першого або другого класу. Не втрачаючи загальності, ми припустимо, що він починається з екземпляра першого класу (якщо це не так, у нас є дзеркальне підтвердження з тим же розрахунком).

Перший розділ, який слід спробувати, - у лівому та правому екземплярах. Яким чином індекс джині для тих можливих кандидатів для лівого і правого дочірніх вузлів порівнюється з батьківським вузлом? Очевидно, що зліва у нас . Тож у лівій частині ми маємо менше значення індексу джині. Як щодо правого вузла?(1,0)(a1,b)h(left)=1(1/1)2(0/1)2=0

h(parent)=1(aa+b)2(ba+b)2
h(right)=1(a1(a1)+b)2(b(a1)+b)2

Враховуючи, що більший або дорівнює (оскільки в іншому випадку, як ми могли відокремити екземпляр першого класу в лівому вузлі?) І після спрощення зрозуміти, що індекс gini для правого вузла має менше значення, ніж для батьківський вузол.a0

Тепер завершальним етапом доказу є те, що, розглядаючи всі можливі точки розщеплення, продиктовані отриманими нами даними, ми зберігаємо ту, яка має найменший сумарний індекс Джині, що означає, що вибраний нами оптимум є меншим або рівним, ніж тривіальний той, який я довів, що менший. Що робить висновок, що врешті-решт індекс джині зменшиться.

В якості остаточного висновку ми маємо зазначити, навіть якщо різні розщеплення можуть дати значення, що перевищують цей батьківський вузол, те, що ми обираємо, буде найменшим серед них, а також меншим, ніж значення батьківського індексу Джині.

Сподіваюся, це допомагає.


Дуже дякую, ви розблокували мій мозок ... Насправді, оскільки я маю справу з деревами регресії, використання змінної цільового класу виявилося менш очевидною, ніж для чистого завдання класифікації. Але тепер це абсолютно має сенс.
Ремі Меліссон

Я оновив відповідь, щоб містити відсутні частини.
rapaio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.