DamiRocK

XOR: один split не уменьшает Gini, два дают идеальную классификацию

Четыре точки (1,1),(2,2) класса 1 и (1,2),(2,1) класса 0. Любой первый split по x или z оставляет impurity 0,5; второй очищает листья.

Пример источника

Даны четыре наблюдения:

y x z
1 1 1
1 2 2
0 1 2
0 2 1

Корневой impurity

Классы сбалансированы 2/2, поэтому G_root=1−(1/2)²−(1/2)²=0,5.

Первое разбиение

Split x<1,5 создаёт два узла по две точки; в каждом одна единица и один ноль. Их Gini=0,5, weighted impurity тоже 0,5. То же происходит при первом split по z.

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

Второй split

После split по x каждый дочерний узел можно разделить по z<1,5. Все четыре терминальных узла становятся чистыми, weighted Gini падает до 0.

Смысл

Это классический XOR-паттерн: ни один признак по отдельности не информативен о классе, но их взаимодействие определяет его полностью.

Борис Демешев и участники · mlearn_pro, задача 96 · CC BY 4.0. Набор данных источника сохранён; impurity рассчитана.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.