Articles

Applied AI Strategy and Consulting | InnoArchiTech

artykuły z tej serii

  1. przegląd, cele, typy uczenia się i algorytmy

  2. wybór Danych, przygotowanie i modelowanie

  3. ocena modelu, Walidacja, złożoność i doskonalenie

  4. analiza wydajności modelu i błędów

  5. uczenie się bez nadzoru, dziedziny pokrewne i uczenie maszynowe w praktyce

wprowadzenie

witamy! Jest to pierwszy artykuł z pięcioczęściowej serii o uczeniu maszynowym.

Uczenie maszynowe jest bardzo gorącym tematem z wielu kluczowych powodów, a także dlatego, że zapewnia możliwość automatycznego uzyskiwania głębokich wglądów, rozpoznawania nieznanych wzorców i tworzenia wydajnych modeli predykcyjnych na podstawie danych, a wszystko to bez konieczności wyraźnych instrukcji programowania.

pomimo popularności tematu, prawdziwy cel i szczegóły uczenia maszynowego nie są dobrze zrozumiane, z wyjątkiem ludzi bardzo technicznych i/lub naukowców zajmujących się danymi.

Ta seria ma być kompleksowym, dogłębnym przewodnikiem po uczeniu maszynowym i powinna być przydatna dla wszystkich, od kadry kierowniczej po praktyków uczenia maszynowego. Obejmuje on praktycznie wszystkie aspekty uczenia maszynowego (i wiele powiązanych dziedzin) na wysokim poziomie i powinien służyć jako wystarczające wprowadzenie lub odniesienie do terminologii, pojęć, narzędzi, rozważań i technik w tej dziedzinie.

to zrozumienie na wysokim poziomie ma kluczowe znaczenie, jeśli kiedykolwiek bierze udział w procesie decyzyjnym dotyczącym wykorzystania uczenia maszynowego, w jaki sposób może pomóc osiągnąć cele biznesowe i projektowe, jakich technik uczenia maszynowego użyć, potencjalnych pułapek i jak interpretować wyniki.

zauważ, że większość tematów omawianych w tej serii ma również bezpośrednie zastosowanie w takich dziedzinach, jak analiza predykcyjna, eksploracja danych, uczenie statystyczne, sztuczna inteligencja i tak dalej.

Uczenie maszynowe zdefiniowane

często cytowana i powszechnie akceptowana formalna definicja uczenia maszynowego, jak stwierdził pionier w dziedzinie Tom M. Mitchell, to:

mówi się, że program komputerowy uczy się z doświadczenia E w odniesieniu do pewnej klasy zadań T i pomiaru wydajności P, Jeśli jego wydajność w zadaniach w t, mierzona przez P, poprawia się wraz z doświadczeniem e

oto mój mniej formalny sposób opisywania uczenia maszynowego.

Uczenie maszynowe jest dziedziną informatyki, ale często jest również określane jako analiza predykcyjna lub modelowanie predykcyjne. Jego celem i zastosowaniem jest budowanie nowych i / lub wykorzystanie istniejących algorytmów do uczenia się na podstawie danych, w celu budowania uogólnialnych modeli dających dokładne prognozy lub znajdowania wzorców, szczególnie w przypadku nowych i niewidocznych podobnych danych.

przegląd procesu uczenia maszynowego

wyobraź sobie zestaw danych jako tabelę, w której wiersze są każdą obserwacją (aka pomiar, punkt danych itp.), a kolumny dla każdej obserwacji reprezentują cechy tej obserwacji i ich wartości.

na początku projektu uczenia maszynowego zbiór danych jest zwykle podzielony na dwa lub trzy podzbiory. Minimalne podzbiory to zestawy danych treningowych i testowych, a często tworzony jest również opcjonalny trzeci zestaw danych walidacyjnych.

Po utworzeniu tych podzbiorów danych z podstawowego zestawu danych, model predykcyjny lub klasyfikator jest szkolony na podstawie danych treningowych, a następnie dokładność predykcyjna modelu jest określana na podstawie danych testowych.

jak wspomniano, uczenie maszynowe wykorzystuje algorytmy do automatycznego modelowania i znajdowania wzorców w danych, zwykle w celu przewidywania pewnych docelowych wyników lub odpowiedzi. Algorytmy te są w dużej mierze oparte na statystyce i optymalizacji matematycznej.

Optymalizacja jest procesem znajdowania najmniejszej lub największej wartości (minima lub Maksima) funkcji, często określanej jako strata lub funkcja kosztowa w przypadku minimalizacji. Jeden z najpopularniejszych algorytmów optymalizacyjnych stosowanych w uczeniu maszynowym nazywa się gradientowym spadaniem, a inny jest znany jako równanie normalne.

w skrócie, uczenie maszynowe polega na automatycznym uczeniu się bardzo dokładnego modelu predykcyjnego lub klasyfikującego lub znajdowaniu nieznanych wzorców w danych, wykorzystując algorytmy uczenia się i techniki optymalizacji.

rodzaje uczenia się

podstawowe kategorie uczenia maszynowego są nadzorowane, nienadzorowane i pół-nadzorowane. W tym artykule skupimy się na dwóch pierwszych.

w uczeniu nadzorowanym dane zawierają modelowaną zmienną odpowiedzi (Etykietę), której celem jest przewidywanie wartości lub klasy niewidocznych danych. Uczenie się bez nadzoru polega na uczeniu się z zestawu danych, który nie ma etykiety ani zmiennej odpowiedzi, a zatem jest bardziej o znajdowaniu wzorców niż przewidywania.

ponieważ jestem wielkim fanem NFL i Chicago Bears, mój zespół pomoże zilustrować tego typu naukę! Załóżmy, że masz mnóstwo danych i statystyk Chicago Bears datowanych od momentu, gdy zespół stał się chartered członkiem NFL (1920) do chwili obecnej (2016).

wyobraź sobie, że każdy wiersz danych jest zasadniczo migawką (lub obserwacją) odpowiednich statystyk dla każdego meczu od 1920 roku. Kolumny w tym przypadku i dane zawarte w każdej z nich reprezentują cechy (wartości) danych i mogą zawierać dane dotyczące funkcji, takie jak data meczu, przeciwnik meczu, zwycięstwa w sezonie, porażki w sezonie, pozycja końcowa sezonu, postsezonowa koja (T/N), statystyki po sezonie i być może statystyki specyficzne dla trzech faz gry: ataku, obrony i drużyn specjalnych.

w przypadku nadzorowanym twoim celem może być wykorzystanie tych danych do przewidywania, czy niedźwiedzie wygrają lub przegrają z określoną drużyną podczas danego meczu i na danym boisku (u siebie lub na wyjeździe). Należy pamiętać, że wszystko może się zdarzyć w piłce nożnej pod względem urazów przed i w czasie gry, warunków pogodowych, złych połączeń sędziowskich i tak dalej, więc weź to po prostu jako przykład zastosowania nadzorowanego uczenia się z odpowiedzią tak lub nie (przewidywanie), w przeciwieństwie do określania prawdopodobieństwa lub prawdopodobieństwa „da Bears” uzyskania wygranej.

ponieważ masz historyczne dane o wygranych i przegranych (odpowiedzi) przeciwko niektórym drużynom na niektórych boiskach piłkarskich, możesz wykorzystać nadzorowane uczenie się, aby stworzyć model do przewidywania.

teraz Załóżmy, że twoim celem jest znalezienie wzorców w danych historycznych i nauczenie się czegoś, czego jeszcze nie znasz, lub grupowanie zespołu w określony sposób w całej historii. Aby to zrobić, uruchom nienadzorowany algorytm uczenia maszynowego, który automatycznie grupuje (grupuje) dane, a następnie analizuje wyniki klastrowania.

po odrobinie analizy można zauważyć, że te automatycznie generowane klastry pozornie grupują zespół w następujące przykładowe kategorie w czasie:

  • silna obrona, słaby atak biegowy, silny atak mijania, słabe zespoły specjalne, koja playoff

  • silna obrona, silny atak biegowy, słaby atak mijania, średnie zespoły specjalne, koja playoff

  • słaba obrona, silny atak wszechstronny, silne zespoły specjalne, chybił trafił do playoffów

  • i tak dalej

przykładem nienadzorowanej analizy klastra byłoby znalezienie potencjalnego powodu, dla którego przegapili play-offy w trzecim klastrze powyżej. Może z powodu słabej obrony? Niedźwiedzie tradycyjnie były silną drużyną defensywną, a niektórzy twierdzą, że obrona wygrywa mistrzostwa. Tak tylko mówię …

w obu przypadkach każda z powyższych klasyfikacji może odnosić się do pewnych ram czasowych, których można się spodziewać. Być może zespół charakteryzował się jedną z tych grup więcej niż raz w całej swojej historii i przez różne okresy czasu.

aby scharakteryzować zespół w ten sposób, bez technik uczenia maszynowego, trzeba by przelać wszystkie historyczne dane i statystyki, ręcznie znaleźć wzorce i przypisać klasyfikacje (klastry) dla każdego roku, biorąc pod uwagę wszystkie dane, i skompilować informacje. To z pewnością nie byłoby szybkie i łatwe zadanie.

Alternatywnie, możesz napisać jawnie zakodowany program do przerzucania danych, który musi wiedzieć, jakie statystyki drużyny wziąć pod uwagę, jakie progi wziąć pod uwagę dla każdej statystyki i tak dalej. Napisanie kodu zajęłoby sporo czasu, a różne programy musiałyby być napisane dla każdego problemu wymagającego odpowiedzi.

lub … możesz użyć algorytmu uczenia maszynowego, aby zrobić to wszystko automatycznie za Ciebie w kilka sekund.

cele i wyniki uczenia maszynowego

algorytmy uczenia maszynowego są używane głównie do następujących typów wyników:

  • klastrowanie (bez nadzoru)

  • klasyfikacja dwu-i wielopoziomowa (nadzorowana)

  • regresja: Univariate, Multivariate, itp. (Nadzorowane)

  • wykrywanie anomalii (nienadzorowane i nadzorowane)

  • Systemy rekomendacji (aka silnik rekomendacji)

specyficzne algorytmy, które są używane dla każdego typu wyjścia, są omówione w następnej sekcji, ale najpierw podajmy ogólny przegląd każdego z powyższych wyjść lub typów problemów.

jak wspomniano, klastrowanie jest nienadzorowaną techniką odkrywania składu i struktury danego zestawu danych. Jest to proces łączenia danych w klastry, aby zobaczyć, jakie grupy powstają, jeśli w ogóle. Każdy klaster charakteryzuje się zamkniętym zestawem punktów danych i centroidem klastra. Centroid klastra jest w zasadzie średnią (średnią) wszystkich punktów danych, które zawiera klaster, we wszystkich funkcjach.

problemy z klasyfikacją polegają na umieszczeniu punktu danych (aka obserwacji) w predefiniowanej klasie lub kategorii. Czasami problemy klasyfikacyjne po prostu przypisują klasę do obserwacji, a w innych przypadkach celem jest oszacowanie prawdopodobieństwa, że obserwacja należy do każdej z podanych klas.

doskonałym przykładem dwuklasowej klasyfikacji jest przypisanie klasy spamu lub szynki do przychodzącej wiadomości e-mail, gdzie szynka oznacza po prostu „nie spam”. Klasyfikacja wieloklasowa oznacza po prostu więcej niż dwie możliwe klasy. Tak więc w przykładzie spamu, być może trzecia klasa byłaby „nieznana”.

regresja to tylko wymyślne słowo mówiące, że model przypisze ciągłą wartość (odpowiedź) obserwacji danych, w przeciwieństwie do dyskretnej klasy. Doskonałym przykładem może być przewidywanie ceny zamknięcia średniej przemysłowej Dow Jones w danym dniu. Wartość ta może być dowolną liczbą, a zatem byłby idealnym kandydatem do regresji.

zauważ, że czasami słowo regresja jest używane w nazwie algorytmu, który jest faktycznie używany do problemów klasyfikacyjnych lub do przewidywania dyskretnej odpowiedzi kategorycznej(np. Dobrym przykładem jest regresja logistyczna, która przewiduje prawdopodobieństwo danej wartości dyskretnej.

innym typem problemu jest wykrywanie anomalii. Chociaż chcielibyśmy myśleć, że dane są dobrze wychowane i rozsądne, niestety często tak nie jest. Czasami występują błędne dane z powodu nieprawidłowego działania lub błędów w pomiarach, a czasami z powodu oszustwa. Innym razem może być tak, że pomiary anomalne wskazują na wadliwy sprzęt lub elektronikę.

czasami anomalie wskazują na prawdziwy problem i nie są łatwe do wyjaśnienia, takie jak wada produkcyjna, a w tym przypadku wykrywanie anomalii zapewnia środek kontroli jakości, a także wgląd w to, czy kroki podjęte w celu zmniejszenia wad zadziałały, czy nie. W obu przypadkach są chwile, w których korzystne jest znalezienie tych anomalnych wartości, a niektóre algorytmy uczenia maszynowego mogą być używane do tego.

ostateczny typ problemu jest rozwiązywany za pomocą systemu rekomendacji lub zwanego również silnikiem rekomendacji. Systemy rekomendacji są rodzajem systemu filtrowania informacji i są przeznaczone do rekomendacji w wielu aplikacjach, w tym w filmach, muzyce, książkach, restauracjach, artykułach, produktach i tak dalej. Dwa najczęstsze podejścia to filtrowanie oparte na treści i oparte na współpracy.

dwa świetne przykłady popularnych silników rekomendacji to te oferowane przez Netflix i Amazon. Netflix wydaje rekomendacje, aby utrzymać zaangażowanie widzów i dostarczać mnóstwo treści do oglądania. Innymi słowy, aby ludzie korzystali z Netflixa. Robią to z ich ” because you watched…”,” Top Picks for Alex „i” Suggestions for you ” rekomendacje.

Amazon robi podobne rzeczy w celu zwiększenia sprzedaży poprzez up-selling, utrzymania sprzedaży poprzez zaangażowanie użytkowników i tak dalej. Robią to poprzez swoje” klienci, którzy kupili ten przedmiot również kupili”,” rekomendacje dla Ciebie, Alex”,” powiązane z oglądanymi przedmiotami „i” więcej przedmiotów do rozważenia ” rekomendacje.

algorytmy uczenia maszynowego

omówiliśmy teraz typy problemów uczenia maszynowego i pożądane wyniki. Teraz przedstawimy ogólny przegląd odpowiednich algorytmów uczenia maszynowego.

oto lista algorytmów, zarówno nadzorowanych, jak i nienadzorowanych, które są bardzo popularne i warte poznania na wysokim poziomie. Zauważ, że niektóre z tych algorytmów zostaną omówione głębiej w dalszej części tej serii.

regresja nadzorowana

  • prosta i wielokrotna regresja liniowa

  • drzewo decyzyjne lub regresja leśna

  • Sztuczne sieci neuronowe

  • regresja porządkowa

  • regresja Poissona

  • metody najbliższego sąsiada (np., k-NN lub K-najbliżsi sąsiedzi)

nadzorowane dwuklasowe & Klasyfikacja wieloklasowa

  • regresja logistyczna i regresja wielomianowa

  • Sztuczne sieci neuronowe

  • drzewo decyzyjne, las i dżungla

  • SVM (Support Vector Machine)

  • metody perceptronowe

  • klasyfikatory Bayesa (np. naiwny Bayes)

  • metody najbliższego sąsiada (np., K-NN lub K-najbliżsi sąsiedzi)

  • jeden przeciw wszystkim multiklasom

bez nadzoru

  • k-oznacza grupowanie

  • hierarchiczne grupowanie

wykrywanie anomalii

  • Maszyna wektorowa wsparcia (jedna klasa)

  • PCA (Principle component analysis)

zauważ, że techniką często stosowaną do poprawy wydajności modelu jest łączenie wyników wielu modeli. Takie podejście wykorzystuje tzw. metody zespołowe, a lasy losowe są doskonałym przykładem (omówione później).

Jeśli nic innego, dobrze jest przynajmniej zapoznać się z nazwami tych popularnych algorytmów i mieć podstawowe pojęcie o rodzaju problemu uczenia maszynowego i rezultatach, do których mogą być dobrze dostosowane.

podsumowanie

Uczenie maszynowe, analiza predykcyjna i inne powiązane tematy to bardzo ekscytujące i potężne dziedziny.

chociaż tematy te mogą być bardzo techniczne, wiele z pojęć związanych z nimi jest stosunkowo prostych do zrozumienia na wysokim poziomie. W wielu przypadkach wystarczy proste zrozumienie, aby prowadzić dyskusje oparte na problemach uczenia maszynowego, projektach, technikach itd.

część druga tej serii przedstawi wprowadzenie do wydajności modelu, obejmie proces uczenia maszynowego i szczegółowo omówi wybór modelu i związane z nim kompromisy.

stay tuned!

o autorze

Alex jest założycielem InnoArchiTech i InnoArchiTech Institute, a także autorem książki AI for People and Business wydanej przez O ’ Reilly Media.