Używanie algorytmów uczenia maszynowego w zestawie w Weka

Algorytmy zespołowe to potężna klasa algorytmu uczenia maszynowego, która łączy przewidywania z wielu modeli. Zaletą korzystania z Weka do uczenia maszynowego jest dostępność wielu różnych algorytmów uczenia maszynowego w zespole.

Omówienie algorytmów zestawu

Mamy zamiar omówić 5 najlepszych zespół algorytmów uczenia maszynowego w Weka. Każdy algorytm, który zostanie omówiony, zostanie pokrótce opisany pod względem jego działania, a kluczowe parametry algorytmu zostaną podświetlone, a sam algorytm zostanie zaprezentowany w interfejsie Weka Explorer.

5 algorytmów, które przyjrzymy się:

  1. Pakowanie
  2. Losowy las
  3. AdaBoost
  4. Głosowanie
  5. Stacking

Do zademonstrowania każdego algorytmu zostanie użyty standardowy problem klasyfikacji uczenia maszynowego. W szczególności problem klasyfikacji binarnej jonosfery. Jest to dobry zbiór danych do zademonstrowania algorytmów klasyfikacji, ponieważ zmienne wejściowe są numeryczne i wszystkie mają tę samą skalę, problem ma tylko dwie klasy do rozróżnienia.

Każde wystąpienie opisuje właściwości powrotów radaru z atmosfery i zadaniem jest przewidzieć, czy w jonosferze istnieje struktura, czy nie. Istnieją 34 liczbowe zmienne wejściowe o ogólnie tej samej skali. Więcej informacji na temat tego zbioru danych można znaleźć w repozytorium UCI Machine Learning . Najlepsze wyniki są rzędu 98% dokładności.

Uruchom Eksploratora Weka:

  1. Otwórz Weka GUI Chooser.
  2. Kliknij „Explorer ”, Aby otworzyć Weka Explorer.
  3. Załaduj zestaw danych Ionosphere z pliku data / ionosphere.arff
  4. Kliknij„ Klasyfikuj ”, aby otworzyć kartę Klasyfikuj .

1. Pakowanie

Bootstrap Aggregation lub w skrócie Bagging to złożony algorytm, który może być używany do klasyfikacji lub regresji. Bootstrap to technika estymacji statystycznej, w której wielkość statystyczna, taka jak średnia, jest szacowana na podstawie wielu losowych próbek danych (z wymianą). Jest to przydatna technika, gdy masz ograniczoną ilość danych i chcesz dokładniej oszacować ilość statystyczną.

Tej przykładowej zasady można używać w modelach uczenia maszynowego. Wiele losowych próbek danych szkoleniowych jest rysowanych z wymianą i używanych do trenowania wielu różnych modeli uczenia maszynowego. Każdy model jest następnie używany do prognozowania, a wyniki są uśredniane w celu uzyskania bardziej solidnej prognozy.

Najlepiej stosować go z modelami o niskim obciążeniu i dużej wariancji, co oznacza, że ​​tworzone przez nich prognozy są w dużym stopniu zależne od konkretnych danych, na podstawie których zostali przeszkoleni. Najczęściej używanym algorytmem pakowania, który spełnia ten wymóg dużej wariancji, są drzewa decyzyjne.

Wybierz algorytm pakowania:

  1. Kliknij przycisk „Wybierz” i wybierz „Pakowanie” w grupie „meta”.
  2. Kliknij nazwę algorytmu, aby przejrzeć konfigurację algorytmu.
Konfiguracja Weka dla algorytmu pakowania

Kluczowym parametrem konfiguracyjnym podczas pakowania jest typ modelu pakowanego . Wartością domyślną jest REPTree, które jest implementacją Weka standardowego drzewa decyzyjnego, zwanego również drzewem klasyfikacji i regresji lub w skrócie CART. Jest to określone w parametrze klasyfikatora.

Rozmiar każdej losowej próbki jest określony w „bagSizePercent”, który jest wielkością wyrażoną jako procent surowego zbioru danych uczących. Wartością domyślną jest 100%, co spowoduje utworzenie nowej losowej próbki o tym samym rozmiarze co zbiór danych uczących, ale będzie miała inny skład.

Dzieje się tak, ponieważ próbka losowa jest losowana z wymianą, co oznacza, że ​​za każdym razem instancja jest losowo pobierana ze zbioru danych uczących i dodawana do próbki, a także dodawana z powrotem do zbioru danych uczących, co oznacza, że ​​może być wybrana ponownie i dodana dwukrotnie lub więcej razy do próbki.

Na koniec, liczbę worków (i liczbę klasyfikatorów) można określić w parametrze „numIterations”. Wartość domyślna to 10, chociaż często używa się wartości w setkach lub tysiącach. Kontynuuj zwiększanie wartości „numIterations”, aż nie zobaczysz już poprawy w modelu lub nie zabraknie pamięci.

  1. Kliknij „OK”, aby zamknąć konfigurację algorytmu.
  2. Kliknij przycisk „Start”, aby uruchomić algorytm na zestawie danych jonosfery.

Możesz zobaczyć, że przy domyślnej konfiguracji pakowanie osiąga dokładność 91%:

Wyniki klasyfikacji Weka dla algorytmu pakowania

2.Random Forest

Random Forest to rozszerzenie zbioru drzew decyzyjnych, które można wykorzystać do klasyfikacji lub regresji. Wadą zapakowanych drzew decyzyjnych jest to, że drzewa decyzyjne są konstruowane przy użyciu zachłannego algorytmu, który wybiera najlepszy punkt podziału na każdym etapie procesu budowania drzewa. W związku z tym otrzymane drzewa wyglądają bardzo podobnie, co zmniejsza wariancję przewidywań ze wszystkich worków, co z kolei obniża wiarygodność wykonanych prognoz.

Random Forest to ulepszenie w stosunku do worków drzew decyzyjnych, które zakłóca zachłanny algorytm podziału podczas tworzenia drzewa, tak że punkty podziału można wybrać tylko z losowego podzbioru atrybutów wejściowych. Ta prosta zmiana może mieć duży wpływ na zmniejszenie podobieństwa między drzewami w workach, a tym samym na wynikowe prognozy.

Wybierz algorytm losowego lasu:

  1. Kliknij „Wybierz” i wybierz „RandomForest” w grupie „drzewa”.
  2. Kliknij nazwę algorytmu, aby przejrzeć konfigurację algorytmu.
Konfiguracja Weka dla algorytmu losowego lasu

Oprócz wymienionych parametrów powyżej w przypadku pakowania, kluczowym parametrem dla losowego lasu jest liczba atrybutów do rozważenia w każdym punkcie podziału. W Weka można to kontrolować za pomocą atrybutu „numFeatures”, który domyślnie jest ustawiony na 0, który wybiera wartość automatycznie na podstawie praktycznej reguły.

  1. Kliknij „OK”, aby zamknąć konfiguracja algorytmu.
  2. Kliknij przycisk „Start”, aby uruchomić algorytm na zestawie danych jonosfery.

Możesz zobaczyć, że przy domyślnej konfiguracji losowe lasy osiągają dokładność z 92%:

Wyniki klasyfikacji Weka dla algorytmu losowego lasu

3. AdaBoost

AdaBoost to złożony algorytm uczenia maszynowego do rozwiązywania problemów klasyfikacyjnych. Jest częścią grupy metod zespołowych zwanych wspomaganiem, które dodają nowe modele uczenia maszynowego w serii, w której kolejne modele próbują naprawić błędy przewidywania popełnione przez poprzednie modele. AdaBoost był pierwszym udanym wdrożeniem tego typu modelu.

Adaboost został zaprojektowany do korzystania z krótkich modeli drzew decyzyjnych, każdy z jednym punktem decyzyjnym. Takie krótkie drzewa są często nazywane pniakami decyzyjnymi.

Pierwszy model jest konstruowany zgodnie z normą. Każde wystąpienie w zestawie danych szkoleniowych jest ważone, a wagi są aktualizowane na podstawie ogólnej dokładności modelu oraz tego, czy wystąpienie zostało poprawnie sklasyfikowane, czy nie. Kolejne modele są trenowane i dodawane do momentu osiągnięcia minimalnej dokładności lub braku możliwości dalszych ulepszeń. Każdy model jest ważony na podstawie jego umiejętności, a wagi te są używane podczas łączenia prognoz ze wszystkich modeli na nowych danych.

Wybierz algorytm AdaBoost:

  1. Kliknij przycisk Przycisk „Wybierz” i wybierz „AdaBoostM1” w grupie „meta”.
  2. Kliknij nazwę algorytmu, aby przejrzeć konfigurację algorytmu.
Konfiguracja Weka dla algorytmu AdaBoost

Słaby uczeń w model AdaBoost można określić za pomocą parametru klasyfikatora. Wartością domyślną jest algorytm decyzyjny, ale można użyć innych algorytmów. kluczowym parametrem oprócz słabego ucznia jest liczba modeli do stworzenia i dodania w serii. Można to określić w parametrze „numIterations” i domyślnie jest to 10.

  1. Kliknij „OK”, aby zamknąć konfigurację algorytmu.
  2. Kliknij przycisk „Start”, aby uruchomić algorytm w zestawie danych Ionosphere.

Możesz zobaczyć, że przy domyślnej konfiguracji AdaBoost osiąga dokładność 90%:

Wyniki klasyfikacji Weka dla algorytmu AdaBoost

4. Głosowanie

Głosowanie jest prawdopodobnie najprostszym algorytmem zbiorczym i często jest bardzo skuteczne. Może być używany do klasyfikacji lub problemów regresji. Głosowanie polega na utworzeniu co najmniej dwóch modeli podrzędnych. Każdy podmodel tworzy prognozy, które są w jakiś sposób łączone, na przykład przyjmując średnią lub tryb prognoz, umożliwiając każdemu podmodelowi głosowanie nad tym, jaki powinien być wynik.

Wybierz głosowanie algorytm:

  1. Kliknij przycisk „Wybierz” i wybierz „Głosuj” w grupie „meta”.
  2. Kliknij nazwę algorytmu, aby przejrzeć konfigurację algorytmu.
Konfiguracja Weka dla algorytmu zespołu do głosowania

Kluczowym parametrem zestawu głosów jest wybór podmodeli. Modele można określić w Weka w parametrze „klasyfikatory”.Kliknięcie tego parametru umożliwia dodanie kilku klasyfikatorów:

Wybór algorytmu Weka dla algorytmu zestawu do głosowania

Kliknięcie przycisku „Edytuj” przy wybranym klasyfikatorze umożliwia skonfigurowanie szczegółów tego klasyfikatora. Celem wyboru podmodeli jest wybranie modeli, które dają zupełnie inne prognozy (prognozy nieskorelowane). W związku z tym dobrą zasadą jest wybieranie bardzo różnych typów modeli, takich jak drzewa, metody oparte na instancjach, funkcje itp.

Kolejnym kluczowym parametrem, który należy skonfigurować do głosowania, jest sposób przewidywania modele podrzędne są łączone. Jest to kontrolowane przez parametr „CombinedRule”, który domyślnie przyjmuje średnią z prawdopodobieństw.

  1. Kliknij „OK”, aby zamknąć konfigurację algorytmu.
  2. Kliknij przycisk „Start”, aby uruchomić algorytm na zbiorze danych Ionosphere.

Możesz zobaczyć, że przy domyślnej konfiguracji Vote osiąga dokładność 64%. Oczywiście technika ta przyniosła słabe wyniki, ponieważ wybrano tylko podmodel ZeroR.

5. Stacking

Stacked Generalization lub Stacking w skrócie to proste rozszerzenie zestawów głosowania, które może być używane do problemów z klasyfikacją i regresją.

Oprócz wybierania wielu podmodeli, zestawianie umożliwia określić inny model, aby dowiedzieć się, jak najlepiej połączyć prognozy z podmodeli. Ponieważ metamodel jest używany do najlepszego łączenia prognoz z podmodeli, technika ta jest czasami nazywana mieszaniem, tak jak przy łączeniu predykcji razem.

Wybierz algorytm łączenia:

  1. Kliknij przycisk „Wybierz” i wybierz „Stacking” w grupie „meta”.
  2. Kliknij nazwę algorytmu, aby przejrzeć konfigurację algorytmu.
Konfiguracja Weka dla algorytmu łączenia w stosy

Podobnie jak w przypadku klasyfikatora Vote, możesz określić modele podrzędne w parametrze klasyfikatorów. Model, który zostanie przeszkolony, aby dowiedzieć się, jak najlepiej łączyć prognozy z podmodelu, można określić w parametrze „metaClassifier”, który domyślnie ma wartość ZeroR. Powszechne jest stosowanie algorytmu liniowego, takiego jak regresja liniowa lub regresja logistyczna, odpowiednio do problemów z regresją i typem klasyfikacji. Ma to na celu uzyskanie wyniku będącego prostą liniową kombinacją przewidywań modeli podrzędnych.

  1. Kliknij „OK”, aby zamknąć konfigurację algorytmu.
  2. Kliknij przycisk Przycisk „Start”, aby uruchomić algorytm na zestawie danych jonosfery.

Możesz zobaczyć, że przy domyślnej konfiguracji układanie w stos osiąga dokładność 64%:

Wyniki klasyfikacji Weka dla algorytmu zestawiania w stos

Jeszcze raz , tak samo jak głosowanie, Stacking osiągnął słabe wyniki, ponieważ wybrano tylko podmodel ZeroR.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *