Uczenie maszynowe zaczyna otaczać nas w codziennym życiu. Według Gartnera do 2020 r. chatboty w 85% przejmą proces obsługi klienta. 41% konsumentów wierzy, że AI poprawi jakość ich życia. Portal Netflix zaoszczędza ok. miliona dolarów rocznie stosując algorytm uczenia maszynowego, który na podstawie naszych przeszłych decyzji personalizuje propozycje kolejnych tytułów do oglądania. Nikogo już nie potrzeby przekonywać, że ML to nie przyszłość, ale teraźniejszość, a firmy inwestują w nie krocie, ponieważ zdają sobie sprawę jakie wymierne korzyści mogą przynieść im algorytmy uczenia maszynowego. Warto zatem zadać podstawowe pytanie. Jak proces uczenia się przebiega?
Na uczenie maszynowe składają się 3 główne elementy:*
- Model
- Parametry
- Możliwość uczenia się
Modelem jest system, który tworzy przewidywania/identyfikacje. Parametry, określane na podstawie dostarczanych do systemu danych, to czynniki na podstawie których model formułuje swoje decyzje. Możliwość uczenia się – system dostosowuje model obserwując różnice pomiędzy przewidywaniami a wynikami rzeczywistymi.
W założeniu algorytmy mają uczyć się, czyli doskonalić się na podstawie obserwacji różnic w wynikach, aktualizować parametry na podstawie nowych danych, usprawniać działanie i gromadzić doświadczenia.
W ML może być stosowane kilka rodzajów algorytmów, kilka sposobów się uczenia się. Jakie są między nimi podstawowe różnice?
SPOSOBY UCZENIA SIĘ
Uczenie nadzorowane (supervised learning) czyli uczenie się na podstawie przykładów
Tworzenie tego modelu polega na dostarczeniu kompletu danych wejściowych i wyjściowych, czyli informacji o wyniku jaki jest oczekiwany. To czego oczekujemy to, że po zasileniu odpowiednią ilością danych algorytm w momencie gdy pojawi się dana z poza bazy będzie w stanie ją odpowiednio sklasyfikować.
Możliwości zastosowania – zarządzanie ryzkiem, wykrywanie nadużyć personalizacja interakcji, rozpoznawanie mowy i tekstu.
Uczenie nienadzorowane (unsupervised learning)
W tym przypadku model zasilany jest danymi wejściowymi. Dopiero na podstawie analizy otrzymanych danych algorytm powinien odnaleźć wzór i na jego podstawie dostarczyć nam dane wyjściowe. Kluczowym zadaniem systemu jest zidentyfikowanie złożonych procesów i wzorców we własnym zakresie, bez konieczności dostarczania przez człowieka wskazówek. W tym rodzaju uczenia się możemy dopatrywać się większego podobieństwa do działania ludzkiego mózgu – wnioski wyciąganie są na podstawie analizy i obserwacji.
Możliwości zastosowania – rozpoznawanie podobnych obiektów, analiza koszyka zakupowego.
Uczenie przez wzmacnianie (reinforcement learning)
W tym rodzaju uczenia się nie dostarczmy do modelu ani danych wejściowych ani wyjściowych. Jedyne informacje jakie otrzymuje to sygnał wzmocnienia czyli nagrodę w przypadku trafnego wyboru i karę w przypadku błędnie podjętego działania. Kluczem tutaj jest interakcja z otoczeniem. Agent ocenia stan środowiska i na podstawie obserwacji podejmuje działanie które jest nagradzane lub karane. Przykładem obrazującym działanie tego rodzaju algorytmu może być nauka gry w szachy: dobry wybór ruchów jest nagradzany zwycięstwem lub karany porażką w partii. Niewątpliwą zaletą tego podejścia jest fakt, w tym przypadku model może poruszać się w zupełnie nieznanym środowisku i podążając za metodą prób i błędów będzie w stanie radzić sobie w nim coraz lepiej.
Możliwości zastosowania – planowanie strategii w grach, optymalizacja przepustowości ruchu w sieci.
Dane kryją wiele sekretów w postaci cennych informacji, zwłaszcza jeśli dysponujemy ich dużą ilością. Odnajdowanie w nich wzorców, pozwala nam otrzymać nowe informacje i bez względu jaki rodzaj algorytmu zastosujemy może przynieść wiele wymiernych korzyści.