logo

Modele uczenia maszynowego

Model uczenia maszynowego definiuje się jako matematyczną reprezentację wyników procesu szkoleniowego. Uczenie maszynowe to badanie różnych algorytmów, które mogą być automatycznie ulepszane dzięki doświadczeniu i starym danym oraz budowaniu modelu. Model uczenia maszynowego jest podobny do oprogramowania komputerowego zaprojektowanego do rozpoznawania wzorców lub zachowań na podstawie wcześniejszych doświadczeń lub danych. Algorytm uczenia się odkrywa wzorce w danych szkoleniowych i generuje model ML, który przechwytuje te wzorce i dokonuje prognoz na podstawie nowych danych.

Modele uczenia maszynowego

Rozważmy przykład modelu ML, w którym tworzymy aplikację rozpoznającą emocje użytkownika na podstawie mimiki. Stworzenie takiej aplikacji jest więc możliwe dzięki modelom uczenia maszynowego, w których będziemy trenować model, karmiąc obrazy twarzy z oznaczonymi na nich różnymi emocjami. Ilekroć ta aplikacja jest używana do określenia nastroju użytkownika, odczytuje wszystkie wprowadzone dane, a następnie określa nastrój dowolnego użytkownika.

Zatem w prostych słowach możemy powiedzieć, że a Model uczenia maszynowego to uproszczona reprezentacja czegoś lub procesu. W tym temacie omówimy różne modele uczenia maszynowego oraz ich techniki i algorytmy .

Co to jest model uczenia maszynowego?

Modele uczenia maszynowego można rozumieć jako program, który został przeszkolony w zakresie znajdowania wzorców w nowych danych i dokonywania prognoz. Modele te są reprezentowane jako funkcja matematyczna, która przyjmuje żądania w postaci danych wejściowych, dokonuje prognoz na podstawie danych wejściowych, a następnie w odpowiedzi dostarcza dane wyjściowe. Najpierw modele te są szkolone na zestawie danych, a następnie otrzymują algorytm umożliwiający analizę danych, wyodrębnienie wzorca z danych z pliku danych i uczenie się na ich podstawie. Po przeszkoleniu tych modeli można ich użyć do przewidywania niewidocznego zbioru danych.

Dostępne są różne typy modeli uczenia maszynowego oparte na różnych celach biznesowych i zestawach danych.

Klasyfikacja modeli uczenia maszynowego:

W oparciu o różne cele biznesowe i zestawy danych istnieją trzy modele uczenia się algorytmów. Każdy algorytm uczenia maszynowego można przypisać do jednego z trzech modeli:

  • Nadzorowana nauka
  • Uczenie się bez nadzoru
  • Uczenie się przez wzmacnianie
Modele uczenia maszynowego

Uczenie się nadzorowane dzieli się dalej na dwie kategorie:

  • Klasyfikacja
  • Regresja

Uczenie się bez nadzoru jest również podzielone na poniższe kategorie:

  • Grupowanie
  • Zasada stowarzyszenia
  • Redukcja wymiarowości

1. Modele nadzorowanego uczenia maszynowego

Uczenie się nadzorowane to najprostszy model uczenia maszynowego pozwalający zrozumieć, które dane wejściowe nazywane są danymi szkoleniowymi i mają znaną etykietę lub wynik jako wynik. Działa więc na zasadzie par wejście-wyjście. Wymaga stworzenia funkcji, którą można wytrenować przy użyciu zestawu danych szkoleniowych, a następnie zastosować ją do nieznanych danych i uzyskać pewną wydajność predykcyjną. Uczenie się pod nadzorem opiera się na zadaniach i jest testowane na oznaczonych zbiorach danych.

Możemy wdrożyć model uczenia się pod nadzorem na prostych, rzeczywistych problemach. Na przykład mamy zbiór danych składający się z wieku i wzrostu; następnie możemy zbudować model uczenia się nadzorowanego, aby przewidzieć wzrost osoby na podstawie jej wieku.

Modele uczenia się pod nadzorem można dalej podzielić na dwie kategorie:

Regresja

W problemach regresyjnych wyjście jest zmienną ciągłą. Niektóre powszechnie stosowane modele regresji są następujące:

a) Regresja liniowa

Regresja liniowa to najprostszy model uczenia maszynowego, w którym staramy się przewidzieć jedną zmienną wyjściową za pomocą jednej lub większej liczby zmiennych wejściowych. Reprezentacja regresji liniowej to równanie liniowe, które łączy zbiór wartości wejściowych (x) i przewidywany wynik (y) dla zbioru tych wartości wejściowych. Jest reprezentowany w postaci linii:

Y = bx + do.

Modele uczenia maszynowego

Głównym celem modelu regresji liniowej jest znalezienie linii najlepszego dopasowania, która najlepiej pasuje do punktów danych.

Regresja liniowa jest rozszerzona na regresję liniową wielokrotną (znajdź płaszczyznę najlepszego dopasowania) i regresję wielomianową (znajdź krzywą najlepszego dopasowania).

b) Drzewo decyzyjne

licznik Javy

Drzewa decyzyjne to popularne modele uczenia maszynowego, które można wykorzystać zarówno w przypadku problemów regresyjnych, jak i klasyfikacyjnych.

Drzewo decyzyjne wykorzystuje drzewiastą strukturę decyzji wraz z ich możliwymi konsekwencjami i wynikami. W tym przypadku każdy węzeł wewnętrzny służy do reprezentowania testu atrybutu; każda gałąź służy do przedstawienia wyniku testu. Im więcej węzłów ma drzewo decyzyjne, tym dokładniejszy będzie wynik.

Zaletą drzew decyzyjnych jest to, że są intuicyjne i łatwe w implementacji, ale brakuje im dokładności.

Drzewa decyzyjne są szeroko stosowane w badania operacyjne, szczególnie w analizie decyzji, planowaniu strategicznym i głównie w uczeniu maszynowym.

c) Losowy Las

Random Forest to metoda uczenia się zespołowego, która składa się z dużej liczby drzew decyzyjnych. Każde drzewo decyzyjne w losowym lesie przewiduje wynik, a przewidywanie z większością głosów jest uważane za wynik.

Model lasu losowego można wykorzystać zarówno do problemów regresyjnych, jak i klasyfikacyjnych.

W przypadku zadania klasyfikacyjnego wynik losowego lasu jest brany z większości głosów. Natomiast w zadaniu regresji wynik jest pobierany ze średniej lub średniej prognoz generowanych przez każde drzewo.

d) Sieci neuronowe

Sieci neuronowe stanowią podzbiór uczenia maszynowego i są również znane jako sztuczne sieci neuronowe. Sieci neuronowe składają się ze sztucznych neuronów i są zaprojektowane w sposób przypominający strukturę i działanie ludzkiego mózgu. Każdy sztuczny neuron łączy się z wieloma innymi neuronami w sieci neuronowej, a takie miliony połączonych neuronów tworzą wyrafinowaną strukturę poznawczą.

Modele uczenia maszynowego

Sieci neuronowe składają się ze struktury wielowarstwowej, zawierającej jedną warstwę wejściową, jedną lub więcej warstw ukrytych i jedną warstwę wyjściową. Ponieważ każdy neuron jest połączony z innym neuronem, przekazuje dane z jednej warstwy do drugiego neuronu kolejnych warstw. Wreszcie dane docierają do ostatniej warstwy lub warstwy wyjściowej sieci neuronowej i generują dane wyjściowe.

Sieci neuronowe korzystają z danych szkoleniowych, aby się uczyć i poprawiać swoją dokładność. Jednak doskonale wyszkolona i dokładna sieć neuronowa może szybko grupować dane i stać się potężnym narzędziem uczenia maszynowego i sztucznej inteligencji. Jedną z najbardziej znanych sieci neuronowych jest Algorytm wyszukiwania Google.

Klasyfikacja

Drugim rodzajem technik uczenia się nadzorowanego są modele klasyfikacyjne, które służą do generowania wniosków z zaobserwowanych wartości w formie kategorycznej. Na przykład model klasyfikacji może określić, czy wiadomość e-mail jest spamem, czy nie; kupujący kupi produkt, czy nie itp. Algorytmy klasyfikacji służą do przewidywania dwóch klas i kategoryzowania wyników na różne grupy.

Podczas klasyfikacji projektowany jest model klasyfikatora, który klasyfikuje zbiór danych na różne kategorie, a każdej kategorii przypisuje się etykietę.

Istnieją dwa rodzaje klasyfikacji w uczeniu maszynowym:

    Klasyfikacja binarna: Jeśli problem ma tylko dwie możliwe klasy, nazywa się to klasyfikatorem binarnym. Na przykład kot lub pies, Tak lub Nie,Klasyfikacja wieloklasowa: Jeśli problem ma więcej niż dwie możliwe klasy, jest to klasyfikator wieloklasowy.

Poniżej przedstawiono niektóre popularne algorytmy klasyfikacji:

a) Regresja logistyczna

Regresja logistyczna służy do rozwiązywania problemów klasyfikacyjnych w uczeniu maszynowym. Są one podobne do regresji liniowej, ale służą do przewidywania zmiennych kategorycznych. Może przewidzieć wynik w postaci Tak lub Nie, 0 lub 1, Prawda lub Fałsz itp. Jednak zamiast podawać dokładne wartości, podaje wartości probabilistyczne z zakresu od 0 do 1.

b) Maszyna wektorów nośnych

Maszyna wektorów nośnych lub SVM to popularny algorytm uczenia maszynowego, który jest szeroko stosowany w zadaniach klasyfikacji i regresji. Jednak w szczególności służy do rozwiązywania problemów klasyfikacyjnych. Głównym celem SVM jest znalezienie najlepszych granic decyzyjnych w przestrzeni N-wymiarowej, która może segregować punkty danych na klasy, a najlepsza granica decyzyjna jest znana jako hiperpłaszczyzna. SVM wybiera ekstremalny wektor, aby znaleźć hiperpłaszczyznę, a wektory te są znane jako wektory nośne.

Modele uczenia maszynowego

c) Naiwny Bayes

Naiwny Bayes to kolejny popularny algorytm klasyfikacji stosowany w uczeniu maszynowym. Nazywa się to tak, ponieważ opiera się na twierdzeniu Bayesa i opiera się na naiwnym (niezależnym) założeniu między cechami, które jest dane jako:

Modele uczenia maszynowego

Każdy naiwny klasyfikator Bayesa zakłada, że ​​wartość określonej zmiennej jest niezależna od jakiejkolwiek innej zmiennej/cechy. Na przykład, jeśli owoc musi zostać sklasyfikowany na podstawie koloru, kształtu i smaku. Tak więc żółty, owalny i słodki zostanie rozpoznany jako mango. Tutaj każda funkcja jest niezależna od innych funkcji.

2. Modele uczenia maszynowego bez nadzoru

Modele uczenia maszynowego bez nadzoru wdrażają proces uczenia się odwrotny do uczenia się nadzorowanego, co oznacza, że ​​umożliwia modelowi uczenie się na podstawie nieoznakowanego zbioru danych szkoleniowych. Na podstawie nieoznakowanego zbioru danych model przewiduje wynik. Dzięki uczeniu się bez nadzoru model sam uczy się ukrytych wzorców ze zbioru danych, bez żadnego nadzoru.

Modele uczenia się bez nadzoru są wykorzystywane głównie do wykonywania trzech zadań, które są następujące:

    Grupowanie
    Klastrowanie to technika uczenia się bez nadzoru, która polega na grupowaniu lub grupowaniu punktów danych w różne klastry w oparciu o podobieństwa i różnice. Obiekty z największą liczbą podobieństw pozostają w tej samej grupie i nie mają żadnych podobieństw lub mają bardzo niewiele podobieństw z innymi grupami.
    Algorytmy grupowania mogą być szeroko stosowane w różnych zadaniach, takich jak Segmentacja obrazu, Statystyczna analiza danych, Segmentacja rynku itp.
    Niektóre powszechnie stosowane algorytmy grupowania to: K-oznacza klastrowanie, grupowanie hierarchiczne, DBSCAN itp.
    Modele uczenia maszynowego Nauka reguł asocjacyjnych
    Uczenie się reguł asocjacyjnych to technika uczenia się bez nadzoru, która pozwala znaleźć interesujące relacje między zmiennymi w dużym zbiorze danych. Głównym celem tego algorytmu uczenia się jest znalezienie zależności jednego elementu danych od innego elementu danych i odpowiednie zmapowanie tych zmiennych, aby wygenerować maksymalny zysk. Algorytm ten jest stosowany głównie w Analiza koszyka rynkowego, eksploracja wykorzystania sieci, produkcja ciągła itp.
    Niektóre popularne algorytmy uczenia się reguł asocjacyjnych to: Algorytm Apriori, Eclat, algorytm wzrostu FP. Redukcja wymiarowości
    Liczba cech/zmiennych obecnych w zbiorze danych nazywana jest wymiarowością zbioru danych, a technika stosowana do zmniejszania wymiarowości nazywana jest techniką redukcji wymiarowości.
    Chociaż większa ilość danych zapewnia dokładniejsze wyniki, może to również mieć wpływ na wydajność modelu/algorytmu, np. na przykład problemy z nadmiernym dopasowaniem. W takich przypadkach stosuje się techniki redukcji wymiarowości.
    ' Jest to proces przekształcania zbioru danych o wyższych wymiarach w zbiór danych o mniejszych wymiarach, zapewniający dostarczenie podobnych informacji .'
    Różne metody redukcji wymiarowości, np jak PCA (analiza głównych składowych), rozkład wartości osobliwych itp.

Uczenie się przez wzmacnianie

W uczeniu się przez wzmacnianie algorytm uczy się działań dla danego zestawu stanów, które prowadzą do stanu docelowego. Jest to model uczenia się oparty na informacjach zwrotnych, który pobiera sygnały zwrotne po każdym stanie lub działaniu poprzez interakcję z otoczeniem. Ta informacja zwrotna działa jak nagroda (pozytywna za każde dobre działanie i negatywna za każde złe), a celem agenta jest maksymalizacja pozytywnych nagród w celu poprawy jego wyników.

Zachowanie modelu w uczeniu się przez wzmacnianie jest podobne do uczenia się człowieka, ponieważ ludzie uczą się rzeczy na podstawie doświadczeń w formie informacji zwrotnej i interakcji z otoczeniem.

Poniżej znajduje się kilka popularnych algorytmów objętych uczeniem się przez wzmacnianie:

    Q-learning:Q-learning to jeden z popularnych bezmodelowych algorytmów uczenia się przez wzmacnianie, który opiera się na równaniu Bellmana.

Ma na celu poznanie zasad, które mogą pomóc agentowi AI w podjęciu najlepszego działania w celu maksymalizacji nagrody w określonych okolicznościach. Uwzględnia wartości Q dla każdej pary stan-działanie, które wskazują nagrodę za podążanie daną ścieżką stanu, i próbuje maksymalizować wartość Q.

    Stan-Działanie-Nagroda-Stan-Działanie (SARSA):SARSA to algorytm On-policy oparty na procesie decyzyjnym Markowa. Wykorzystuje akcję wykonywaną przez bieżącą politykę, aby poznać wartość Q. Algorytm SARSA stoi dla akcji stanowej Nagroda za akcję stanową, która symbolizuje krotkę (s, a, r, s', a'). Głęboka sieć Q:DQN lub Sieć neuronowa Deep Q to Q-learning w sieci neuronowej. Zasadniczo stosuje się go w środowisku dużej przestrzeni stanów, w którym zdefiniowanie tabeli Q byłoby złożonym zadaniem. Zatem w takim przypadku zamiast korzystać z tabeli Q, sieć neuronowa wykorzystuje wartości Q dla każdego działania w oparciu o stan.

Szkolenie modeli uczenia maszynowego

Po zbudowaniu modelu uczenia maszynowego jest on szkolony w celu uzyskania odpowiednich wyników. Aby wytrenować model uczenia maszynowego, potrzeba ogromnej ilości wstępnie przetworzonych danych. W tym przypadku dane wstępnie przetworzone oznaczają dane w formie strukturalnej ze zmniejszonymi wartościami null itp. Jeśli nie dostarczymy danych wstępnie przetworzonych, istnieje ogromne ryzyko, że nasz model może działać fatalnie.

Jak wybrać najlepszy model?

W powyższej sekcji omówiliśmy różne modele i algorytmy uczenia maszynowego. Jednak dla każdego początkującego może pojawić się najbardziej mylące pytanie: „Jaki model powinienem wybrać?”. Odpowiedź jest więc taka, że ​​zależy to głównie od wymagań biznesowych lub wymagań projektu. Poza tym zależy to również od powiązanych atrybutów, objętości dostępnego zbioru danych, liczby funkcji, złożoności itp. Jednak w praktyce zaleca się, aby zawsze zaczynać od najprostszego modelu, który można zastosować do konkretnego problemu, a następnie stopniowo zwiększaj złożoność i sprawdzaj dokładność za pomocą dostrajania parametrów i weryfikacji krzyżowej.

Różnica między modelem uczenia maszynowego a algorytmami

Jednym z najbardziej mylących pytań wśród początkujących jest to, czy modele uczenia maszynowego i algorytmy są takie same? Ponieważ w różnych przypadkach uczenia maszynowego i nauki o danych te dwa terminy są używane zamiennie.

Odpowiedź na to pytanie brzmi: nie, a model uczenia maszynowego to nie to samo, co algorytm. W prosty sposób an Algorytm ML przypomina procedurę lub metodę, która działa na danych w celu wykrycia na ich podstawie wzorców i wygeneruj model. Jednocześnie A Model uczenia maszynowego przypomina program komputerowy, który generuje dane wyjściowe lub dokonuje prognoz . Mówiąc dokładniej, gdy trenujemy algorytm na danych, staje się on modelem.

 Machine Learning Model = Model Data + Prediction Algorithm