Podstawy AI

Co to jest Machine Learning?

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Machine learning to jedna z najszybciej rozwijających się dziedzin technologicznych, ale pomimo tego, jak często słyszy się słowa „machine learning”, może być trudno zrozumieć, co to jest machine learning, ściśle mówiąc.

Machine learning nie odnosi się do jednej rzeczy, jest to pojęcie, które może być stosowane do wielu różnych pojęć i technik. Zrozumienie machine learning oznacza znajomość różnych form analizy modelu, zmiennych i algorytmów. Przyjrzyjmy się bliżej machine learning, aby lepiej zrozumieć, co ono obejmuje.

Co to jest Machine Learning?

Chociaż termin machine learning może być stosowany do wielu różnych rzeczy, ogólnie rzecz biorąc, odnosi się do umożliwienia komputerowi wykonywania zadań bez otrzymywania jawnych instrukcji krok po kroku. Specjalista machine learning nie musi pisać wszystkich kroków niezbędnych do rozwiązania problemu, ponieważ komputer jest w stanie „uczyć się” poprzez analizę wzorców w danych i uogólnianie tych wzorców na nowe dane.

Systemy machine learning składają się z trzech podstawowych części:

  • Dane wejściowe
  • Algorytmy
  • Dane wyjściowe

Dane wejściowe to dane, które są wprowadzane do systemu machine learning, a dane wejściowe można podzielić na etykiety i cechy. Cechy są istotnymi zmiennymi, zmiennymi, które będą analizowane w celu poznania wzorców i wyciągnięcia wniosków. Tymczasem etykiety są klasami/opisami przypisanymi do poszczególnych przypadków danych.

Cechy i etykiety mogą być stosowane w dwóch różnych typach problemów machine learning: supervised learning i unsupervised learning.

Nadzorowane vs. Nienadzorowane uczenie

W nadzorowanym uczeniu dane wejściowe są acompañowane przez ground truth. Problemy z nadzorowanym uczeniem mają poprawne wartości wyjściowe jako część zestawu danych, więc oczekiwane klasy są znane z wyprzedzeniem. To pozwala na sprawdzenie wydajności algorytmu przez przetestowanie danych na zestawie testowym i sprawdzenie, jaki procent elementów został poprawnie sklasyfikowany.

W przeciwieństwie do tego, nienadzorowane uczenie nie ma etykiet ground truth dołączonych do nich. Algorytm machine learning szkolony do wykonywania zadań nienadzorowanego uczenia musi być w stanie wywnioskować istotne wzorce w danych samodzielnie.

Algorytmy nadzorowanego uczenia są zwykle stosowane w problemach klasyfikacji, gdzie mamy duży zestaw danych wypełniony przypadkami, które muszą być posortowane do jednej z wielu różnych klas. Innym typem nadzorowanego uczenia jest zadanie regresji, gdzie wartość wyjściowa algorytmu jest ciągła, a nie kategorialna.

Tymczasem algorytmy nienadzorowanego uczenia są stosowane w zadaniach takich jak estymacja gęstości, klastering i reprezentacja uczenia. Te trzy zadania wymagają, aby model machine learning wywnioskował strukturę danych, nie ma przedstawionych klas dla modelu.

Przyjrzyjmy się krótko niektórym z najczęstszych algorytmów stosowanych w nienadzorowanym i nadzorowanym uczeniu.

Typy nadzorowanego uczenia

Wspólne algorytmy nadzorowanego uczenia obejmują:

  • Naive Bayes
  • Support Vector Machines
  • Logistic Regression
  • Random Forests
  • Sztuczne sieci neuronowe

Support Vector Machines to algorytmy, które dzielą zestaw danych na różne klasy. Punkty danych są grupowane w klastry poprzez rysowanie linii, które oddzielają klasy od siebie. Punkty znajdujące się po jednej stronie linii będą należały do jednej klasy, podczas gdy punkty po drugiej stronie linii będą należały do innej klasy. Support Vector Machines mają na celu zwiększyć odległość między linią a punktami po obu stronach linii, a im większa odległość, tym bardziej klasyfikator jest pewny, że punkt należy do jednej klasy, a nie do innej.

Logistic Regression to algorytm stosowany w zadaniach klasyfikacji binarnej, gdy punkty danych muszą być sklasyfikowane jako należące do jednej z dwóch klas. Logistic Regression działa poprzez oznaczanie punktu danych jako 1 lub 0. Jeśli postrzegana wartość punktu danych jest 0,49 lub poniżej, jest sklasyfikowany jako 0, podczas gdy jeśli jest 0,5 lub powyżej, jest sklasyfikowany jako 1.

Decision Tree algorithms działają poprzez dzielenie zestawów danych na mniejsze i mniejsze fragmenty. Dokładne kryteria stosowane do podziału danych zależą od inżyniera machine learning, ale celem jest ostatecznie podzielić dane na pojedyncze punkty danych, które następnie będą sklasyfikowane przy użyciu klucza.

Algorytm Random Forest jest podstawowo wieloma pojedynczymi klasyfikatorami Decision Tree połączonymi w jeden, bardziej potężny klasyfikator.

Klasyfikator Naive Bayes oblicza prawdopodobieństwo, że dany punkt danych wystąpił na podstawie prawdopodobieństwa wystąpienia poprzedniego zdarzenia. Opiera się na twierdzeniu Bayesa i klasyfikuje punkty danych do klas na podstawie ich obliczonego prawdopodobieństwa. Podczas wdrażania klasyfikatora Naive Bayes zakłada się, że wszystkie predyktory mają taki sam wpływ na wynik klasy.

Sztuczna sieć neuronowa, czyli wielowarstwowy perceptron, to algorytmy machine learning inspirowane strukturą i funkcją ludzkiego mózgu. Sztuczne sieci neuronowe składają się z wielu połączonych ze sobą neuronów. Każdy neuron manipuluje danymi za pomocą funkcji matematycznej. W sztucznych sieciach neuronowych są warstwy wejściowe, warstwy ukryte i warstwy wyjściowe.

Warstwa ukryta sieci neuronowej to miejsce, w którym dane są rzeczywiście interpretowane i analizowane w celu poznania wzorców. Innymi słowy, jest to miejsce, w którym algorytm uczy się. Im więcej neuronów połączonych razem, tym bardziej złożone sieci mogą uczyć się bardziej złożonych wzorców.

Typy nienadzorowanego uczenia

Algorytmy nienadzorowanego uczenia obejmują:

  • K-means clustering
  • Autoencoders
  • Principal Component Analysis

K-means clustering to technika klasyfikacji nienadzorowanej, która działa poprzez dzielenie punktów danych na klastry lub grupy na podstawie ich cech. K-means clustering analizuje cechy w punktach danych i rozróżnia wzorce w nich, które sprawiają, że punkty danych w danej klasie są bardziej podobne do siebie nawzajem niż do punktów w innych klasach. To jest osiągane poprzez umieszczenie możliwych centrów klastra, czyli centroidów, w grafie danych i ponowne przypisanie położenia centroidu, aż zostanie znalezione położenie, które minimalizuje odległość między centroidem a punktami należącymi do tej samej klasy. Badacz może określić żądany liczbę klastrów.

Principal Component Analysis to technika, która redukuje dużą liczbę cech/zmiennych do mniejszej przestrzeni cech/mniejszej liczby cech. „Główne składniki” punktów danych są wybrane do zachowania, podczas gdy inne cechy są zmniejszane do mniejszej reprezentacji. Relacja między oryginalnymi danymi jest zachowana, ale ponieważ złożoność punktów danych jest prostsza, dane są łatwiejsze do ilościowego opisu.

Autoencoders to wersje sieci neuronowych, które mogą być stosowane w zadaniach nienadzorowanego uczenia. Autoencoders są w stanie przyjmować nieoznaczone, swobodne dane i przekształcać je w dane, które sieć neuronowa jest w stanie wykorzystać, podstawowo tworząc własne oznaczone dane szkoleniowe. Celem autoencodera jest przekształcenie danych wejściowych i odbudowanie ich jak najdokładniej, więc jest to w interesie sieci, aby określić, które cechy są najważniejsze i wyodrębnić je.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, że pomoże innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.