stub Co to jest wzmacnianie gradientowe? - Unite.AI
Kontakt z nami
Kurs mistrzowski AI:

AI 101

Co to jest wzmacnianie gradientu?

mm
Zaktualizowano on

Powszechnym typem modelu uczenia maszynowego, który okazał się niezwykle przydatny w konkursach związanych z nauką o danych, jest model wzmacniania gradientu. Wzmocnienie gradientu to w zasadzie proces przekształcania słabych modeli uczenia się w mocne modele uczenia się. Jak jednak dokładnie się to osiąga? Przyjrzyjmy się bliżej algorytmom zwiększania gradientu i lepszym zrozumieć, jak działa model wzmacniania gradientu przekształca słabych uczniów w silnych uczniów.

Definicja wzmocnienia gradientowego

Ten artykuł ma na celu dać ci dobrą intuicję na temat wzmacniania gradientu, bez wielu załamań matematyki leżącej u podstaw algorytmów. Kiedy już zrozumiesz, jak działa zwiększanie gradientu na wysokim poziomie, zachęcamy Cię do głębszego zgłębienia i zbadania matematyki, która to umożliwia.

Zacznijmy od zdefiniowania, co to znaczy „wspierać” ucznia. Słabi uczniowie przekształcani są w silnych uczniów poprzez dostosowanie właściwości modelu uczenia się. Jaki dokładnie algorytm uczenia się jest wzmacniany?

Wzmocnienie działania modeli poprzez ulepszenie innego popularnego modelu uczenia maszynowego, drzewo decyzyjne.

A drzewo decyzyjne model działa poprzez dzielenie zbioru danych na coraz mniejsze części, a gdy podzbiorów nie da się już dalej dzielić, efektem jest drzewo z węzłami i liśćmi. Węzły drzewa decyzyjnego to miejsca, w których decyzje dotyczące punktów danych podejmowane są przy użyciu różnych kryteriów filtrowania. Liście w drzewie decyzyjnym to punkty danych, które zostały sklasyfikowane. Algorytmy drzew decyzyjnych mogą obsługiwać zarówno dane liczbowe, jak i kategorialne, a podziały w drzewie opierają się na określonych zmiennych/cechach.

Ilustracja przedstawiająca sposób uczenia modeli wzmacniających.
Zdjęcie: SeattleDataBuy przez Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Jednym z rodzajów algorytmu wzmacniającego jest Algorytm AdaBoost. Algorytmy AdaBoost rozpoczynają od wytrenowania modelu drzewa decyzyjnego i przypisania każdej obserwacji jednakowej wagi. Po dokonaniu oceny dokładności pierwszego drzewa, korygowane są wagi dla różnych obserwacji. Obserwacje, które były łatwe do sklasyfikowania, mają obniżoną wagę, natomiast obserwacje, które były trudne do sklasyfikowania, mają zwiększone wagi. Przy użyciu tych skorygowanych wag tworzone jest drugie drzewo w celu zapewnienia, że ​​przewidywania drugiego drzewa będą dokładniejsze niż przewidywania pierwszego drzewa.

Model składa się teraz z przewidywań dla pierwotnego drzewa i nowego drzewa (lub Drzewa 1 + Drzewa 2). Dokładność klasyfikacji została ponownie oceniona w oparciu o nowy model. Na podstawie obliczonego błędu modelu tworzone jest trzecie drzewo i ponownie korygowane są wagi. Proces ten trwa przez określoną liczbę iteracji, a ostateczny model jest modelem zespołowym, w którym wykorzystuje się sumę ważoną przewidywań dokonanych przez wszystkie wcześniej zbudowane drzewa.

W procesie opisanym powyżej wykorzystuje się drzewa decyzyjne i podstawowe predyktory/modele, jednakże podejście wzmacniające można zastosować przy użyciu szerokiej gamy modeli, takich jak wiele standardowych modeli klasyfikatorów i regresorów. Kluczowe pojęcia, które należy zrozumieć, to fakt, że kolejne predyktory uczą się na błędach popełnionych przez poprzednie oraz że predyktory są tworzone sekwencyjnie.

Podstawową zaletą algorytmów wzmacniających jest to, że znalezienie bieżących przewidywań zajmuje mniej czasu w porównaniu z innymi modelami uczenia maszynowego. Należy jednak zachować ostrożność przy stosowaniu algorytmów wzmacniających, ponieważ są one podatne na nadmierne dopasowanie.

Wzmocnienie gradientu

Przyjrzymy się teraz jednemu z najpopularniejszych algorytmów wzmacniających. Modele wzmacniania gradientu (GBM) są znane ze swojej wysokiej dokładności i rozszerzają ogólne zasady stosowane w AdaBoost.

Podstawowa różnica między modelem wzmacniania gradientu a AdaBoost polega na tym, że GBM używają innej metody obliczania, którzy uczniowie błędnie identyfikują punkty danych. AdaBoost oblicza, gdzie model osiąga słabą wydajność, badając punkty danych o dużej wadze. Tymczasem GBM wykorzystują gradienty do określenia dokładności uczniów, stosując funkcję straty do modelu. Funkcje straty umożliwiają zmierzenie dokładności dopasowania modelu do zbioru danych, obliczenie błędu i optymalizację modelu w celu zmniejszenia tego błędu. GBM pozwalają użytkownikowi zoptymalizować określoną funkcję straty w oparciu o pożądany cel.

Biorąc najczęstszą funkcję straty – Błąd średniokwadratowy (MSE) - jako przykład, opadanie gradientu służy do aktualizacji prognoz w oparciu o z góry określoną szybkość uczenia się, mającą na celu znalezienie wartości, przy których strata jest minimalna.

Aby było jaśniej:

Nowe przewidywania modelu = zmienne wyjściowe – stare niedoskonałe przewidywania.

W bardziej statystycznym sensie celem GBM jest znalezienie odpowiednich wzorców w resztach modelu, dostosowując model tak, aby pasował do wzorca i doprowadzał reszty jak najbliżej zera. Jeśli miałbyś przeprowadzić regresję na podstawie przewidywań modelu, reszty zostałyby rozłożone wokół 0 (idealne dopasowanie), a GBM znajdują wzorce w obrębie reszt i aktualizują model wokół tych wzorców.

Innymi słowy, przewidywania są aktualizowane tak, aby suma wszystkich reszt była jak najbliżej 0, co oznacza, że ​​przewidywane wartości będą bardzo zbliżone do wartości rzeczywistych.

Należy zauważyć, że GBM może wykorzystywać szeroką gamę innych funkcji straty (takich jak strata logarytmiczna). Dla uproszczenia wybrano powyżej MSE.

Wariacje na temat modeli wzmacniania gradientu

Modele wzmacniania gradientu to zachłanne algorytmy podatne na nadmierne dopasowanie zbioru danych. Można się przed tym zabezpieczyć kilka różnych metod które mogą poprawić wydajność GBM.

GBM można regulować czterema różnymi metodami: kurczeniem, ograniczeniami drzewa, wzmacnianiem gradientu stochastycznego i uczeniem karnym.

Kurczenie się

Jak wspomniano wcześniej, w GBM prognozy są sumowane w sposób sekwencyjny. W „Shrinkage” dostosowywane są dodatki każdego drzewa do ogólnej sumy. Stosowane są wagi, które spowalniają szybkość uczenia się algorytmu, co powoduje konieczność dodania większej liczby drzew do modelu, co zazwyczaj poprawia solidność i wydajność modelu. Wadą jest to, że uczenie modelu zajmuje więcej czasu.

Ograniczenia drzewa

Ograniczanie drzewa za pomocą różnych ulepszeń, takich jak zwiększenie głębokości drzewa lub zwiększenie liczby węzłów lub liści w drzewie, może utrudnić nadmierne dopasowanie modelu. Podobny efekt ma nałożenie ograniczenia na minimalną liczbę obserwacji na podział. Po raz kolejny kompromis jest taki, że uczenie modelu zajmie więcej czasu.

Próbkowanie losowe

Indywidualnych uczniów można utworzyć w procesie stochastycznym, w oparciu o losowo wybrane próbki podrzędne zbioru danych szkoleniowych. Powoduje to zmniejszenie korelacji między drzewami, co chroni przed nadmiernym dopasowaniem. Zbiór danych można podstemplować przed utworzeniem drzew lub przed rozważeniem podziału drzewa.

Karana nauka

Oprócz ograniczenia modelu poprzez ograniczenie struktury drzewa, możliwe jest użycie drzewa regresji. Drzewa regresyjne mają wartości liczbowe dołączone do każdego liścia, które pełnią funkcję wag i można je regulować za pomocą typowych funkcji regularyzacyjnych, takich jak regularyzacja L1 i L2.

Bloger i programista specjalizujący się w Nauczanie maszynowe i głęboki Learning tematy. Daniel ma nadzieję pomóc innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.