22
Деревья решений И. Куралёнок, Н. Поваров Яндекс СПб, 2016 И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 18

Машинное обучение 2, весна 2016: Деревья решений

Embed Size (px)

Citation preview

Page 1: Машинное обучение 2, весна 2016: Деревья решений

Деревья решений

И. Куралёнок, Н. Поваров

Яндекс

СПб, 2016

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 18

Page 2: Машинное обучение 2, весна 2016: Деревья решений

Пример

Дмитрий и Владимир выбирают страну, куда поехатьна отдых. Их рассуждения:

в Америку — далеко и много-много диких обезьян;в Европу — дорого;в мусульманские страны не поедем: там питьнельзя;поедем в Крым!

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 2 из 18

Page 3: Машинное обучение 2, весна 2016: Деревья решений

Пример

По сути герои использовали дерево решений. Воткакими свойствами этот способ обладает:

1 Легко интерпретировать (хотя тяжело понять :))2 Стремление к однородности групп, получившихся

в результате деления3 Деление всего множества4 Жадность

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 18

Page 4: Машинное обучение 2, весна 2016: Деревья решений

Свойства

Кусочно-постоянная природа

Большая изменчивость при изменении learn

Операции:Любое дерево можно представить как бинарноеДерево деревьев — деревоЛинейная комбинация, произведение, степень, etc.деревьев — дерево

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 18

Page 5: Машинное обучение 2, весна 2016: Деревья решений

Виды деревьев

Дикие

ПенькиЗабывчивыеНечёткие

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 18

Page 6: Машинное обучение 2, весна 2016: Деревья решений

Виды деревьев

ДикиеПеньки

ЗабывчивыеНечёткие

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 18

Page 7: Машинное обучение 2, весна 2016: Деревья решений

Виды деревьев

ДикиеПенькиЗабывчивые

Нечёткие

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 18

Page 8: Машинное обучение 2, весна 2016: Деревья решений

Виды деревьев

ДикиеПенькиЗабывчивыеНечёткие

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 18

Page 9: Машинное обучение 2, весна 2016: Деревья решений

Алгоритм обучения

Выберем вид обучаемого дерева, чувство прекрасного T ,пространство точек X , критерий остановки E , правило созданиялиста L

1 Вычислим изменение T для всех возможных способовподелить каждый лист используя факторы из X

2 Выберем максимальное улучшение T , проведем деление,создав листья по количеству возможных значений фактора

3 Проверим критерий остановки E , если он не выполнен,идем в 1 иначе все.

4 Подрежем дерево P

По сути все обучение задается набором T , X и E , L.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 18

Page 10: Машинное обучение 2, весна 2016: Деревья решений

ID3Iterative dichotomizer 3 (Ross Quinlan)

Строим классификатор. Алгоритм:T : T (l) = −

∑c∈C p(c) log p(c)

X : дискретные фичиE : пока в листе не окажется либо ∅, либо все значения будут водном классеL: создаем листья по количеству возможных значений фактора,если множество пустое, то используем значение, которое чащевсего встречается у примеров с таким значением фактора вовсем множествеP : Нет

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 7 из 18

Page 11: Машинное обучение 2, весна 2016: Деревья решений

C4.5Ross Quinlan

Строим классификатор. Алгоритм:T : T (l) = −

∑c∈C p(c) log p(c)

X : дискретные и непрерывные фичи, веса точек, не все точкиразмеченыE : пока в листе не окажется либо ∅, либо все значения будут водном классеL: создаем листья по количеству возможных значений фактора(в случае непрерывной фичи используем разницу не менее α),если множество пустое, то используем значение, которое чащевсего встречается на предыдущем уровнеP : По CV сворачиваем ветви, которые не работают

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 8 из 18

Page 12: Машинное обучение 2, весна 2016: Деревья решений

C5Ross Quinlan

Строим классификатор. Алгоритм закрыт. Но говорят:

Работает быстрее и потребляет меньше памяти

Строит деревья меньшей высоты

Умеет работать с весами точек

Поддерживает бустинг (что бы это не значило)

думает за вас.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 9 из 18

Page 13: Машинное обучение 2, весна 2016: Деревья решений

CART IClassification and Regression Tree (L. Breiman, J. Friedman, et.al.)

Строим классификатор или регрессию. Дерево бинарное.Алгоритм:T : T (l)

X : все возможные разбиения по каждому факторуE : пока можно найти разбиение lt+1 : T (lt) > T (lt+1)L: создаем 2 листа с средневыборочным значением в каждомP : нет

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 10 из 18

Page 14: Машинное обучение 2, весна 2016: Деревья решений

CART IIClassification and Regression Tree (L. Breiman, J. Friedman, et.al.)

Чувства прекрасного для CART:В случае классификации, применяем impurityindex:

T (L) =∑

l

∑c p(yi = c |i ∈ l)(1− p(yi = c |i ∈ l) =∑

l(1−∑

c p(yi = c |i ∈ l)2)T (l) = −

∑l

∑c∈C p(c) log p(c)

T (L) = 1|L|∑

l∈L∑

i∈l I (yi 6= yl)

В случае регрессии:

T (L) =∑l∈L

Dl

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 18

Page 15: Машинное обучение 2, весна 2016: Деревья решений

CART IIClassification and Regression Tree (L. Breiman, J. Friedman, et.al.)

В чем же разница между разными ЧП:

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 12 из 18

Page 16: Машинное обучение 2, весна 2016: Деревья решений

Тонкости

На практике мы используем варианты CART, поэтомудальше только о нем.

Одинаковые по форме деревья решений могутнести существенно разную информациюУверенность в значении в листе не всегда можнопросто вычислитьНе всегда оптимально назначатьсредневыборочное как значение в листе O_o

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 18

Page 17: Машинное обучение 2, весна 2016: Деревья решений

Немного о информации

Сколько всего информации в дереве:Информация о способе разбиения в каждом ноде:log(n + 1) + log(|fl |+ 1)Информация о получившемся разбиении:∑

l∈L|l ||X | log(|l |+ 1)

Значения в листьях: |L| × 32bit⇒ Круто оптимизировать разбиения фичи⇒ Мы можем построить prior по тому, сколько вдереве информации (сага о log)

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 14 из 18

Page 18: Машинное обучение 2, весна 2016: Деревья решений

Способы бинаризации

X ⊂ Rn×m, b : Rn → {0, 1}N

По хорошему, хотим b̂ = argmaxb T(V , argmaxF (b) T (L,F )

), но

это дорого и долго, поэтому используем эмпирику, напримермедианное разбиение с фиксированным количеством слотов.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 15 из 18

Page 19: Машинное обучение 2, весна 2016: Деревья решений

Диалоги о дисперсииВ случае MSE минимизируем суммарную дисперсию на каждомсплите. Дисперсия растет с числом точек, нам интересно, чтобудет на бесконечности.

Можно использовать исправленную дисперсию, но помогает невсегда и есть варианты.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 18

Page 20: Машинное обучение 2, весна 2016: Деревья решений

Работающие деревья

To be continued

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 17 из 18

Page 21: Машинное обучение 2, весна 2016: Деревья решений

Работающие деревья

To be continued

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 17 из 18

Page 22: Машинное обучение 2, весна 2016: Деревья решений

Что мы сегодня узнали

Деревья решений = разделяй и влавствуйЖадность + ограничение информации в делении= ProfitЕсть много чувств прекрасного, и хорошее еще неизобретеноМного нюансов есть в очень простых вещах, дажев вычислении среднего :)

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 18 из 18