Algorytm wspomagający - Rodzaje algorytmu przyspieszającego z ich działaniem

Spisie treści:

Anonim

Co to jest algorytm przyspieszający?

Wzmocnienie jest metodą stosowaną w algorytmach przekształcających słabego ucznia w silnego ucznia. Jest to technika, która dodaje nowe modele, aby poprawić błędy istniejących modeli.

Przykład:

Rozumiemy tę koncepcję za pomocą następującego przykładu. Weźmy przykład e-maila. Jak rozpoznasz swój e-mail, czy to spam, czy nie? Możesz to rozpoznać po następujących warunkach:

  • Jeśli wiadomość e-mail zawiera wiele takich źródeł, oznacza to, że jest spamem.
  • Jeśli wiadomość e-mail zawiera tylko jeden obraz pliku, oznacza to spam.
  • Jeśli wiadomość e-mail zawiera komunikat „Jesteś właścicielem loterii w wysokości $ xxxxx”, oznacza to, że jest to spam.
  • Jeśli wiadomość e-mail zawiera znane źródło, nie jest to spam.
  • Jeśli zawiera oficjalną domenę, taką jak educba.com itp., Oznacza to, że nie jest spamem.

Wyżej wymienione reguły nie są tak potężne, aby rozpoznać spam, czy nie, dlatego te reguły nazywane są słabymi uczniami.

Aby przekształcić słabego ucznia w silnego ucznia, połącz przewidywanie słabego ucznia, stosując następujące metody.

  1. Korzystanie ze średniej lub średniej ważonej.
  2. Zastanów się, czy prognoza ma wyższy głos.

Rozważ wyżej wspomniane 5 zasad, są 3 głosy za spam i 2 głosy za nie spam. Ponieważ jest spam o wysokim głosowaniu, uważamy go za spam.

Jak działają algorytmy przyspieszające?

Algorytmy wspomagające łączą każdego słabego ucznia, tworząc jedną silną regułę przewidywania. Aby zidentyfikować słabą zasadę, istnieje podstawowy algorytm uczenia się (uczenie maszynowe). Za każdym razem, gdy stosowany jest algorytm podstawowy, tworzy nowe reguły predykcji przy użyciu procesu iteracji. Po pewnej iteracji łączy wszystkie słabe reguły, aby utworzyć jedną regułę predykcji.

Aby wybrać właściwą dystrybucję, wykonaj następujące kroki:

Krok 1: Algorytm uczenia podstawowego łączy każdą dystrybucję i stosuje taką samą wagę do każdej dystrybucji.

Krok 2: Jeśli podczas pierwszego bazowego algorytmu uczenia wystąpi jakakolwiek prognoza, wówczas zwracamy dużą uwagę na ten błąd prognozowania.

Krok 3: Powtarzaj krok 2, dopóki nie zostanie osiągnięty limit algorytmu uczenia podstawowego lub wysoka dokładność.

Krok 4: W końcu łączy wszystkich słabych uczniów, tworząc jedną silną regułę przewidywania.

Rodzaje algorytmu wzmocnienia

Algorytmy podwyższające wykorzystują różne silniki, takie jak stempel decyzyjny, algorytm klasyfikacji maksymalizujący margines itp. Istnieją trzy rodzaje algorytmów podwyższających, które są następujące:

  1. Algorytm AdaBoost (Adaptive Boosting)
  2. Algorytm zwiększania gradientu
  3. Algorytm XG Boost

Algorytm AdaBoost (Adaptive Boosting)

Aby zrozumieć AdaBoost, zapoznaj się z poniższym obrazem:

Pole 1: W polu 1 dla każdego zestawu danych przypisaliśmy równe wagi i w celu sklasyfikowania znaku plus (+) i minus (-) stosujemy kikut decyzyjny D1, który tworzy pionową linię po lewej stronie pola 1. Ta linia jest niepoprawna przewidywał trzy znak plus (+) jako minus (-), dlatego stosujemy wyższe wagi do tych znaków plus i stosujemy kolejny kikut decyzyjny.

Ramka 2: W ramce 2 rozmiar trzech nieprawidłowo przewidywanych znaków plus (+) staje się większy w porównaniu do innego. Drugi kikut decyzyjny D2 po prawej stronie bloku przewiduje, że ten niepoprawnie przewidziany znak plus (+) będzie prawidłowy. Ale ponieważ wystąpił błąd błędnej klasyfikacji z powodu nierównej wagi ze znakiem minus (-), przypisujemy wyższą wagę do znaku minus (-) i stosujemy kolejny kikut decyzyjny.

Pole 3: W polu trzecim z powodu błędu w błędnej klasyfikacji trzy znak minus (-) ma dużą wagę. tutaj zastosowano kikut decyzyjny D3, aby przewidzieć tę błędną klasyfikację i ją poprawić. Tym razem zostanie sklasyfikowana linia pozioma znaku plus (+) i minus (-).

Ramka 4: W ramce 4 kikut decyzji D1, D2 i D3 są łączone, aby stworzyć nową silną prognozę.

Adaptacyjne działania wspomagające są podobne, jak wspomniano powyżej. Łączy grupę osób słabo uczących się na podstawie wieku wagi, aby stworzyć silnego ucznia. W pierwszej iteracji przypisuje jednakową wagę każdemu zestawowi danych i rozpoczyna przewidywanie tego zestawu danych. Jeśli wystąpi nieprawidłowa prognoza, ta obserwacja ma dużą wagę. Wzmocnienie adaptacyjne powtórz tę procedurę w następnej fazie iteracji i kontynuuj do momentu osiągnięcia dokładności. Następnie łączy to, aby stworzyć silną prognozę.

Algorytm zwiększania gradientu

Algorytm zwiększania gradientu to technika uczenia maszynowego służąca do definiowania funkcji utraty i jej zmniejszania. Służy do rozwiązywania problemów klasyfikacji za pomocą modeli predykcyjnych. Obejmuje następujące kroki:

1. Funkcja utraty

Zastosowanie funkcji utraty zależy od rodzaju problemu. Zaletą zwiększania gradientu jest to, że nie jest potrzebny nowy algorytm zwiększania dla każdej funkcji straty.

2. Słaby uczeń

Podczas zwiększania gradientu drzewa decyzyjne są wykorzystywane jako słaby uczeń. Drzewo regresji służy do podania prawdziwych wartości, które można łączyć ze sobą w celu uzyskania poprawnych prognoz. Podobnie jak w algorytmie AdaBoost, wykorzystywane są małe drzewa z pojedynczym podziałem, tj. Pień decyzyjny. Większe drzewa są używane dla dużych poziomów i, e 4-8 poziomów.

3. Model addytywny

W tym modelu drzewa są dodawane pojedynczo. istniejące drzewa pozostają takie same. Podczas dodawania drzew stosuje się opadanie gradientu w celu zminimalizowania funkcji utraty.

XG Boost

XG Boost to skrót od Extreme Gradient Boosting. XG Boost to ulepszona implementacja algorytmu Gradient Boosting, który został opracowany z myślą o dużej szybkości obliczeniowej, skalowalności i lepszej wydajności.

XG Boost ma różne funkcje, które są następujące:

  1. Przetwarzanie równoległe: XG Boost zapewnia przetwarzanie równoległe dla konstrukcji drzewa, która korzysta z rdzeni procesora podczas treningu.
  2. Walidacja krzyżowa: XG Boost umożliwia użytkownikom przeprowadzanie walidacji krzyżowej procesu doładowania przy każdej iteracji, ułatwiając uzyskanie dokładnej optymalnej liczby iteracji doładowania w jednym cyklu.
  3. Optymalizacja pamięci podręcznej: Zapewnia optymalizację pamięci podręcznej algorytmów w celu zwiększenia prędkości wykonywania.
  4. Przetwarzanie rozproszone : Do szkolenia dużych modeli XG Boost umożliwia przetwarzanie rozproszone.

Polecane artykuły

W tym artykule widzieliśmy, czym jest algorytm wspomagający, różne typy algorytmu wspomagającego w uczeniu maszynowym i ich działaniu. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest uczenie maszynowe? | Definicja
  2. Języki programowania do nauki algorytmów
  3. Co to jest technologia Blockchain?
  4. Co to jest algorytm?