Samouczek uczenia maszynowego dla początkujących: co to jest, podstawy uczenia maszynowego
⚡ Inteligentne podsumowanie
Uczenie maszynowe to rodzina algorytmów komputerowych, które są udoskonalane na podstawie przykładów, a nie poprzez bezpośrednie kodowanie. Łączą dane z narzędziami statystycznymi, aby przewidywać wyniki, które ludzie mogą przekształcić w decyzje umożliwiające podjęcie działań.

Co to jest uczenie maszynowe?
Nauczanie maszynowe to system algorytmów komputerowych, które mogą uczyć się na przykładach poprzez samodoskonalenie, bez konieczności wyraźnego kodowania przez programistę. Uczenie maszynowe jest częścią AI która łączy dane z narzędziami statystycznymi w celu przewidywania wyników, które mogą być wykorzystane do wyciągania użytecznych wniosków.
Przełom nastąpił wraz z ideą, że maszyna może samodzielnie uczyć się na podstawie danych (tj. przykładów), aby generować dokładne wyniki. Uczenie maszynowe jest ściśle powiązane z data mining i bayesowskiego modelowania predykcyjnego. Maszyna otrzymuje dane wejściowe i używa algorytmu do formułowania odpowiedzi.
Typowym zadaniem uczenia maszynowego jest udzielanie rekomendacji. Dla tych, którzy mają Netflix Na koncie wszystkie rekomendacje filmów i seriali oparte są na historycznych danych użytkownika. Firmy technologiczne korzystają z uczenie się bez nadzoru aby poprawić doświadczenie użytkownika poprzez personalizację rekomendacji.
Uczenie maszynowe jest również wykorzystywane w wielu zadaniach, takich jak wykrywanie oszustw, konserwacja predykcyjna, optymalizacja portfela i automatyzacja zadań.
Uczenie maszynowe a programowanie tradycyjne
Tradycyjne programowanie znacząco różni się od uczenia maszynowego. W tradycyjnym programowaniu programista koduje wszystkie reguły we współpracy z ekspertem z branży, dla której tworzone jest oprogramowanie. Każda reguła opiera się na logice; maszyna generuje dane wyjściowe, postępując zgodnie z instrukcją logiczną. Wraz ze wzrostem złożoności systemu konieczne jest napisanie większej liczby reguł, co może szybko stać się niestabilne w utrzymaniu. Poniższy diagram ilustruje ten przepływ, w którym dane i ręcznie napisane reguły trafiają do systemu, a odpowiedzi wychodzą na zewnątrz.

Uczenie maszynowe ma na celu rozwiązanie tego problemu. Maszyna uczy się korelacji danych wejściowych i wyjściowych i sama pisze regułę. Programiści nie muszą pisać nowych reguł za każdym razem, gdy pojawiają się nowe dane. Algorytmy dostosowują się do nowych danych i doświadczeń, aby z czasem zwiększać skuteczność. Drugi diagram jest odwrotnością pierwszego: dane i znane odpowiedzi są wprowadzane, a reguła jest wyprowadzana.
Jak działa uczenie maszynowe?
Mając ten kontrast na uwadze, kolejnym pytaniem jest, co właściwie dzieje się na etapie uczenia się.
Uczenie maszynowe to mózg, w którym odbywa się całe uczenie. Sposób, w jaki maszyna się uczy, jest podobny do sposobu, w jaki uczy się człowiek. Ludzie uczą się z doświadczenia: im więcej wiemy, tym łatwiej jest nam przewidywać. Analogicznie, w obliczu nieznanej sytuacji prawdopodobieństwo sukcesu jest niższe niż w sytuacji znanej. Maszyny są szkolone w ten sam sposób. Aby dokonać trafnej prognozy, maszyna widzi przykład. Kiedy podajemy maszynie podobny przykład, może ona określić wynik. Jednak, podobnie jak człowiek, jeśli otrzyma wcześniej nieznany przykład, maszyna ma trudności z przewidywaniem.
Głównymi celami uczenia maszynowego są uczenie się i wnioskowanie. Przede wszystkim maszyna uczy się poprzez odkrywanie wzorców, a to odkrycie jest możliwe dzięki danym. Kluczowym elementem pracy analityka danych jest staranny dobór danych, które ma dostarczyć maszynie. Lista atrybutów używanych do rozwiązania problemu nazywa się… wektor funkcjiWektor cech można traktować jako podzbiór danych służący do rozwiązania problemu.
Maszyna wykorzystuje algorytmy, aby uprościć rzeczywistość i przekształcić to odkrycie w model. Etap uczenia służy zatem do opisania danych i podsumowania ich w modelu, jak pokazano poniżej.
Na przykład maszyna próbuje zrozumieć związek między zarobkami danej osoby a prawdopodobieństwem pójścia do eleganckiej restauracji. Okazuje się, że maszyna znajduje dodatnią zależność między zarobkami a wizytą w ekskluzywnej restauracji: to jest model.
Wnioskowanie
Po zbudowaniu modelu można przetestować jego wydajność na danych, których wcześniej nie analizowano. Nowe dane są przekształcane w wektor cech, który przechodzi przez model i generuje prognozę. To cenna część uczenia maszynowego. Nie ma potrzeby aktualizowania reguł ani ponownego trenowania modelu — można użyć wcześniej wytrenowanego modelu do wnioskowania na podstawie nowych danych, dokładnie tak, jak pokazano na poniższym diagramie.
Życie programu uczenia maszynowego jest proste i można je podsumować w następujących punktach:
- Zdefiniuj pytanie
- Zbieraj dane
- Wizualizuj dane
- Algorytm pociągu
- Przetestuj algorytm
- Zbieraj opinie
- Udoskonal algorytm
- Powtarzaj kroki od 4 do 7, aż do uzyskania satysfakcjonujących rezultatów
- Użyj modelu, aby dokonać prognozy
Gdy algorytm nabierze wprawy w wyciąganiu właściwych wniosków, stosuje zdobytą wiedzę do nowych zestawów danych.
Nauczanie maszynowe Algorithms i gdzie są używane?
Poniższa tabela grupuje najpopularniejsze algorytmy według rodzaju zadania, które rozwiązują.
Uczenie maszynowe można podzielić na dwa szerokie rodzaje zadań uczenia: nadzorowany oraz bez nadzoruPomiędzy nimi i za nimi znajdują się dwie kolejne rodziny – uczenie półnadzorowane, które łączy mały zestaw oznaczonych elementów z dużym zestawem nieoznaczonym, oraz uczenie się wzmacniania, w którym agent uczy się z nagród, a nie z oznaczonych odpowiedzi.
Nadzorowana nauka
Algorytm wykorzystuje dane treningowe i informacje zwrotne od ludzi, aby poznać związek między danymi wejściowymi a danymi wyjściowymi. Na przykład, praktyk może wykorzystać wydatki marketingowe i prognozę pogody jako dane wejściowe do prognozowania sprzedaży puszek.
Możesz użyć Nadzorowana nauka gdy znane są dane wyjściowe. Algorytm będzie przewidywał na podstawie nowych danych.
Istnieją dwie kategorie uczenia nadzorowanego:
- Zadanie klasyfikacyjne
- Zadanie regresyjne
Klasyfikacja
Wyobraź sobie, że chcesz przewidzieć płeć klienta dla reklamy. Zaczniesz od zebrania danych o wzroście, wadze, pracy, wynagrodzeniu, koszyku zakupowym itd. ze swojej bazy danych klientów. Znasz płeć każdego z klientów i może to być tylko mężczyzna lub kobieta. Celem klasyfikatora jest przypisanie prawdopodobieństwa bycia mężczyzną lub kobietą (tj. etykiety) na podstawie zebranych informacji (tj. cech). Gdy model nauczy się rozpoznawać płeć męską lub żeńską, możesz użyć nowych danych do dokonania prognozy. Na przykład, właśnie otrzymałeś nowe informacje od nieznanego klienta i chcesz wiedzieć, czy klient jest mężczyzną, czy kobietą. Jeśli klasyfikator przewiduje płeć męską = 70%, oznacza to, że algorytm jest w 70% pewien, że ten klient jest mężczyzną i w 30% pewien, że klient jest kobietą.
Etykieta może mieć dwie lub więcej klas. Powyższy przykład uczenia maszynowego ma tylko dwie klasy, ale jeśli klasyfikator musi przewidywać obiekty, może mieć ich dziesiątki (np. szkło, stół, buty — każdy obiekt reprezentuje klasę).
Regresja
Gdy wynik jest wartością ciągłą, zadaniem jest regresja. Na przykład, analityk finansowy może potrzebować prognozować wartość akcji na podstawie szeregu cech, takich jak kapitał własny, poprzednie notowania akcji i wskaźniki makroekonomiczne. System zostanie wytrenowany w celu szacowania ceny akcji z najniższym możliwym błędem.
W poniższej tabeli wymieniono najczęściej spotykane algorytmy nadzorowane i zadania, do których każdy z nich się nadaje.
| Algorytm | OPIS | Typ |
|---|---|---|
| Regresja liniowa | Znajduje sposób na powiązanie każdej cechy z wynikami, aby pomóc przewidzieć przyszłe wartości. | Regresja |
| Regresja logistyczna | Rozszerzenie regresji liniowej stosowane w zadaniach klasyfikacyjnych. Zmienna wyjściowa jest binarna (np. tylko czarny lub biały), a nie ciągła (np. nieskończona lista potencjalnych kolorów). | Klasyfikacja |
| Drzewo decyzyjne | Wysoce interpretowalny model klasyfikacji lub regresji, który dzieli wartości cech danych na gałęzie w węzłach decyzyjnych (np. jeśli cecha jest kolorem, każdy możliwy kolor staje się nową gałęzią) do czasu podjęcia ostatecznej decyzji | Regresja Klasyfikacja |
| Naiwny Bayes | Metoda Bayesa jest metodą klasyfikacji wykorzystującą twierdzenie Bayesa. Twierdzenie aktualizuje wcześniejszą wiedzę o zdarzeniu o niezależne prawdopodobieństwo każdej cechy, która może mieć wpływ na zdarzenie. | Regresja Klasyfikacja |
| Maszyna wektorów nośnych | Do klasyfikacji zazwyczaj używa się maszyny wektorów nośnych (SVM). Algorytm SVM znajduje hiperpłaszczyznę, która optymalnie dzieli klasy. Najlepiej sprawdza się w połączeniu z solverem nieliniowym. | Regresja (niezbyt częsta) Klasyfikacja |
| Losowy las | Algorytm opiera się na drzewie decyzyjnym, co znacząco zwiększa dokładność. Las losowy generuje wiele prostych drzew decyzyjnych i wykorzystuje metodę „głosowania większościowego” do decydowania, która etykieta ma zostać zwrócona. W przypadku zadania klasyfikacji, ostateczną prognozą będzie ta z największą liczbą głosów; w przypadku zadania regresji, ostateczną prognozą jest średnia prognoz ze wszystkich drzew. | Regresja Klasyfikacja |
| AdaBoost | Technika klasyfikacji lub regresji, która wykorzystuje wiele modeli do podjęcia decyzji, ale waży je na podstawie ich dokładności w przewidywaniu wyniku | Regresja Klasyfikacja |
| Drzewa wzmacniające gradient | Drzewa gradientowe to najnowocześniejsza technika klasyfikacji/regresji. Koncentruje się ona na błędach popełnionych przez poprzednie drzewa i stara się je naprawić. | Regresja Klasyfikacja |
Uczenie się bez nadzoru
W uczeniu się bez nadzoru algorytm bada dane wejściowe, nie mając podanej jawnej zmiennej wyjściowej (np. bada dane demograficzne klientów w celu zidentyfikowania wzorców).
Możesz z niego skorzystać, gdy nie wiesz, jak klasyfikować dane i chcesz, aby algorytm znalazł wzorce i pogrupował dane za Ciebie. Poniżej podsumowano główne algorytmy nienadzorowane.
| Nazwa algorytmu | OPIS | Typ |
|---|---|---|
| Grupowanie K-średnich | Umieszcza dane w grupach (k), z których każda zawiera dane o podobnych cechach (określonych przez model, a nie z góry przez ludzi) | ClusterING |
| Model mieszaniny Gaussa | Uogólnienie klasteryzacji metodą k-średnich, zapewniające większą elastyczność w zakresie rozmiaru i kształtu grup (klastrów) | ClusterING |
| Hierarchiczne grupowanie | Dzieli klastry wzdłuż drzewa hierarchicznego, tworząc system klasyfikacji. Można go używać do grupowania klientów posiadających karty lojalnościowe. | ClusterING |
| System rekomendacji | Pomaga zdefiniować odpowiednie dane do sporządzenia rekomendacji. | ClusterING |
| PCA/t-SNE | Najczęściej używane do zmniejszenia wymiarowości danych. Algorytmy redukują liczbę cech do 3 lub 4 wektorów o najwyższych wariancjach. | Zmniejszenie wymiaru |
Jak wybrać algorytm uczenia maszynowego
Istnieje wiele algorytmów uczenia maszynowego, a wybór algorytmu zależy od celu, a nie mody.
W poniższym przykładzie uczenia maszynowego zadaniem jest przewidzenie rodzaju kwiatu spośród trzech odmian. Prognozy opierają się na długości i szerokości płatka. Rysunek przedstawia wyniki dziesięciu różnych algorytmów. Rysunek w lewym górnym rogu przedstawia sam zbiór danych, podzielony na trzy kategorie: czerwony, jasnoniebieski i ciemnoniebieski. Niektóre grupypingWidoczne są s. Na przykład na drugim obrazku wszystko w lewym górnym rogu należy do kategorii czerwonej, środkowa część zawiera mieszankę niepewności i jasnoniebieskiego, a dolna odpowiada kategorii ciemnej. Pozostałe obrazki pokazują, jak różne algorytmy próbują klasyfikować te same dane.
Po wybraniu kandydata jego jakość ocenia się na podstawie danych, których nigdy nie widział, zwykle matryca zamieszania oraz uzyskane na tej podstawie dane dotyczące dokładności, precyzji i czułości.
Wyzwania i ograniczenia uczenia maszynowego
Głównym wyzwaniem uczenia maszynowego jest brak danych lub brak różnorodności w zbiorze danych. Maszyna nie może się uczyć, jeśli nie ma dostępnych danych. Zbiór danych, który nie jest zróżnicowany, również utrudnia maszynie pracę, ponieważ maszyna potrzebuje heterogeniczności, aby uzyskać sensowny wgląd. Rzadko się zdarza, aby algorytm mógł np.tracinformacji, gdy nie ma lub jest niewiele wariantów. Powszechną zasadą jest posiadanie co najmniej 20 obserwacji w grupie, aby pomóc maszynie się uczyć; poniżej tej liczby cierpią zarówno ocena, jak i prognozowanie.
Ilość danych nie jest jedynym ograniczeniem. Modele trenowane na obciążonych danymi historycznymi odtwarzają te błędy, a złożone modele trudno wyjaśnić regulatorowi lub klientowi, a każdy model ulega degradacji wraz ze zmianą świata, na którym został wytrenowany.
Zastosowanie uczenia maszynowego
Powyższe techniki są już stosowane w produkcji w większości branż. Poniższe przykłady dotyczą pomocy ogólnej i dotyczą konkretnych sektorów.
Powiększenie: Uczenie maszynowe wspomaga ludzi w codziennych zadaniach, zarówno w życiu prywatnym, jak i komercyjnym, bez pełnej kontroli nad wynikami. Takie uczenie maszynowe jest wykorzystywane na różne sposoby, takie jak wirtualni asystenci, analiza danych i rozwiązania programowe. Głównym celem jest redukcja błędów spowodowanych przez ludzkie uprzedzenia.
Automatyka: Uczenie maszynowe działa całkowicie autonomicznie w każdej dziedzinie, bez konieczności ingerencji człowieka. Na przykład roboty wykonują kluczowe etapy procesu w zakładach produkcyjnych.
Branża finansowa: Uczenie maszynowe zyskuje na popularności w branży finansowej. Banki wykorzystują je głównie do wyszukiwania wzorców w danych, ale także do zapobiegania oszustwom.
Organizacje rządowe: Rządy wykorzystują uczenie maszynowe do zarządzania bezpieczeństwem publicznym i usługami komunalnymi. Weźmy przykład Chin i ich szeroko zakrojonego programu rozpoznawania twarzy, gdzie aplikacje sztucznej inteligencji Służą do identyfikacji pieszych w niedozwolonym miejscu.
Branża medyczna: Opieka zdrowotna była jedną z pierwszych branż, która zaczęła wykorzystywać uczenie maszynowe, zaczynając od wykrywania obrazów.
Marketing: Sztuczna inteligencja jest szeroko wykorzystywana w marketingu dzięki szerokiemu dostępowi do danych. Przed erą masowych danych naukowcy opracowali zaawansowane narzędzia matematyczne, takie jak analiza bayesowska, służące do szacowania wartości klienta. Wraz z rozwojem danych, działy marketingu wykorzystują sztuczną inteligencję do optymalizacji relacji z klientami i kampanii marketingowych.
Przykład uczenia maszynowego w łańcuchu dostaw
Uczenie maszynowe zapewnia znakomite rezultaty w zakresie rozpoznawania wzorców wizualnych, otwierając wiele potencjalnych zastosowań w zakresie kontroli fizycznej i konserwacji w całej sieci łańcucha dostaw.
Uczenie bez nadzoru pozwala szybko wyszukiwać porównywalne wzorce w zróżnicowanym zbiorze danych. Dzięki temu maszyna może przeprowadzać kontrolę jakości w całym centrum logistycznym i oznaczać przesyłki pod kątem uszkodzeń i zużycia.
Na przykład, IBMPlatforma Watson może określić statekping uszkodzenia kontenera. Watson łączy dane wizualne i systemowe, aby track, generuj raporty i formułuj zalecenia w czasie rzeczywistym.
W przeszłości zarządzający zapasami w dużej mierze polegali na manualnych metodach oceny i prognozowania zapasów. Połączenie technologii big data i uczenia maszynowego umożliwia lepsze techniki prognozowania, z deklarowaną poprawą o 20–30% w porównaniu z tradycyjnymi narzędziami prognostycznymi. W przeliczeniu na sprzedaż przekłada się to na wzrost o 2–3% dzięki potencjalnej redukcji kosztów magazynowania.
Przykład uczenia maszynowego w Google Samochód
Każdy wie Google Samochód. Na dachu samochodu znajdują się lasery, które wskazują jego położenie względem otoczenia. Z przodu znajduje się radar, który informuje samochód o prędkości i ruchu wszystkich pojazdów wokół niego. Wykorzystuje on wszystkie te dane nie tylko do określania sposobu prowadzenia samochodu, ale także do przewidywania działań kierowców na drodze. Imponujące jest to, że samochód przetwarza prawie gigabajt danych na sekundę.
Dlaczego uczenie maszynowe jest ważne?
Uczenie maszynowe jest jak dotąd najlepszym narzędziem do analizy, zrozumienia i identyfikacji wzorców w danych. Jedną z głównych idei uczenia maszynowego jest to, że komputer można wyszkolić do automatyzacji zadań, które byłyby wyczerpujące lub niemożliwe do wykonania dla człowieka. Wyraźnym odstępstwem od tradycyjnej analizy jest to, że uczenie maszynowe może podejmować decyzje przy minimalnej ingerencji człowieka.
Rozważmy następujący przykład: agent detaliczny może oszacować cenę domu, opierając się na osobistym doświadczeniu i znajomości rynku.
Można wyszkolić maszynę, aby przekładała wiedzę eksperta na cechy. Cechy te to wszystkie cechy domu, sąsiedztwo, otoczenie ekonomiczne itd., które wpływają na cenę. Ekspertowi opanowanie sztuki szacowania ceny domu zajęło prawdopodobnie lata, a jego wiedza pogłębia się z każdą sprzedażą.
Aby opanować tę sztukę, maszyna potrzebuje milionów punktów danych (tj. przykładów). Na samym początku nauki popełnia błędy, podobnie jak początkujący sprzedawca. Po zapoznaniu się z wystarczającą liczbą przykładów, maszyna ma wystarczającą wiedzę, aby dokonać szacunków i to z dużą dokładnością. Jest również w stanie korygować swoje błędy w miarę pojawiania się nowych transakcji sprzedaży.
Większość dużych firm zrozumiała wartość uczenia maszynowego i przechowywania danych. McKinsey Global Institute oszacował roczną wartość wszystkich technik analitycznych na 9.5–15.4 biliona dolarów, przypisując około 40% tej kwoty – około 3.5–5.8 biliona dolarów rocznie – zaawansowanym technikom sztucznej inteligencji opartym na głębokich sieciach neuronowych, zgodnie z danymi przedstawionymi w raporcie. Notatki z pogranicza sztucznej inteligencji Badania.
W przypadku, gdy znane są reguły, ale są one nieprecyzyjne, a nie nieobecne, należy zastosować podejście oparte na regułach, takie jak logika rozmyta może być lepszym rozwiązaniem niż wyuczony model, dlatego przed rozpoczęciem projektu często porównuje się te dwie techniki.




