💳 Прогнозатор дефолту за кредитом — градієнтний бустинг дерев наживо
Спостерігайте, як справжній ансамбль градієнтного бустингу наживо вирощує неглибокі дерева рішень, кожне з яких підганяється під залишкові помилки попереднього, реально знижуючи втрати прогнозу дефолту за кредитом з кожним раундом бустингу.
Про градієнтний бустинг дерев для прогнозу дефолту за кредитом
Градієнтний бустинг будує сильний класифікатор з багатьох слабких. Починаючи з однієї константи — логарифмічного шансу базової частоти дефолтів — алгоритм повторно підганяє неглибоке дерево рішень під псевдозалишки поточного ансамблю та додає масштабоване вниз передбачення цього дерева до накопичувального рахунку. Для бінарних логарифмічних втрат псевдозалишок для кожного навчального прикладу — це просто y − p: різниця між істинною міткою та поточною передбаченою ймовірністю. Оскільки кожне нове дерево має пояснити лише те, що ансамбль досі зробив неправильно, втрати на навчанні стабільно знижуються, хоча кожне окреме дерево навмисно неглибоке і слабке.
🔬 Що це показує
Справжнє регресійне дерево у стилі CART вирощується на кожному раунді бустингу шляхом вичерпного сканування кожної кандидатної ознаки та порогу розбиття, щоб знайти той, що найбільше знижує квадратичну помилку на поточних залишках, до обраної максимальної глибини (1–3). Внесок кожного листка потім уточнюється кроком Ньютона-Рафсона (сума залишків поділена на суму p(1−p) у цьому листку), перш ніж додається до накопичувального логарифмічного рахунку, масштабованого швидкістю навчання — справжнє правило оновлення градієнтного бустингу, а не спрощений трюк.
🎮 Як користуватися
Налаштуйте швидкість навчання η, кількість раундів бустингу та глибину дерева, потім натисніть «Тренувати наживо», щоб побачити, як ансамбль зростає дерево за деревом. Точкова діаграма показує відкладених валідаційних заявників, розміщених за співвідношенням боргу до доходу, використанням кредиту та тривалістю кредитної історії, з кольоровим кодуванням за поточною передбаченою ймовірністю дефолту моделі; графік нижче відстежує реальні втрати на навчанні та валідації, що знижуються раунд за раундом. Клацніть на будь-якого заявника, щоб переглянути його ознаки та прогноз.
💡 А чи знали ви?
Синтетичні позичальники в цій симуляції генеруються на основі реалістичних зв'язків ризику дефолту — доходу, кредитної історії, співвідношення боргу до доходу, використання кредиту, прострочень платежів та тривалості трудового стажу — об'єднаних у справжню ймовірність плюс невід'ємний випадковий шум. Навіть ідеальна модель ніколи не може досягти нульових втрат тут, точно як у реальних кредитних даних, тому валідаційні логарифмічні втрати виходять на плато вище нуля, а не сходяться до нього.
Часті запитання
Що таке градієнтний бустинг простими словами?
Градієнтний бустинг будує сильну прогнозну модель як суму багатьох слабких моделей, зазвичай неглибоких дерев рішень, доданих одна за одною. Замість того, щоб кожне дерево намагалося передбачити мітку напряму, кожне нове дерево навчається підганятися під помилки (залишки), залишені ансамблем, побудованим досі. Внесок кожного дерева масштабується вниз швидкістю навчання перед додаванням, тому ансамбль покращується поступово і не перенавчається на особливостях жодного окремого дерева.
Як градієнтний бустинг працює для бінарної класифікації, такої як дефолт за кредитом?
Модель підтримує накопичувальний логарифмічний рахунок F(x) для кожного позичальника. На кожному раунді вона обчислює від'ємний градієнт логарифмічних втрат щодо F, що для логістичних втрат зводиться просто до y − p, різниці між істинною міткою (0 або 1) та поточною передбаченою ймовірністю p = sigmoid(F(x)). Неглибоке регресійне дерево підганяється під ці залишки, а вихідне значення кожного листка уточнюється кроком Ньютона-Рафсона, використовуючи суму залишків листка, поділену на суму p(1−p), що наближає другу похідну втрат. Прогнози дерева, масштабовані швидкістю навчання, потім додаються до F для кожного позичальника, і цикл повторюється.
Як дерево вирішує, де зробити розбиття?
У кожному вузлі алгоритм сканує кожну кандидатну ознаку (дохід, тривалість кредитної історії, співвідношення боргу до доходу, використання кредиту, недавні прострочення платежів, тривалість трудового стажу) та кожен можливий поріг між сусідніми відсортованими значеннями, обчислюючи, наскільки розбиття зменшить загальну квадратичну помилку залишків у цьому вузлі порівняно з відсутністю розбиття. Обирається розбиття з найбільшим зниженням помилки (з урахуванням обмеження мінімальної кількості зразків на листок), і процес рекурсивно повторюється в отриманих дочірніх вузлах, доки не буде досягнута максимальна глибина дерева.
Чому втрати на навчанні продовжують знижуватися, а валідаційні втрати можуть вирівнюватися або зростати?
Кожне нове дерево підганяється спеціально для зменшення залишкової помилки на навчальному наборі, тому логарифмічні втрати на навчанні знижуються майже монотонно з додаванням дерев. Валідаційний набір ніколи не використовувався для підгонки жодного дерева, тому його втрати покращуються лише доти, доки закономірності, які вивчають дерева, справді узагальнюються. Щойно ансамбль починає підганятися під шум, специфічний для навчальних позичальників, а не під справжній зв'язок ризику дефолту, валідаційні втрати перестають покращуватися або повзуть вгору — цей розрив є класичною ознакою перенавчання, і саме тому кількість раундів бустингу, глибина дерева та швидкість навчання налаштовуються за відкладеним валідаційним набором, а не за самим навчальним набором.
Що контролює швидкість навчання і чому не можна просто використати велику?
Швидкість навчання масштабує вниз, скільки з підігнаної корекції кожного нового дерева фактично додається до накопичувального прогнозу. Мала швидкість навчання (наприклад, 0,05) означає, що потрібно багато дерев для досягнення хорошої підгонки, але кожне з них лише злегка підштовхує модель, що зазвичай краще узагальнюється і зменшує ризик того, що якесь одне шумне дерево зіб'є ансамбль зі шляху. Велика швидкість навчання (близько 1,0) дозволяє моделі дуже швидко підганятися під навчальні дані, часто лише за кілька раундів, але вона набагато більш схильна до перевищення та перенавчання.
Чому використовувати неглибокі дерева глибиною 1-3 замість одного великого глибокого дерева?
Одне глибоке дерево може запам'ятати навчальний набір майже ідеально, розбиваючи його на крихітні однорідні області, що погано узагальнюється. Натомість градієнтний бустинг використовує багато неглибоких дерев з високим зміщенням і низькою дисперсією (часто звані «пеньками» на глибині 1) і дозволяє самому процесу бустингу забезпечувати складність, по одній невеликій корекції за раз. У сумі за десятки чи сотні раундів бустингу ансамбль може представляти дуже складні взаємодії ознак, тоді як кожне окреме дерево залишається простим і стійким до перенавчання.
Чим це відрізняється від випадкового лісу?
Випадковий ліс будує багато глибоких дерев незалежно та паралельно на бутстреп-вибірках даних, а потім усереднює їхні прогнози — це зменшує дисперсію (шум), але кожне дерево навчається без знання про помилки інших. Градієнтний бустинг будує дерева послідовно, і кожне нове дерево явно навчається виправляти конкретні помилки, які робить поточний ансамбль. Це послідовне виправлення помилок дозволяє бустингу часто досягати нижчого зміщення та вищої точності, ніж ліс порівнянного розміру, ціною більшої чутливості до швидкості навчання та кількості раундів.
Які ознаки насправді прогнозують ризик дефолту за кредитом у цій симуляції?
Генератор синтетичних позичальників закладає реалістичні зв'язки, які використовують справжні моделі кредитного ризику: вищий дохід і триваліший трудовий стаж знижують ризик дефолту, тоді як вище співвідношення боргу до доходу, вище використання кредитної картки та більше прострочень платежів за останні два роки підвищують його; триваліша кредитна історія також помірно знижує ризик. Ці зв'язки об'єднуються у справжній логарифмічний шанс дефолту плюс невід'ємний випадковий шум, після чого зважене цією ймовірністю підкидання монети генерує спостережувану мітку дефолту — тож навіть ідеальна модель не може досягти нульових втрат, точно як у реальних кредитних даних.
Яка оцінка AUC показана на панелі статистики?
AUC (площа під ROC-кривою) вимірює, наскільки добре модель ранжує позичальників, які справді допустили дефолт, вище за тих, хто не допустив, незалежно від конкретного порогу ймовірності. AUC 0,5 означає, що модель ранжує пари не краще за підкидання монети; AUC 1,0 означає, що кожен дефолтник ранжується вище за кожного недефолтника. Тут вона обчислюється безпосередньо з її рангового визначення: для кожної пари дефолтник/недефолтник у валідаційному наборі перевіряється, чи отримав дефолтник вищу передбачену ймовірність, і результат усереднюється за всіма парами.
Кожен раунд бустингу підганяє справжнє неглибоке регресійне дерево CART під поточні псевдозалишки (y − p) шляхом вичерпного пошуку розбиття з мінімізацією квадратичної помилки, уточнює листки кроком Ньютона-Рафсона та додає масштабований результат до накопичувального логарифмічного рахунку — справжній градієнтний бустинг, що знижує втрати на навчанні та валідації раунд за раундом.
3D · рендерер Three.js / WebGL · ціль 60 кадрів/с · повністю на стороні клієнта, без встановлення