Początki uczenia maszynowego sięgają przełomu lat 50. i 60. Kluczowym momentem w rozwoju tej technologii było powstanie systemu eksperckiego Dendral na Uniwersytecie Stanforda, którego podstawowym zadaniem było ustalanie struktury molekularnej nieznanych chemicznych związków organicznych. Obecnie machine learning jest wykorzystywane w biznesie na szeroką skalę, m.in. do personalizacji ofert sprzedażowych czy identyfikacji nowych form kontaktu z klientami. Potwierdzają to dane SAS, z których wynika, że 68% firm postrzega uczenie maszynowe jako istotny trend technologiczny.
Maszyny uczą się dzięki algorytmom, czyli ciągom zdefiniowanych czynności niezbędnych do pozyskania danej wiedzy. Za każdym razem, gdy system zasilają nowe dane, prezentowane przez niego wyniki są coraz dokładniejsze. Uczenie maszynowe polega głównie na 4 działaniach:
- kategoryzacji / katalogowaniu informacji
- przewidywaniu określonych zdarzeń na podstawie zidentyfikowanych wzorców
- identyfikacji nieznanych do tej pory wzorców i zależności między danymi
- wykrywaniu anomalii oraz nieprzewidywalnych zdarzeń
Różne rodzaje uczenia maszynowego
Uczenie maszynowe nie jest jednolitą technologią. Sposób jej działania zależy w dużej mierze od tego, z jakich algorytmów korzysta i jakimi danymi zostanie zasilona. Eksperci SAS wskazują 4 podstawowe techniki uczenia maszynowego:
- Uczenie nadzorowane (Supervised Learning) – maszyny uczą się na podstawie przykładów. To tak jakby uczniowie otrzymali klucz do testu i zostali poproszeni o jego rozwiązanie. Dane wejściowe są wykorzystywane do wyszukiwania zależności, które służą do rozwiązania określonego problemu. Gdy uda się ustalić pewien wzorzec, jest on wykorzystywany w podobnych przypadkach.
Przykłady zastosowania: zarządzanie ryzykiem; wykrywanie nadużyć; personalizacja interakcji; rozpoznawanie mowy, tekstu i obrazu oraz segmentacji klientów.
- Uczenie częściowo nadzorowane (Semi – Supervised Learning) – w tym przypadku maszyna otrzymuje zarówno dane wejściowe oznaczone (zawierające odpowiadające im dane wyjściowe, konkretne przykłady), jak i nieoznaczone (wymagające przyporządkowania do danych wyjściowych, znalezienia odpowiedzi). Ten rodzaj uczenia maszynowego wykorzystuje się w sytuacjach, gdy organizacja dysponuje zbyt dużą ilością danych lub gdy informacje są na tyle zróżnicowane, że nie sposób przyporządkować odpowiedzi do każdej z nich. System sam proponuje odpowiedzi i jest w stanie stworzyć ogólne wzorce.
Przykłady zastosowania: rozpoznawanie mowy i obrazu, klasyfikacja stron internetowych. - Uczenie nienadzorowane (Unsupervised Learning) – maszyna nie posiada „klucza odpowiedzi” i musi sama analizować dane, szukać wzorców i odnajdywać relacje. Ten rodzaj machine learning najbardziej przypomina sposób działania ludzkiego mózgu, który wyciąga wnioski na podstawie spontanicznej obserwacji i intuicji. Wraz ze wzrostem zbiorów danych prezentowane wnioski są coraz bardziej precyzyjne.
Przykłady zastosowania: analiza koszyka zakupowego, wykrywanie anomalii, rozpoznawanie podobnych obiektów.
- Uczenie wzmocnione (Reinforcement Learning) – maszyna otrzymuje gotowy zestaw dozwolonych działań, reguł i stwierdzeń. Działając w ich ramach, dokonuje analizy i obserwuje ich skutki. Wykorzystuje reguły w taki sposób, aby osiągnąć pożądany efekt. Można to porównać do nauki gry np. w koszykówkę. Zasady określające, kiedy są kroki, faul czy aut pozostają niezmienne. Natomiast to, w jaki sposób drużyna zdobędzie punkt (zawodnik rzuci z dystansu, wbiegnie pod kosz lub poda) zależy od decyzji graczy, którzy podejmują ją na bieżąco.
Przykłady zastosowania: nawigacja (wybór trasy na podstawie informacji o natężeniu ruchu i warunkach na drodze), gaming (dostosowywanie scenariuszy rozgrywki do działań gracza), robotyka (dostosowanie pracy robotów do obłożenia i rodzaju wytwarzanego produktu)
Czego maszyna się nie nauczy?
Mimo ogromnych możliwości i ciągłego udoskonalania uczenia maszynowego, technologia ta ma pewne ograniczenia. Maszyna nie posiada umiejętności kreatywnego myślenia i nie przedstawi spontanicznie hipotezy bez odpowiednich danych. Ponadto nie będzie odbierać nowych, nieznanych bodźców. Każda zmiana danych wpłynie na pracę maszyny. Oznacza to, że można wpłynąć (celowo lub przez pomyłkę) na prezentowane wyniki, manipulując informacjami dostarczanymi do systemu.
Źródło: The Machine Learning Primer