Rodzina algorytmów łączących słabo predykcyjne modele w silnie predykcyjny model. Najpopularniejsze podejście nazywa się zwiększaniem gradientu, a najczęściej stosowanymi słabymi modelami są drzewa klasyfikacji / regresji.
Eksperymentuję z algorytmem maszyny do zwiększania gradientu za pośrednictwem caretpakietu w R. Korzystając z małego zestawu danych o przyjęciach na studia, uruchomiłem następujący kod: library(caret) ### Load admissions dataset. ### mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv") ### Create yes/no levels for admission. ### mydata$admit_factor[mydata$admit==0] <- "no" mydata$admit_factor[mydata$admit==1] <- "yes" ### Gradient boosting machine …
Jeśli chodzi o algorytmy wzmacniające, powiedziałbym, że ewoluowały całkiem dobrze. Na początku 1995 r. Wprowadzono AdaBoost, a po pewnym czasie była to Gradient Boosting Machine (GBM). Niedawno około 2015 r. Wprowadzono XGBoost, który jest dokładny, radzi sobie z nadmiernym dopasowaniem i stał się zwycięzcą wielu konkursów Kaggle. W 2017 roku …
Jak słyszałem o klasyfikatorze AdaBoost, o którym wielokrotnie wspominałem w pracy, chciałem lepiej zrozumieć, jak działa i kiedy można go użyć. Przeczytałem wiele artykułów i samouczków na ten temat, które znalazłem w Google, ale są pewne aspekty klasyfikatora, które wciąż nie mogę zrozumieć: Większość samouczków, które widziałem, mówi o AdaBoost …
Właściwie myślałem, że zrozumiałem, co można pokazać z częściową fabułą zależności, ale używając bardzo prostego hipotetycznego przykładu, byłem dość zdziwiony. W poniższym fragmencie kodu wygenerować trzy zmienne niezależne ( , b , c ) i jedną zmienną zależną ( y ) z c pokazującym zbliżenie liniową zależność y , a …
Próbuję zwiększyć gradient w zbiorze danych z częstością zdarzeń około 1% przy użyciu Enterprise Minera, ale nie daje żadnego wyniku. Moje pytanie brzmi: skoro jest to podejście oparte na drzewku decyzyjnym, czy w ogóle warto stosować zwiększanie gradientu przy tak niskim zdarzeniu?
Czytając doskonałe modelowanie statystyczne: Dwie kultury (Breiman 2001) , możemy uchwycić całą różnicę między tradycyjnymi modelami statystycznymi (np. Regresja liniowa) a algorytmami uczenia maszynowego (np. Bagging, Random Forest, Boosted trees ...). Breiman krytykuje modele danych (parametryczne), ponieważ opierają się one na założeniu, że obserwacje są generowane przez znany, formalny model …
Wydaje mi się, że uczenie się w zespole zawsze da lepsze wyniki predykcyjne niż w przypadku jednej hipotezy uczenia się. Dlaczego więc nie używamy ich przez cały czas? Sądzę, że powodem są być może ograniczenia obliczeniowe? (nawet wtedy używamy słabych predyktorów, więc nie wiem).
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym weryfikacji krzyżowej. Zamknięte 6 miesięcy temu . Czy istnieje dobra biblioteka python do drzewek decyzyjnych przyspieszonych przez trening?
Podczas kodowania cech kategorycznych dla regresji liniowej obowiązuje zasada: liczba manekinów powinna być o jeden mniejsza niż całkowita liczba poziomów (aby uniknąć kolinearności). Czy istnieje podobna zasada dla drzew decyzyjnych (spakowane, wzmocnione)? Pytam o to, ponieważ standardową praktyką w Pythonie wydaje się być rozszerzanie npoziomów na nmanekiny (sklearny OneHotEncoderlub Pandy …
Gdy odkrywam uczenie maszynowe, widzę różne interesujące techniki, takie jak: automatycznie dostraja algorytmy za pomocą technik takich jak grid search, uzyskać bardziej dokładne wyniki dzięki połączeniu różnych algorytmów tego samego „typ”, to jest boosting, uzyskać bardziej dokładne wyniki dzięki połączeniu różnych algorytmów (ale nie ten sam rodzaj algorytmów), to stacking, …
Znalazłem wiele artykułów, w których stwierdzono, że metody ulepszania są wrażliwe na wartości odstające, ale żaden artykuł nie wyjaśnia, dlaczego. Z mojego doświadczenia wynika, że wartości odstające są złe dla dowolnego algorytmu uczenia maszynowego, ale dlaczego metody wspomagające są wyróżniane jako szczególnie wrażliwe? Jak uszeregować następujące algorytmy pod względem wrażliwości …
Zadałbym pytanie związane z tym . Znalazłem przykład pisania niestandardowej funkcji utraty dla xgboost tutaj : loglossobj <- function(preds, dtrain) { # dtrain is the internal format of the training data # We extract the labels from the training data labels <- getinfo(dtrain, "label") # We compute the 1st and …
Chcę wdrożyć Adaboost przy użyciu decyzji Stump. Czy poprawne jest podejmowanie tylu decyzji, ile funkcji naszego zestawu danych w każdej iteracji Adaboost? Na przykład, jeśli mam zestaw danych z 24 funkcjami, czy powinienem mieć 24 klasyfikatory kikutów decyzyjnych w każdej iteracji? A może powinienem losowo wybierać niektóre funkcje i tworzyć …
Wiem, że Adaboost próbuje wygenerować silny klasyfikator za pomocą liniowej kombinacji zestawu słabych klasyfikatorów. Jednak przeczytałem kilka artykułów sugerujących, że Adaboost i SVM działają harmonijnie (nawet jeśli SVM jest silnym klasyfikatorem) w pewnych warunkach i przypadkach . Nie jestem w stanie zrozumieć z perspektywy architektury i programowania, jak działają one …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.