Connect with us

AI 101

Co to jest Machine Learning?

mm

Machine learning jest jedną z najszybciej rozwijających się dziedzin technologicznych, ale pomimo tego, jak często słowa „machine learning” są używane, może być trudno zrozumieć, co dokładnie oznacza machine learning.
Machine learning nie odnosi się do jednej rzeczy, jest to pojęcie parasolowe, 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ę machine learning, aby lepiej zrozumieć, co ono obejmuje.

Co to jest Machine Learning?

Podczas gdy 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 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 nauki wzorców i wyciągania 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: nadzorowanym i nienadzorowanym uczeniu.

Nadzorowane vs. Nienadzorowane Uczenie

W nadzorowanym uczeniu dane wejściowe są acompañowane przez prawdę. Problemy z nadzorowanym uczeniem mają prawidłowe 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 nienadzorowanego uczenia problemy nie mają etykiet prawdy 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ą zazwyczaj 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 uczenie reprezentacji. Te trzy zadania wymagają, aby model machine learning wywnioskował strukturę danych, nie ma przeddefiniowanych klas przypisanych do modelu.
Przyjrzyjmy się krótko niektórym z najczęstszych algorytmów stosowanych w nadzorowanym i nienadzorowanym uczeniu.

Typy Nadzorowanego Uczenia

Wspólne algorytmy nadzorowanego uczenia obejmują:

  • Naive Bayes
  • Support Vector Machines
  • Logistic Regression
  • Losowe Lasy
  • 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żeć do jednej klasy, podczas gdy punkty po drugiej stronie linii będą należeć do innej klasy. Support Vector Machines mają na celu zwiększyć odległość między linią a punktami znajdującymi się po obu stronach linii, a im większa odległość, tym bardziej klasyfikator jest pewny, że punkt należy do jednej klasy, a nie 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.
Algorytmy Drzewa Decyzyjnego działają poprzez dzielenie zestawów danych na mniejsze i mniejsze fragmenty. Dokładne kryteria używane do podziału danych zależą od inżyniera machine learning, ale celem jest ostatecznie podzielić dane na pojedyncze punkty danych, które będą następnie sklasyfikowane za pomocą klucza.
Algorytm Losowego Lasu jest podstawowo wieloma pojedynczymi klasyfikatorami Drzewa Decyzyjnego połączonymi w jeden, bardziej potężny klasyfikator.
Klasyfikator Naive Bayes oblicza prawdopodobieństwo, że dany punkt danych wystąpił na podstawie prawdopodobieństwa poprzedniego zdarzenia. Opiera się na Twierdzeniu Bayesa i umieszcza punkty danych w klasach 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, lub wielowarstwowy perceptron, to algorytmy machine learning inspirowane strukturą i funkcją ludzkiego mózgu. Sztuczne sieci neuronowe biorą swoją nazwę od faktu, że składają się z wielu węzłów/neuronów połączonych ze sobą. Każdy neuron manipuluje danymi za pomocą funkcji matematycznej. W sztucznych sieciach neuronowych istnieją warstwy wejściowe, ukryte warstwy i warstwy wyjściowe.
Ukryta warstwa sieci neuronowej to miejsce, w którym dane są rzeczywiście interpretowane i analizowane w celu znalezienia wzorców. Innymi słowy, jest to miejsce, w którym algorytm uczy się. Im więcej neuronów połączonych ze sobą, tym bardziej złożone sieci są w stanie nauczyć 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, a działa poprzez separację punktów danych w klastry lub grupy na podstawie ich cech. K-means clustering analizuje cechy znalezione w punktach danych i rozróżnia wzorce w nich, które sprawiają, że punkty danych znalezione w danej klasie klastra są bardziej podobne do siebie niż do klastrów zawierających inne punkty danych. To jest osiągane poprzez umieszczenie możliwych centrów klastra, lub centroidów, w grafie danych i ponowne przypisanie pozycji centroidu, aż zostanie znaleziona pozycja, która minimalizuje odległość między centroidem a punktami, które należą do tego centroidu. 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ą ściśnięte w mniejszą reprezentację. Relacja między oryginalnymi danymi jest zachowana, ale ponieważ złożoność punktów danych jest prostsza, dane są łatwiejsze do ilościowego opisu i przedstawienia.
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órych sieć neuronowa jest w stanie użyć, podstawowo tworząc własne oznaczone dane szkoleniowe. Celem autoencodera jest przekonwertowanie 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.