Лого на 91. НЕГ „Проф. Константин Гълъбов“

Избираем модул · Урок 15

Дървета на решенията

Модел, който задава въпроси. Как машината избира най-добрия въпрос, защо дърветата се четат от човек и какво е гора от дървета.

Играта на двадесет въпроса

Дървото на решенията работи като играта, в която отгатвате предмет с въпроси „да или не“. Всеки въпрос стеснява възможностите; накрая остава един отговор.

данеданевенчелистче < 2.5 см?setosaвенчелистче < 4.8 см?versicolorvirginicaВсеки път от корена до листо е едно правило.
Дърво, обучено върху набора с перуники. Две проверки стигат за три вида.

Дърво на решенията

Модел, в който всеки вътрешен възел е проверка върху един признак, а всяко листо съдържа отговор.

Как машината избира въпроса

Човекът в играта пита интуитивно. Алгоритъмът пробва всички възможни въпроси — всеки признак с всяка разумна гранична стойност — и избира този, който разделя данните най-добре.

Чистота на разделянето

Групата е чиста, ако всички примери в нея са от един клас. Добрият въпрос прави получените групи по-чисти от изходната.

  • Мярката за нечистота се нарича джини или ентропия. И двете са нула при напълно чиста група и най-големи при равномерна смес.
  • Алгоритъмът избира въпроса с най-голямо намаление на нечистотата.
  • После повтаря същото за всяка получена група — това е рекурсия, точно като в модул 2.
  • Спира, когато групата е чиста, стане твърде малка или се достигне зададена дълбочина.

Ненаситен избор

Алгоритъмът избира най-добрия въпрос в момента, без да гледа напред. Понякога по-лош първи въпрос би довел до по-добро дърво, но проверката на всички комбинации е невъзможна по време.

Защо дърветата се харесват

  • Четат се — всяко решение може да се обясни с изречение: „отказан кредит, защото доходът е под X и стажът е под Y“. Това е рядкост в машинното обучение и е причина дърветата да се използват в банки и медицина.
  • Не искат нормализиране — сравнението „доходът над 2000“ не се влияе от мащаба на другите признаци.
  • Работят с всякакви признаци — числови и категорийни, без специална подготовка.
  • Бързи са — предсказването е няколко сравнения.

Слабото място и лекарството

Пренастройване

Оставено без ограничение, дървото ще расте, докато всяко листо съдържа по един пример — тоест ще запамети данните. Точност върху обучаващите: 100%. Върху нови: слаба. Затова се задава max_depth или минимален брой примери в листо.

Нестабилност

Промяна на няколко примера може да смени първия въпрос и оттам — цялото дърво. Два почти еднакви набора дават две различни на вид дървета.

Случайна гора

Лекарството срещу двете е да се обучат много дървета върху случайни части от данните и признаците, а отговорът да се получи с гласуване. Това се нарича случайна гора (random forest) и е един от най-надеждните методи за таблични данни — често побеждава невронните мрежи там.

Цената: гората вече не се чете като едно дърво. Печелим точност, губим обяснимост.