Играта на двадесет въпроса
Дървото на решенията работи като играта, в която отгатвате предмет с въпроси „да или не“. Всеки въпрос стеснява възможностите; накрая остава един отговор.
Дърво на решенията
Модел, в който всеки вътрешен възел е проверка върху един признак, а всяко листо съдържа отговор.
Как машината избира въпроса
Човекът в играта пита интуитивно. Алгоритъмът пробва всички възможни въпроси — всеки признак с всяка разумна гранична стойност — и избира този, който разделя данните най-добре.
Чистота на разделянето
Групата е чиста, ако всички примери в нея са от един клас. Добрият въпрос прави получените групи по-чисти от изходната.
- Мярката за нечистота се нарича джини или ентропия. И двете са нула при напълно чиста група и най-големи при равномерна смес.
- Алгоритъмът избира въпроса с най-голямо намаление на нечистотата.
- После повтаря същото за всяка получена група — това е рекурсия, точно като в модул 2.
- Спира, когато групата е чиста, стане твърде малка или се достигне зададена дълбочина.
Ненаситен избор
Алгоритъмът избира най-добрия въпрос в момента, без да гледа напред. Понякога по-лош първи въпрос би довел до по-добро дърво, но проверката на всички комбинации е невъзможна по време.
Защо дърветата се харесват
- Четат се — всяко решение може да се обясни с изречение: „отказан кредит, защото доходът е под X и стажът е под Y“. Това е рядкост в машинното обучение и е причина дърветата да се използват в банки и медицина.
- Не искат нормализиране — сравнението „доходът над 2000“ не се влияе от мащаба на другите признаци.
- Работят с всякакви признаци — числови и категорийни, без специална подготовка.
- Бързи са — предсказването е няколко сравнения.
Слабото място и лекарството
Пренастройване
Оставено без ограничение, дървото ще расте, докато всяко листо съдържа по един пример — тоест ще запамети данните. Точност върху обучаващите: 100%. Върху нови: слаба. Затова се задава max_depth или минимален брой примери в листо.
Нестабилност
Промяна на няколко примера може да смени първия въпрос и оттам — цялото дърво. Два почти еднакви набора дават две различни на вид дървета.
Случайна гора
Лекарството срещу двете е да се обучат много дървета върху случайни части от данните и признаците, а отговорът да се получи с гласуване. Това се нарича случайна гора (random forest) и е един от най-надеждните методи за таблични данни — често побеждава невронните мрежи там.
Цената: гората вече не се чете като едно дърво. Печелим точност, губим обяснимост.