Кожне дерево ансамблю вгадує правильно з ймовірністю 0.45. Що дасть голосування 201 дерева?
Чому так. Теорема Кондорсе працює в обидва боки. При p > 0.5 більшість збігається до одиниці, при p < 0.5 — до нуля. Наш розрахунок у практиці дає 0.0774 для p = 0.45 і M = 201: натовп моделей, гірших за монетку, помиляється дедалі впевненіше. Скомпенсуватись помилки могли б лише при p = 0.5 рівно.
Питання 2 / 8
Ти навчив 500 дерев на одній і тій самій вибірці одним і тим самим детермінованим алгоритмом, без бутстрепу й без випадкових ознак. Яка буде точність ансамблю?
Чому так. Голоси в теоремі Кондорсе мають бути незалежними. Детермінований алгоритм на однакових даних дає однакові дерева, тому всі 500 проголосують однаково — ефективна кількість голосів дорівнює одиниці. Приріст точності дає не кількість моделей, а їхня різноманітність; уся конструкція лісу — це два трюки, які роблять дерева різними.
Питання 3 / 8
Чому дерева всередині випадкового лісу навмисне не обрізають, хоча в темі про дерева ми довели, що глибокі дерева перенавчаються?
Чому так. Глибоке дерево має мале зміщення й велику дисперсію. Усереднення багатьох моделей прибирає дисперсію, а зміщення лишає як було. Отже, в ансамбль треба брати моделі, у яких погано саме те, що ансамбль вміє лікувати. Обрізане дерево мало б і зміщення теж — і від нього голосування вже не врятує.
Питання 4 / 8
Що саме дає параметр max_features (mtry), і чому за замовчуванням для класифікації беруть √p?
Чому так. Підмножина обирається заново в кожному вузлі, а не один раз на дерево. Якщо в даних є одна дуже сильна ознака, без цього трюку майже кожна бутстреп-вибірка поставить її в корінь, і дерева вийдуть майже однаковими. Малий mtry робить дерева різними ціною їхньої сили — це компроміс сили й кореляції, і √p лише непогане перше наближення.
Питання 5 / 8
Формула дисперсії середнього: Var = ρσ² + (1−ρ)σ²/M. Ти збільшив кількість дерев зі 100 до 10000 і майже нічого не виграв. Чому?
Чому так. Кількістю дерев ми давимо тільки другий доданок, і при M = 100 він уже малий. Перший доданок ρσ² — стеля, яку кількістю не пробити взагалі. Опустити її можна лише зменшивши кореляцію ρ між деревами: бутстрепом і випадковими ознаками. Саме тому декореляція важливіша за кількість, а не навпаки.
Питання 6 / 8
OOB-оцінка вийшла 0.805, а на відкладеній тестовій вибірці — 0.875. Що це найімовірніше означає?
Чому так. Голос про клієнта дають лише ті дерева, які його не бачили — приблизно третина. Тобто OOB міряє якість меншого ансамбля, ніж той, який поїде в продакшн, і тому трохи занижує. Плюс сама оцінка на 200 обʼєктах має стандартну похибку близько ±0.03. Песимістична оцінка — це найкращий вид помилки з можливих.
Питання 7 / 8
У таблиці є колонка «id сесії» — випадкове число, унікальне для кожного клієнта. feature_importances_ дає їй 10% важливості. Твої дії?
Чому так. MDI рахується на навчальних даних і систематично завищує ознаки з великою кількістю різних значень: у них більше кандидатів на поріг, тому вища ймовірність випадково зменшити забрудненість. У практиці «id сесії» отримала 10.5% MDI проти 1.4% у шумового «каналу» з двома значеннями — уся різниця в кількості значень. Permutation importance на тестових даних дала їй 0.0015, і саме вона права.
Питання 8 / 8
У таблиці «витрати» і «кількість транзакцій» майже дублюють одне одного. Як це зіпсує важливість ознак?
Чому так. Кожне дерево бере ту з двох колонок, яка випала йому в підмножину ознак, тому інформація одна, а важливість ділиться навпіл. При трьох-чотирьох дублікатах справді корисна ознака цілком може опуститись нижче порога, за яким ознаки відкидають. У практиці ми прибрали дублікати — і MDI «витрат» підскочила з 0.278 до 0.465 при майже незмінній точності моделі.