Uczenie maszynowe w Pythonie - metody

Istnieją różne algorytmy, techniki i metody ML, które można wykorzystać do tworzenia modeli rozwiązywania rzeczywistych problemów przy użyciu danych. W tym rozdziale omówimy różne rodzaje metod.

Różne rodzaje metod

Poniżej przedstawiono różne metody ML oparte na niektórych szerokich kategoriach -

Oparty na nadzorze człowieka

W procesie uczenia się niektóre metody oparte na nadzorze człowieka są następujące:

Supervised Learning

Algorytmy lub metody uczenia nadzorowanego są najczęściej używanymi algorytmami ML. Ta metoda lub algorytm uczenia się pobiera próbkę danych, tj. Dane uczące i powiązane z nimi dane wyjściowe, tj. Etykiety lub odpowiedzi z każdą próbką danych podczas procesu uczenia.

Głównym celem algorytmów uczenia nadzorowanego jest nauczenie się powiązania między próbkami danych wejściowych a odpowiadającymi im wynikami po wykonaniu wielu instancji danych szkoleniowych.

Na przykład mamy

x: Zmienne wejściowe i

Y: Zmienna wyjściowa

Teraz zastosuj algorytm, aby nauczyć się funkcji mapowania z wejścia do wyjścia w następujący sposób -

Y = f (x)

Teraz głównym celem byłoby tak dokładne przybliżenie funkcji mapowania, że ​​nawet mając nowe dane wejściowe (x), możemy łatwo przewidzieć zmienną wyjściową (Y) dla tych nowych danych wejściowych.

Nazywa się to nadzorowanym, ponieważ cały proces uczenia się można myśleć tak, jak jest nadzorowany przez nauczyciela lub superwizora. Przykłady nadzorowanych algorytmów uczenia maszynowego obejmująDecision tree, Random Forest, KNN, Logistic Regression itp.

Na podstawie zadań ML, nadzorowane algorytmy uczenia się można podzielić na następujące dwie szerokie klasy -

  • Classification
  • Regression

Classification

Głównym celem zadań opartych na klasyfikacji jest przewidywanie kategorialnych etykiet wyjściowych lub odpowiedzi dla danych wejściowych. Wynik będzie oparty na tym, czego model nauczył się w fazie szkolenia. Ponieważ wiemy, że kategorialne odpowiedzi wyjściowe oznaczają nieuporządkowane i dyskretne wartości, stąd każda odpowiedź wyjściowa będzie należeć do określonej klasy lub kategorii. W kolejnych rozdziałach szczegółowo omówimy klasyfikację i powiązane z nią algorytmy.

Regression

Głównym celem zadań opartych na regresji jest przewidywanie etykiet wyjściowych lub odpowiedzi, które są ciągłymi wartościami liczbowymi dla danych wejściowych. Wyniki będą oparte na tym, czego model nauczył się w fazie szkolenia. Zasadniczo modele regresji wykorzystują cechy danych wejściowych (zmienne niezależne) i odpowiadające im ciągłe liczbowe wartości wyjściowe (zmienne zależne lub wynikowe), aby poznać określone powiązania między danymi wejściowymi a odpowiadającymi im wynikami. W dalszych rozdziałach omówimy szczegółowo regresję i powiązane z nią algorytmy.

Uczenie się bez nadzoru

Jak sama nazwa wskazuje, jest odwrotnie do nadzorowanych metod lub algorytmów ML, co oznacza, że ​​w algorytmach uczenia maszynowego bez nadzoru nie mamy żadnego nadzorcy, który mógłby udzielać jakichkolwiek wskazówek. Algorytmy uczenia bez nadzoru są przydatne w scenariuszu, w którym nie mamy swobody, jak w przypadku algorytmów uczenia nadzorowanego, posiadania wstępnie oznaczonych danych szkoleniowych i chcemy wydobyć użyteczny wzorzec z danych wejściowych.

Na przykład można to rozumieć w następujący sposób -

Załóżmy, że mamy -

x: Input variables, wtedy nie byłoby odpowiedniej zmiennej wyjściowej, a algorytmy musiałyby odkryć interesujący wzorzec w danych do uczenia się.

Przykłady nienadzorowanych algorytmów uczenia maszynowego obejmują grupowanie K-średnich, K-nearest neighbors itp.

Na podstawie zadań ML, nienadzorowane algorytmy uczenia się można podzielić na następujące szerokie klasy -

  • Clustering
  • Association
  • Redukcja wymiarowości

Clustering

Metody klastrowania są jednymi z najbardziej użytecznych nienadzorowanych metod ML. Algorytmy te służyły do ​​znajdowania podobieństw i wzorców relacji między próbkami danych, a następnie grupowania tych próbek w grupy o podobieństwie na podstawie cech. Rzeczywistym przykładem tworzenia klastrów jest grupowanie klientów według ich zachowań zakupowych.

Association

Inną użyteczną metodą ML bez nadzoru jest Associationktóry jest używany do analizy dużego zbioru danych w celu znalezienia wzorców, które dodatkowo reprezentują interesujące relacje między różnymi elementami. Jest również określany jakoAssociation Rule Mining lub Market basket analysis który służy głównie do analizy zachowań zakupowych klientów.

Dimensionality Reduction

Ta nienadzorowana metoda ML służy do zmniejszania liczby zmiennych cech dla każdej próbki danych poprzez wybór zestawu cech głównych lub reprezentatywnych. Powstaje tutaj pytanie, dlaczego musimy zmniejszyć wymiarowość? Przyczyną tego jest problem złożoności przestrzeni cech, który pojawia się, gdy zaczynamy analizować i wyodrębniać miliony cech z próbek danych. Ten problem ogólnie odnosi się do „przekleństwa wymiarowości”. PCA (Principal Component Analysis), K-najbliższych sąsiadów i analiza dyskryminacyjna to tylko niektóre z popularnych algorytmów służących do tego celu.

Anomaly Detection

Ta nienadzorowana metoda ML służy do wykrywania rzadkich zdarzeń lub obserwacji, które na ogół nie występują. Wykorzystując zdobytą wiedzę, metody wykrywania anomalii umożliwiłyby rozróżnienie między anomalnym a normalnym punktem danych. Niektóre z nienadzorowanych algorytmów, takie jak grupowanie, KNN mogą wykrywać anomalie na podstawie danych i ich cech.

Nauka częściowo nadzorowana

Tego rodzaju algorytmy lub metody nie są ani w pełni nadzorowane, ani całkowicie nienadzorowane. Zasadniczo mieszczą się między tymi dwoma, tj. Metodami uczenia się pod nadzorem i bez nadzoru. Tego rodzaju algorytmy generalnie wykorzystują mały nadzorowany komponent uczenia się, tj. Małą ilość wcześniej oznaczonych danych z adnotacjami i duży nienadzorowany komponent uczenia się, tj. Wiele nieoznaczonych danych do szkolenia. Możemy zastosować dowolne z następujących podejść do wdrażania częściowo nadzorowanych metod uczenia się -

  • Pierwszym i prostym podejściem jest zbudowanie nadzorowanego modelu w oparciu o niewielką ilość oznaczonych i opatrzonych adnotacjami danych, a następnie zbudowanie modelu nienadzorowanego, stosując to samo do dużych ilości nieoznakowanych danych, aby uzyskać więcej oznaczonych próbek. Teraz wytrenuj na nich model i powtórz proces.

  • Drugie podejście wymaga dodatkowych wysiłków. W tym podejściu możemy najpierw użyć metod nienadzorowanych, aby skupić podobne próbki danych, opisać te grupy, a następnie użyć kombinacji tych informacji do wytrenowania modelu.

Uczenie się ze wzmocnieniem

Metody te różnią się od dotychczas badanych i są również bardzo rzadko stosowane. W tego rodzaju algorytmach uczenia się byłby agent, którego chcielibyśmy wyszkolić przez pewien okres czasu, aby mógł wchodzić w interakcje z określonym środowiskiem. Agent będzie postępował zgodnie z zestawem strategii interakcji z otoczeniem, a następnie po obserwacji otoczenia podejmie działania dotyczące aktualnego stanu środowiska. Poniżej przedstawiono główne etapy metod uczenia się ze wzmocnieniem -

  • Step 1 - Najpierw musimy przygotować agenta z pewnym wstępnym zestawem strategii.

  • Step 2 - Następnie obserwuj otoczenie i jego aktualny stan.

  • Step 3 - Następnie wybierz optymalną politykę względem aktualnego stanu środowiska i wykonaj ważne działania.

  • Step 4 - Teraz agent może otrzymać odpowiednią nagrodę lub karę, zgodnie z działaniem podjętym przez niego w poprzednim kroku.

  • Step 5 - Teraz możemy zaktualizować strategie, jeśli jest to wymagane.

  • Step 6 - Na koniec powtarzaj kroki 2-5, aż agent nauczy się i zastosuje optymalne zasady.

Zadania odpowiednie do uczenia maszynowego

Poniższy diagram pokazuje, jaki typ zadania jest odpowiedni dla różnych problemów ML -

Oparte na zdolności uczenia się

W procesie uczenia się są następujące metody oparte na zdolności uczenia się -

Batch Learning

W wielu przypadkach mamy kompleksowe systemy Machine Learning, w których musimy trenować model za jednym razem, wykorzystując całe dostępne dane szkoleniowe. Taka metoda uczenia się lub algorytm to tzwBatch or Offline learning. Nazywa się to uczeniem wsadowym lub offline, ponieważ jest to procedura jednorazowa, a model będzie szkolony z danymi w jednej partii. Poniżej przedstawiono główne kroki metod uczenia wsadowego -

  • Step 1 - Najpierw musimy zebrać wszystkie dane treningowe, aby rozpocząć trenowanie modelu.

  • Step 2 - Teraz rozpocznij uczenie modelu, dostarczając pełne dane szkoleniowe za jednym razem.

  • Step 3 - Następnie zakończ proces uczenia się / treningu po uzyskaniu zadowalających wyników / wyników.

  • Step 4- Na koniec wdróż wyszkolony model do produkcji. Tutaj będzie przewidywać wynik dla nowej próbki danych.

Nauka online

Jest to całkowicie odwrotne do metod uczenia się w trybie wsadowym lub offline. W tych metodach uczenia dane szkoleniowe są dostarczane do algorytmu w wielu przyrostowych partiach, zwanych minipartiami. Oto główne kroki metod uczenia się online -

  • Step 1 - Najpierw musimy zebrać wszystkie dane treningowe, aby rozpocząć uczenie modelu.

  • Step 2 - Teraz rozpocznij uczenie modelu, dostarczając mini partię danych uczących do algorytmu.

  • Step 3 - Następnie musimy dostarczyć do algorytmu mini-partie danych szkoleniowych w wielu przyrostach.

  • Step 4 - Ponieważ nie zatrzyma się jak uczenie wsadowe, a więc po dostarczeniu całych danych szkoleniowych w mini-seriach, należy również dostarczyć nowe próbki danych.

  • Step 5 - Wreszcie będzie uczyć się przez pewien czas w oparciu o nowe próbki danych.

Oparte na podejściu uogólniającym

W procesie uczenia się poniżej przedstawiono metody oparte na podejściu uogólniającym -

Uczenie się oparte na instancjach

Metoda uczenia się oparta na instancjach jest jedną z przydatnych metod służących do budowania modeli ML poprzez generalizację na podstawie danych wejściowych. Jest to przeciwieństwo wcześniej badanych metod uczenia się, ponieważ ten rodzaj uczenia się obejmuje systemy ML, a także metody wykorzystujące same surowe punkty danych do rysowania wyników dla nowszych próbek danych bez budowania jawnego modelu na danych szkoleniowych.

Mówiąc prościej, uczenie się oparte na instancjach zasadniczo zaczyna działać od spojrzenia na punkty danych wejściowych, a następnie przy użyciu miernika podobieństwa uogólnia i przewiduje nowe punkty danych.

Uczenie się oparte na modelach

W metodach uczenia się opartych na modelu proces iteracyjny odbywa się na modelach ML, które są zbudowane w oparciu o różne parametry modelu, zwane hiperparametrami, w których do wyodrębnienia cech używane są dane wejściowe. Podczas tego uczenia hiperparametry są optymalizowane w oparciu o różne techniki walidacji modelu. Dlatego możemy powiedzieć, że metody uczenia się oparte na modelu wykorzystują bardziej tradycyjne podejście ML do generalizacji.