Pomiń nawigację

Algorytmy uczenia maszynowego

Wprowadzenie do zagadnień matematycznych i logicznych, na których bazuje uczenie maszynowe.

Co to są algorytmy uczenia maszynowego?

Algorytmy uczenia maszynowego są kodem ułatwiającym eksplorowanie, analizowanie i rozumienie złożonych zestawów danych. Każdy algorytm to skończony zestaw jednoznacznych instrukcji krok po kroku, które może wykonać komputer, aby osiągnąć określony cel. Celem modelu uczenia maszynowego jest ustanowienie lub odnalezienie wzorców, których ludzie mogą używać do przewidywania lub kategoryzowania informacji. Co to jest uczenie maszynowe?

Algorytmy uczenia maszynowego używają parametrów, które są oparte na danych szkoleniowych — podzbiorze danych reprezentującym większy zestaw. Gdy dane szkoleniowe zostaną rozszerzone tak, aby lepiej reprezentowały rzeczywistość, algorytm obliczy dokładniejsze wyniki.

Różne algorytmy analizują dane na różne sposoby. Często grupuje się je według technik uczenia maszynowego, dla których są używane: uczenie nadzorowane, uczenie nienadzorowane i uczenie przez wzmacnianie. Najczęściej używane algorytmy stosują regresję i klasyfikację do przewidywania kategorii docelowych, znajdowania nietypowych punktów danych, przewidywania wartości i odnajdywania podobieństw.

Techniki uczenia maszynowego

Gdy uzyskasz więcej informacji o algorytmach uczenia maszynowego, dowiesz się, że zwykle używają one jednej z trzech technik uczenia maszynowego:

Uczenie nadzorowane

W uczeniu nadzorowanym algorytmy tworzą przewidywania na podstawie przedstawionego zestawu przykładów z etykietami. Ta technika jest przydatna, gdy wiesz, jak powinien wyglądać wynik.

Załóżmy na przykład, że dostarczasz zestaw danych obejmujący populacje miast według roku w ciągu ostatnich 100 lat i chcesz wiedzieć, jaka będzie populacja określonego miasta za cztery lata. Na potrzeby wyniku są używane etykiety, które już istnieją w zestawie danych: populacja, miasto i rok.

Uczenie nienadzorowane

W uczeniu nienadzorowanym punkty danych nie mają etykiet — algorytm samodzielnie oznacza je etykietami, porządkując dane lub opisując ich strukturę. Ta technika jest przydatna, gdy nie wiesz, jak powinien wyglądać wynik.

Załóżmy na przykład, że dostarczasz dane klientów i chcesz utworzyć segmenty klientów lubiących podobne produkty. Dostarczone dane nie mają etykiet, a etykiety w wyniku są generowane na podstawie podobieństw wykrytych między punktami danych.

Uczenie przez wzmacnianie

Uczenie przez wzmacnianie używa algorytmów, które uczą się na podstawie wyników i decydują, jaką następną akcję należy wykonać. Po każdej akcji algorytm otrzymuje informacje zwrotne, które ułatwiają mu określenie, czy dokonany wybór był poprawny, neutralny, czy niepoprawny. Jest to dobra technika w przypadku zautomatyzowanych systemów, które muszą podejmować wiele drobnych decyzji bez wskazówek człowieka.

Załóżmy na przykład, że projektujesz samochód autonomiczny i chcesz zapewnić, że będzie on działał zgodnie z prawem i zasadami bezpieczeństwa ludzi. Zdobywając doświadczenie i historię wzmocnień, samochód uczy się, jak pozostawać na swoim pasie, przestrzegać ograniczeń prędkości i hamować na widok pieszych.

Co można robić z algorytmami uczenia maszynowego

Algorytmy uczenia maszynowego pomagają odpowiadać na pytania zbyt skomplikowane, aby można było uzyskać odpowiedź przez analizę ręczną. Istnieje wiele różnych typów algorytmów uczenia maszynowego, ale przypadki użycia dla algorytmów uczenia maszynowego zazwyczaj należą do jednej z tych kategorii.

Przewidywanie kategorii docelowej

Algorytmy klasyfikacji z dwiema klasami (binarne) dzielą dane na dwie kategorie. Są one przydatne w przypadku pytań, które mają tylko dwie możliwe odpowiedzi wykluczające się wzajemnie, na przykład pytania typu tak/nie. Na przykład:

  • Czy ta opona ulegnie uszkodzeniu w ciągu następnych 1000 kilometrów: tak lub nie?
  • Co bardziej zwiększa liczbę rekomendacji: bon na 10 zł czy rabat 15%?

Algorytmy klasyfikacji wieloklasowej (wielomianowej) dzielą dane na trzy lub więcej kategorii. Są one przydatne w przypadku pytań mających trzy lub więcej możliwych odpowiedzi, które wzajemnie się wykluczają. Na przykład:

  • W którym miesiącu większość podróżnych kupuje bilety lotnicze?
  • Jakich emocji doznaje osoba widoczna na tym zdjęciu?

Znajdowanie nietypowych punktów danych

Algorytmy wykrywania anomalii identyfikują punkty danych, które wykraczają poza zdefiniowane parametry „normalnych” danych. Za pomocą algorytmów wykrywania anomalii można na przykład odpowiadać na pytania takie jak:

  • Gdzie znajdują się wadliwe części w tej partii?
  • Które zakupy kartami kredytowymi mogą być fałszywe?

Przewidywanie wartości

Algorytmy regresji przewidują wartość nowego punktu danych na podstawie danych historycznych. Ułatwiają one odpowiadanie na pytania takie jak:

  • Ile będzie średnio kosztować dom z dwiema sypialniami w moim mieście w następnym roku?
  • Ile pacjentów zostanie przyjętych w szpitalu we wtorek?

Zobacz, jak zmieniają się wartości w czasie

Algorytmy szeregów czasowych pokazują, jak dana wartość zmienia się w czasie. Dzięki analizie szeregów czasowych i ich prognozowaniu dane są zbierane w regularnych odstępach czasu i używane do przewidywania oraz identyfikowania trendów, sezonowości, cykliczności oraz nieregularności. Algorytmy szeregów czasowych są używane do udzielania odpowiedzi na pytania, takie jak:

  • Czy cena danego zasobu może wzrosnąć lub spaść w nadchodzącym roku?
  • Jakie będą moje wydatki w następnym roku?

Odkrywanie podobieństw

Algorytmy klastrowania dzielą dane na wiele grup, ustalając poziom podobieństwa między punktami danych. Algorytmy klastrowania sprawdzają się dobrze w przypadku pytań takich jak:

  • Którzy widzowie lubią te same rodzaje filmów?
  • Które modele drukarek ulegają awarii w ten sam sposób?

Klasyfikacja

Algorytmy klasyfikacji używają obliczeń predykcyjnych do przypisywania danych do wstępnie ustawionych kategorii. Algorytmy klasyfikacji są trenowane na danych wejściowych i służą do odpowiedzi na takie pytania, jak:

  • Czy ta wiadomość e-mail jest spamem?
  • Jaka jest tonacja (pozytywna, negatywna lub neutralna) danego tekstu?

Co to są biblioteki uczenia maszynowego?

Biblioteka uczenia maszynowego to zestaw funkcji, struktur, modułów i procedur napisanych w danym języku. Deweloperzy używają kodu w bibliotekach uczenia maszynowego jako bloków konstrukcyjnych do tworzenia rozwiązań uczenia maszynowego, które mogą wykonywać złożone zadania. Zamiast ręcznie kodować każdy algorytm i formułę w rozwiązaniu uczenia maszynowego, deweloperzy mogą znaleźć potrzebne funkcje oraz moduły w jednej z wielu dostępnych bibliotek uczenia maszynowego i wykorzystać je do tworzenia rozwiązania spełniającego ich potrzeby.

Rozpocznij eksperymentowanie z usługą Azure Machine Learning

Poznaj sposoby analizowania danych przez różne algorytmy, tworząc i wdrażając własne modele uczenia maszynowego przy użyciu usługi Azure Machine Learning.