Strona głównaAI i uczenie maszynowePredyktor niespłacania pożyczek — Gradient Boosted Trees na żywo

💳 Predyktor niespłacania pożyczek — Gradient Boosted Trees na żywo

Obejrzyj, jak prawdziwy zespół gradient boosting na żywo tworzy płytkie drzewa decyzyjne, z których każde dopasowuje się do błędów resztkowych poprzedniego, realnie zmniejszając symulowaną stratę przewidywania niespłacenia pożyczki z każdą rundą wzmacniania.

AI i uczenie maszynowe3DZaawansowany60 FPS
ai-online-lending-default-prediction ↗ Otwórz osobno

O Gradient Boosted Trees w przewidywaniu niespłacenia pożyczki

Gradient boosting buduje silny klasyfikator z wielu słabych. Zaczynając od pojedynczej stałej — log-szans bazowego wskaźnika niespłacenia — algorytm wielokrotnie dopasowuje płytkie drzewo decyzyjne do pseudo-reszt bieżącego zespołu i dodaje przeskalowaną predykcję tego drzewa do bieżącego wyniku. Dla binarnej straty logarytmicznej pseudo-reszta dla każdego przykładu treningowego to po prostu y − p: różnica między prawdziwą etykietą a bieżącym przewidywanym prawdopodobieństwem. Ponieważ każde nowe drzewo musi jedynie wyjaśnić to, co zespół dotąd pomylił, strata treningowa systematycznie spada, mimo że każde pojedyncze drzewo jest celowo płytkie i słabe.

🔬 Co pokazuje

Prawdziwe drzewo regresyjne w stylu CART jest tworzone w każdej rundzie wzmacniania poprzez wyczerpujące przeszukanie każdej kandydującej cechy i progu podziału w poszukiwaniu tego, który najbardziej zmniejsza błąd kwadratowy na bieżących resztach, aż do wybranej maksymalnej głębokości (1–3). Wkład każdego liścia jest następnie doprecyzowywany krokiem Newtona-Raphsona (suma reszt podzielona przez sumę p(1−p) w tym liściu), zanim zostanie dodany do bieżącego wyniku log-szans, przeskalowany współczynnikiem uczenia — to prawdziwa reguła aktualizacji gradient boosting, nie uproszczony skrót.

🎮 Jak korzystać

Dostosuj współczynnik uczenia η, liczbę rund wzmacniania i głębokość drzewa, a następnie naciśnij „Trenuj na żywo”, aby obejrzeć, jak zespół rośnie drzewo po drzewie. Wykres punktowy pokazuje wnioskodawców ze zbioru walidacyjnego, umieszczonych według wskaźnika zadłużenia do dochodu, wykorzystania limitu kredytowego i długości historii kredytowej, kolorowanych według bieżącego przewidywanego przez model prawdopodobieństwa niespłacenia; poniższy wykres śledzi, jak rzeczywista strata logarytmiczna treningu i walidacji spada rundę po rundzie. Kliknij dowolnego wnioskodawcę, aby sprawdzić jego cechy i predykcję.

💡 Czy wiesz, że…

Syntetyczni pożyczkobiorcy w tej symulacji są generowani na podstawie realistycznych zależności ryzyka niespłacenia — dochodu, historii kredytowej, wskaźnika zadłużenia do dochodu, wykorzystania limitu kredytowego, opóźnień w spłatach i stażu pracy — połączonych w prawdziwe prawdopodobieństwo plus nieusuwalny losowy szum. Nawet idealny model nigdy nie może tu osiągnąć zerowej straty, dokładnie jak w rzeczywistych danych pożyczkowych, dlatego strata walidacyjna stabilizuje się powyżej zera, zamiast do niego zbiegać.

Najczęściej zadawane pytania

Czym jest gradient boosting, mówiąc prościej?

Gradient boosting buduje silny model predykcyjny jako sumę wielu słabych modeli — zwykle płytkich drzew decyzyjnych — dodawanych jeden po drugim. Zamiast próbować bezpośrednio przewidzieć etykietę, każde nowe drzewo jest trenowane tak, by dopasować się do błędów (błędów resztkowych) pozostawionych przez zbudowany dotąd zespół. Wkład każdego drzewa jest skalowany w dół przez współczynnik uczenia przed dodaniem, dzięki czemu zespół poprawia się stopniowo i nie przeucza się na osobliwościach pojedynczego drzewa.

Jak gradient boosting działa w klasyfikacji binarnej, takiej jak niespłacenie pożyczki?

Model utrzymuje bieżący wynik log-szans F(x) dla każdego pożyczkobiorcy. W każdej rundzie oblicza ujemny gradient straty logarytmicznej względem F, co dla straty logistycznej sprowadza się po prostu do y − p, czyli różnicy między prawdziwą etykietą (0 lub 1) a bieżącym przewidywanym prawdopodobieństwem p = sigmoid(F(x)). Płytkie drzewo regresyjne jest dopasowywane do tych reszt, a wartość wyjściowa każdego liścia jest doprecyzowywana krokiem Newtona-Raphsona, wykorzystując sumę reszt liścia podzieloną przez sumę p(1−p), co przybliża drugą pochodną straty. Predykcje drzewa, przeskalowane współczynnikiem uczenia, są następnie dodawane do F dla każdego pożyczkobiorcy, a cykl się powtarza.

Jak drzewo decyduje, gdzie wykonać podział?

W każdym węźle algorytm przeszukuje każdą kandydującą cechę (dochód, długość historii kredytowej, wskaźnik zadłużenia do dochodu, wykorzystanie limitu kredytowego, ostatnie opóźnienia w spłatach, staż pracy) oraz każdy możliwy próg między sąsiednimi posortowanymi wartościami, obliczając, o ile podział zmniejszyłby całkowity błąd kwadratowy reszt w tym węźle w porównaniu z pozostawieniem go bez podziału. Wybierany jest podział dający największą redukcję błędu (z zastrzeżeniem minimalnej liczby próbek na liść), a proces powtarza się rekurencyjnie w powstałych węzłach potomnych aż do osiągnięcia maksymalnej głębokości drzewa.

Dlaczego strata treningowa wciąż maleje, a strata walidacyjna może się ustabilizować lub wzrosnąć?

Każde nowe drzewo jest dopasowywane specjalnie, by zmniejszyć błąd resztkowy na zbiorze treningowym, więc strata logarytmiczna na treningu maleje niemal monotonicznie w miarę dodawania kolejnych drzew. Zbiór walidacyjny nigdy nie był użyty do dopasowania żadnego drzewa, więc jego strata poprawia się tylko dopóki wzorce uczone przez drzewa naprawdę się generalizują. Gdy zespół zaczyna dopasowywać się do szumu specyficznego dla treningowych pożyczkobiorców, zamiast do rzeczywistej zależności ryzyka niespłacenia, strata walidacyjna przestaje się poprawiać albo zaczyna ponownie rosnąć — ta rozbieżność to klasyczny objaw przeuczenia i właśnie dlatego liczba rund wzmacniania, głębokość drzewa i współczynnik uczenia są dostrajane względem osobnego zbioru walidacyjnego, a nie samego zbioru treningowego.

Co kontroluje współczynnik uczenia i dlaczego nie użyć po prostu dużej wartości?

Współczynnik uczenia skaluje w dół, jaka część dopasowanej korekty każdego nowego drzewa jest faktycznie dodawana do bieżącej predykcji. Mały współczynnik uczenia (np. 0,05) oznacza, że potrzeba wielu drzew, by osiągnąć dobre dopasowanie, ale każde z nich tylko delikatnie przesuwa model, co zwykle lepiej się generalizuje i zmniejsza ryzyko, że pojedyncze zaszumione drzewo zbije zespół z kursu. Duży współczynnik uczenia (bliski 1,0) pozwala modelowi bardzo szybko dopasować się do danych treningowych, często w zaledwie kilku rundach, ale jest znacznie bardziej podatny na przeskoczenie optimum i przeuczenie.

Dlaczego stosuje się płytkie drzewa o głębokości 1-3 zamiast jednego dużego, głębokiego drzewa?

Pojedyncze głębokie drzewo może niemal doskonale zapamiętać zbiór treningowy, dzieląc go na maleńkie, jednorodne regiony, co słabo się generalizuje. Gradient boosting zamiast tego wykorzystuje wiele płytkich drzew o wysokim obciążeniu i niskiej wariancji (często nazywanych „kikutami” przy głębokości 1), a złożoność dostarcza sam proces wzmacniania, po jednej małej korekcie na raz. Zsumowany na przestrzeni dziesiątek lub setek rund wzmacniania zespół może reprezentować bardzo złożone interakcje cech, podczas gdy każde pojedyncze drzewo pozostaje proste i odporne na przeuczenie.

Czym różni się to od lasu losowego?

Las losowy buduje wiele głębokich drzew niezależnie i równolegle na próbkach bootstrapowych danych, a następnie uśrednia ich predykcje — zmniejsza to wariancję (szum), ale każde drzewo jest trenowane bez wiedzy o błędach pozostałych. Gradient boosting buduje drzewa sekwencyjnie, a każde nowe drzewo jest jawnie trenowane, by poprawić konkretne błędy popełniane przez bieżący zespół. Ta sekwencyjna korekta błędów pozwala boostingowi często osiągnąć niższe obciążenie i wyższą dokładność niż las porównywalnego rozmiaru, kosztem większej wrażliwości na współczynnik uczenia i liczbę rund.

Jakie cechy w tej symulacji rzeczywiście przewidują ryzyko niespłacenia pożyczki?

Generator syntetycznych pożyczkobiorców odzwierciedla realistyczne zależności stosowane przez rzeczywiste modele ryzyka kredytowego: wyższy dochód i dłuższy staż pracy zmniejszają ryzyko niespłacenia, natomiast wyższy wskaźnik zadłużenia do dochodu, wyższe wykorzystanie limitu karty kredytowej oraz więcej opóźnień w spłatach w ciągu ostatnich dwóch lat je zwiększają; dłuższa historia kredytowa również nieco zmniejsza ryzyko. Te zależności łączą się w prawdziwe log-szanse niespłacenia plus nieusuwalny losowy szum, a następnie rzut monetą ważony tym prawdopodobieństwem generuje obserwowaną etykietę niespłacenia — więc nawet idealny model nie może osiągnąć zerowej straty, dokładnie jak w rzeczywistych danych pożyczkowych.

Czym jest wynik AUC pokazany w panelu statystyk?

AUC (pole pod krzywą ROC) mierzy, jak dobrze model klasyfikuje pożyczkobiorców, którzy rzeczywiście nie spłacili pożyczki, wyżej niż tych, którzy spłacili, niezależnie od konkretnego progu prawdopodobieństwa. AUC równe 0,5 oznacza, że model klasyfikuje pary nie lepiej niż rzut monetą; AUC równe 1,0 oznacza, że każdy niespłacający jest oceniony wyżej niż każdy spłacający. Jest ono obliczane tu bezpośrednio z definicji opartej na rangach: dla każdej pary niespłacający/spłacający w zbiorze walidacyjnym sprawdza się, czy niespłacający otrzymał wyższe przewidywane prawdopodobieństwo, i uśrednia się wynik po wszystkich parach.

⚙ Pod maską

Każda runda wzmacniania dopasowuje prawdziwe płytkie drzewo regresyjne CART do bieżących pseudo-reszt (y − p) poprzez wyczerpujące przeszukiwanie podziałów minimalizujące błąd kwadratowy, doprecyzowuje jego liście krokiem Newtona-Raphsona i dodaje przeskalowany wynik do bieżącego wyniku log-szans — prawdziwy gradient boosting, obniżający stratę logarytmiczną treningu i walidacji rundę po rundzie.

Canvas 2DGradient BoostingDecision TreesEnsemble LearningCredit Risk

3D · renderer Three.js / WebGL · cel 60 FPS · działa w całości po stronie klienta, bez instalacji

Co znalazłeś/aś?

Dodaj kroki odtworzenia (opcjonalnie)