Uczenie maszynowe jest tematem który zyskuje na popularności z każdym dniem. Coraz częściej można usłyszeć, że aplikacja X czy Y zbudowana zostałą z wykorzystaniem algorytmów uczenia maszynowego. Dlatego też w końcu i ja postanowiłem zainteresować się tym tematem. Na dzień dzisiejszy obszar uczenia maszynowego jest dla mnie czymś nowym, a to czego się dowiem, wraz z własnymi przemyśleniami, chciałbym opisać w postaci wpisów na tej stronie.
Czym jest uczenie maszynowe?
Zaskakujące jest to, że w zasadzie nie ma jednej, precyzyjnej definicji czym jest właściwie machine learning. Ogólnie rzecz biorąc, jest to zestaw technik, algorytmów i metod rozwiązywania problemów optymalizacji zadań w jakimś obszarze. Dodatkowo, mechanizmy te są w stanie, na podstawie poprzednich wyników – doskonalić efekty przyszłych wyników.
Jakie są rodzaje uczenia maszynowego?
Uczenie nadzorowane.
Dostarczamy całość danych niezbędnych do nauki. Wszystkie dane są odpowiednio ustrukturyzowane, sparametryzowane i podzielone. Materiał treningowy używany jest do przygotowania odpowiedniej bazy powiązań.
Uczenie nienadzorowane.
W tym przypadku – dostarczamy jedynie dane wejściowe. Zadaniem algorytmu jest automatyczna analiza danych, znalezienie powiązań i wyciągnięcie odpowiednich wniosków. Nie wiemy co jest ostatecznym i poprawnym wynikiem działania algorytmu.
Uczenie ze przez wzmacnianie.
Uczenie przez wzmacnianie daje naszemu algorytmowi zespół danych wejściowych oraz sygnał informujący o „nagrodzie” bądź „karze”. Możemy to porównać np. do gry w grę której zasad nie znamy. Na pewnym etapie nasz algorytm uzyskuje informację o tym, czy jego wnioskowanie jest słuszne czy też błędne. Z każdą kolejną iteracją wyniki działania algorytmu powinny być coraz lepsze.
Gdzie wykorzystujemy uczenie maszynowe?
Uczenie maszynowe jest obecnie coraz cześciej wykorzystywane we wszystkich dziedzinach życia, np:
- mechanizmy autokorekty,
- ocena zdolności kredytowej,
- mechanizmy rekomendacji,
- wirtualni asystenci,
- automatyczna analiza i klasyfikacja danych,
- automatyzacja procesów produkcji,
- automatyzacja procesów zaopatrzenia,
- automatyczne wykrywanie spamu.