"Standardowa edukacja zapewni Ci przeżycie. Samokształcenie - fortunę".   Jim Rohn

"Jeśli trwacie w nauce mojej, jesteście prawdziwie moimi uczniami i POZNACIE PRAWDĘ ,A PRAWDA WAS WYZWOLI"    - Jezus z Nazaretu

Machine Learning (II)


Praktyczne podejście do nadzorowanego uczenia się w świecie rzeczywistym

Zdolność uczenia się na podstawie obserwacji, którym towarzyszą oznaczone cele lub etykiety, zwykle w celu przewidywania niewidocznych danych, nazywana jest nadzorowanym uczeniem maszynowym. Jeśli cele są kategoriami, problem dotyczy klasyfikacji, a jeśli są wartościami liczbowymi, nazywa się to regresją. W efekcie próbuje się wywnioskować funkcję, która mapuje dane do celu. Nadzorowane uczenie maszynowe jest szeroko stosowane w wielu różnych aplikacjach do uczenia maszynowego, gdy dostępne są oznaczone dane lub etykiety można dodać ręcznie. Podstawowym założeniem nadzorowanego uczenia maszynowego jest to, że wzorce, które są wyuczane z danych wykorzystywanych podczas szkolenia, przejawiają się w jeszcze niewidocznych danych. W tej części omówimy kroki używane do eksploracji, analizy i wstępnego przetwarzania danych przed przejściem do modeli szkoleniowych. Następnie wprowadzimy różne techniki modelowania, od prostych modeli liniowych po złożone modele zespołowe. Przedstawimy różne metryki oceny i kryteria walidacji, które pozwolą nam porównać wydajność modelu. Niektórym dyskusjom towarzyszą krótkie wyjaśnienia matematyczne, które powinny pomóc w precyzyjniejszym wyrażeniu pojęć i zaostrzyć apetyt czytelników bardziej skłonnych matematycznie. Skupimy się na klasyfikacji jako metodzie uczenia się nadzorowanego, ale zasady dotyczą zarówno klasyfikacji, jak i regresji, dwóch szerokich zastosowań uczenia się nadzorowanego. Rozpoczynając od teraz, przedstawimy narzędzia, które pomogą zilustrować, w jaki sposób koncepcje przedstawione w każdej części są wykorzystywane do rozwiązywania problemów związanych z uczeniem maszynowym. Nic tak nie wzmacnia zrozumienia nowo poznanego materiału niż możliwość bezpośredniego zastosowania tego materiału do rzeczywistego problemu. W trakcie tego procesu często uzyskujemy jaśniejsze i bardziej zrozumiałe zrozumienie tematu niż to, co jest możliwe przy pasywnym wchłanianiu samej teorii. Jeśli możliwość nauczenia się nowych narzędzi jest częścią nauki, tym lepiej! Aby osiągnąć ten cel, wprowadzimy zbiór danych klasyfikacyjnych znany większości praktyków zajmujących się nauką o danych i użyjemy go do rozwiązania problemu klasyfikacji, podkreślając jednocześnie proces i metodologie, które kierują rozwiązaniem. W tej części użyjemy RapidMiner i Weka do zbudowania procesu, dzięki któremu uczymy się z jednego, dobrze znanego zbioru danych. RapidMiner to oparty na GUI framework Java, który bardzo ułatwia prowadzenie projektu nauki o danych, od początku do końca, z poziomu narzędzia. Posiada prosty interfejs typu "przeciągnij i upuść" do tworzenia przepływów pracy procesów w celu pozyskiwania i czyszczenia danych, eksploracji i przekształcania funkcji, przeprowadzania szkoleń przy użyciu szerokiego wyboru algorytmów uczenia maszynowego, przeprowadzania walidacji i oceny modeli, stosowania najlepszych modeli do testowania danych, i więcej. Jest to doskonałe narzędzie do nauczenia się, jak sprawić, by różne części procesu współpracowały ze sobą i przyniosły szybkie rezultaty. Weka to kolejny framework oparty na GUI i ma API Java, którego użyjemy do zilustrowania kodowania wymaganego do wykonania analizy. Główne tematy, które omówimy to:

•  Analiza jakości danych
•  Opisowa analiza danych
•  Analiza wizualizacji
•  Transformacja danych i przetwarzanie wstępne
•  Próbkowanie danych
•  Analiza trafności funkcji i redukcja wymiarowości
•  Budowa modelu
•  Ocena modelu, ocena i porównanie

Formalny opis i notacja

Chcielibyśmy wprowadzić pewne zapisy i definicje formalne terminów używanych w uczeniu się nadzorowanym. Będziemy postępować zgodnie z tym zapisem przez resztę książki, jeśli nie zostanie określony, i odpowiednio go rozszerzymy, gdy napotkane zostaną nowe koncepcje. Notacja zapewni precyzyjny i spójny język do opisu terminów sztuki oraz umożliwi szybsze i sprawniejsze zrozumienie tematu.

Instancja: każda obserwacja jest instancją danych. Zwykle zmienna X jest używana do reprezentowania przestrzeni wejściowej. Każda instancja danych ma wiele zmiennych (zwanych również cechami) i jest określana jako x (reprezentacja wektorowa pogrubiona) wymiaru d, gdzie d oznacza liczbę zmiennych lub cech lub atrybutów w każdej instancji. Cechy są przedstawiane jako x = (x1, x2,…xd)T,, gdzie każda wartość jest skalarem, gdy jest numeryczna odpowiadająca wartości cechy.
Etykieta: etykieta (zwana również celem) jest zależną zmienną zainteresowania, ogólnie oznaczoną przez y. W klasyfikacji wartości etykiety są dobrze zdefiniowanymi kategoriami w dziedzinie problemowej; nie muszą być liczbami ani rzeczami, które można zamówić. W regresji etykieta ma wartość rzeczywistą.
Klasyfikacja binarna, w której cel przyjmuje tylko dwie wartości, jest matematycznie reprezentowana jako:

y ∈ {1, -1}

Regresja, w której zmienna przewidywana może przyjąć dowolną wartość w dziedzinie liczb rzeczywistych, jest reprezentowana jako:

y ∈R

Zestaw danych: ogólnie zbiór danych jest oznaczony literą D i składa się z pojedynczych instancji danych i ich etykiet. Instancje są zwykle przedstawiane jako zbiór { x1, x2,…xn}. Etykiety dla każdej instancji są reprezentowane jako zestaw y = {y1,y2,…yd}. Cały zestaw danych oznaczonych etykietami jest reprezentowany jako sparowane elementy w zestawie podanym przez D = {(x1, y1), (x2, y2) … (xn, yn)} gdzie x ∈ Rddla cech o wartościach rzeczywistych.

Analiza jakości danych

Istnieją ograniczenia co do tego, czego można się nauczyć z danych, które mają słabą jakość. Problemy z jakością mogą obejmować między innymi zaszumione dane, brakujące wartości i błędy w etykietowaniu. Dlatego pierwszym krokiem jest zrozumienie danych, które mamy przed sobą, abyśmy mogli określić, jak rozwiązać wszelkie problemy z jakością danych. Czy wartości odstające są jedynie szumem, czy też wskazują na interesujące anomalie w populacji? Czy brakujące dane powinny być obsługiwane w ten sam sposób dla wszystkich funkcji? Jak należy traktować rzadkie cechy? Te i podobne pytania pojawiają się już na wstępie. Jeśli nam się poszczęści, otrzymujemy oczyszczony, dokładnie oznaczony zbiór danych wraz z dokumentacją opisującą elementy danych, rodowód danych i co by było, gdyby dane zostały już poddane transformacji. Taki zbiór danych byłby gotowy do podzielenia na próbki do pociągu, walidacji i testowania, przy użyciu metod opisanych w sekcji Próbkowanie danych. Jeśli jednak dane nie są wyczyszczone i nie nadają się do podzielenia na partycje do naszych celów, musimy najpierw przygotować dane w sposób zgodny z zasadami, zanim będzie można rozpocząć pobieranie próbek. (Znaczenie partycjonowania danych jest wyjaśnione w dalszej części tego rozdziału w sekcji poświęconej trenowaniu, walidacji i zestawom testowym). W kolejnych sekcjach omówimy analizę jakości danych i kroki transformacji, które są potrzebne, zanim będziemy mogli przeanalizować cechy.

Opisowa analiza danych

Kompletną próbkę danych (w tym pociąg, walidację i test) należy przeanalizować i podsumować pod kątem następujących cech. W przypadkach, gdy dane nie są już podzielone na pociąg, walidację i testowanie, zadanie transformacji danych musi zapewnić, że próbki mają podobne cechy i statystyki. Ma to ogromne znaczenie dla zapewnienia, że wytrenowany model może generalizować niewidoczne dane, o czym dowiemy się w sekcji dotyczącej próbkowania danych.

Podstawowa analiza etykiet

Pierwszym krokiem analizy jest zrozumienie rozmieszczenia etykiet w różnych zestawach, a także w danych jako całości. Pomaga to ustalić, czy na przykład występuje nierównowaga w rozkładzie zmiennej docelowej, a jeśli tak, to czy jest ona spójna we wszystkich próbkach. Tak więc pierwszym krokiem jest zwykle ustalenie, ile przykładów w zestawach szkoleniowych i testowych należy do każdej klasy.

Podstawowa analiza cech

Następnym krokiem jest obliczenie statystyk dla każdej funkcji, takiej jak

•  Liczba unikalnych wartości
•  Liczba braków danych: może obejmować liczebności pogrupowane według różnych zastępników brakujących wartości (NA, null,? Itd.).
•  W przypadku kategorii: liczy się w kategoriach obiektów, liczy w kategoriach obiektów według kategorii etykiet, najczęściej występujących kategorii (trybów), trybów według kategorii etykiet i tak dalej.
•  W przypadku liczb: minimum, maksimum, mediana, odchylenie standardowe, wariancja itd.

Analiza cech dostarcza podstawowych spostrzeżeń, które mogą być użytecznym wskaźnikiem brakujących wartości i szumów, które mogą wpływać na proces uczenia się lub wybór algorytmów.

Analiza wizualizacji

Wizualizacja danych to szeroki temat i stale ewoluujący obszar w dziedzinie uczenia maszynowego i eksploracji danych. Omówimy tylko niektóre ważne aspekty wizualizacji, które pomagają nam analizować dane w praktyce.

Analiza cech jednowymiarowych

Celem jest tutaj wizualizacja jednej cechy naraz w odniesieniu do etykiety. Zastosowane techniki są następujące:

Cechy kategorialne: Skumulowane wykresy słupkowe są prostym sposobem pokazania rozkładu każdej kategorii cech między etykietami, gdy problemem jest klasyfikacja.
Cechy ciągłe: Histogramy i wykresy pudełkowe to dwie podstawowe techniki wizualizacji cech ciągłych. Histogramy mają predefiniowane przedziały, których szerokości są albo stałymi interwałami, albo są oparte na obliczeniach używanych do podziału pełnego zakresu wartości obiektu. Następnie zliczana jest liczba wystąpień danych mieszczących się w każdym przedziale, a wysokość przedziału jest dostosowywana na podstawie tej liczby. Istnieją odmiany histogramów, takie jak histogramy względne lub oparte na częstotliwości, histogramy Pareto, histogramy dwuwymiarowe i tak dalej; każda z nich jest niewielką odmianą koncepcji i pozwala na inny wgląd w tę funkcję. Dla tych, którzy chcą dowiedzieć się więcej o tych wariantach, doskonałym źródłem informacji jest artykuł w Wikipedii dotyczący histogramów. Wykresy pudełkowe są kluczową techniką wizualizacji cech numerycznych, ponieważ pokazują rozkłady w postaci percentyli i wartości odstających.

Wielowymiarowa analiza cech

Ideą wielowymiarowej analizy cech jest wizualizacja więcej niż jednej cechy, aby uzyskać wgląd w relacje między nimi. Poniżej wyjaśniono niektóre z dobrze znanych wątków.

•  Wykresy punktowe: Ważna technika umożliwiająca zrozumienie relacji między różnymi cechami oraz między cechami a etykietami. Zwykle dwuwymiarowe wykresy punktowe są używane w praktyce, gdy wymiary tworzą cechy numeryczne. Wyrównanie punktów danych na jakiejś urojonej osi pokazuje korelację, podczas gdy rozproszenie punktów danych nie wykazuje korelacji. Przydatna może być również identyfikacja klastrów w przestrzeni o niższych wymiarach. Wykres bąbelkowy jest odmianą wykresu punktowego, w którym dwie cechy tworzą osie wymiarowe, a trzecia jest proporcjonalna do rozmiaru punktu danych, przy czym wykres daje wygląd pola "bąbelków". Wykresy gęstości pomagają wizualizować jeszcze więcej funkcji razem, wprowadzając kolor punktów danych, kolor tła itd., Aby zapewnić dodatkowe informacje.
•  ScatterPlot Matrix: ScatterPlot Matrix to rozszerzenie wykresów rozrzutu, na których wizualizowane są parami wykresy rozrzutu dla każdej cechy (i etykiety). Umożliwia efektywne porównywanie i przeprowadzanie wielowymiarowej analizy danych wielowymiarowych.
•  Wykresy równoległe: W tej wizualizacji każda cecha jest ułożona liniowo na osi X, a zakresy wartości dla każdej cechy tworzą oś y. Zatem każdy element danych jest reprezentowany jako linia z wartościami dla każdego elementu na osi równoległej. Etykiety klas, jeśli są dostępne, są używane do kolorowania linii Wykresy równoległe zapewniają doskonałe zrozumienie funkcji, które skutecznie oddzielają dane. Wykresy odchyleń są odmianami równoległych wykresów, na których zamiast pokazywać rzeczywiste punkty danych, wykreślane są średnie i odchylenia standardowe. Wykresy Andrewsa to kolejna odmiana wykresów równoległych, w których dane są przekształcane przy użyciu szeregów Fouriera i rzutowane są wartości funkcji odpowiadające każdemu z nich.

Transformacja i wstępne przetwarzanie danych

W tej sekcji zajmiemy się szerokim tematem transformacji danych. Główną ideą transformacji danych jest pobranie danych wejściowych i przekształcenie ich w ostrożny sposób, aby je wyczyścić, wydobyć z nich najistotniejsze informacje i przekształcić je w użyteczną formę do dalszej analizy i uczenia się. Podczas tych przekształceń musimy używać tylko metod zaprojektowanych, pamiętając o tym, aby nie dodawać żadnych błędów ani artefaktów, które mogłyby wpłynąć na integralność danych.

Konstrukcja funkcji

W przypadku niektórych zestawów danych musimy utworzyć więcej funkcji z funkcji, które już otrzymaliśmy. Zazwyczaj pewna forma agregacji jest wykonywana przy użyciu typowych agregatorów, takich jak średnia, suma, minimum lub maksimum, aby utworzyć dodatkowe funkcje. Na przykład w przypadku wykrywania oszustw finansowych zbiory danych dotyczące oszustw związanych z kartami zawierają zwykle zachowania transakcyjne rachunków w różnych okresach czasu, w których rachunki były aktywne. Wykonywanie syntezy behawioralnej, na przykład poprzez przechwytywanie "Sumy kwot za każdym razem, gdy wystąpiła transakcja debetowa, dla każdego rachunku, w ciągu jednego dnia" jest przykładem konstrukcji funkcji, która dodaje nowy wymiar do zbioru danych, zbudowanego na podstawie istniejących funkcji. Ogólnie rzecz biorąc, projektowanie nowych funkcji, które zwiększają moc predykcyjną danych, wymaga wiedzy dziedzinowej i doświadczenia z danymi, co czyni je tak samo sztuką, jak nauką.

Obsługa brakujących wartości

W rzeczywistych zestawach danych często brakuje wielu funkcji. W niektórych przypadkach ich brakuje z powodu błędów w pomiarze, błędów w zapisie lub dlatego, że są niedostępne z powodu różnych okoliczności; na przykład osoby mogą nie ujawniać wieku ani zawodu. Po co w ogóle przejmować się brakującymi wartościami? Jednym ze skrajnych i nierzadkich sposobów radzenia sobie z tym problemem jest zignorowanie zapisów, w których brakuje jakichkolwiek cech, innymi słowy, zachowanie tylko przykładów, które są "pełne". Takie podejście może znacznie zmniejszyć rozmiar zestawu danych, gdy brakujące funkcje są szeroko rozpowszechnione w danych. Jak zobaczymy później, jeśli system, z którym mamy do czynienia, jest złożony, rozmiar zbioru danych może zapewnić nam cenną przewagę. Poza tym często istnieje wartość predykcyjna, którą można wykorzystać nawet w "niepełnych" rekordach, pomimo brakujących wartości, o ile stosujemy odpowiednie środki w celu rozwiązania problemu. Z drugiej strony, można nieświadomie wyrzucać kluczowe informacje, gdy pominięcie samych danych jest znaczące, jak w przypadku celowego wprowadzenia w błąd lub zaciemnienia wniosku o pożyczkę poprzez zatajenie informacji, które mogłyby zostać wykorzystane do ostatecznego ustalenia fides kostnych. Dość powiedzieć, że ważnym krokiem w procesie uczenia się jest przyjęcie jakiegoś systematycznego sposobu radzenia sobie z brakującymi wartościami i zrozumienie konsekwencji decyzji w każdym przypadku. Istnieją algorytmy, takie jak Na?ve Bayes, które są mniej wrażliwe na brakujące wartości, ale ogólnie rzecz biorąc, dobrą praktyką jest traktowanie tych brakujących wartości jako etapu wstępnego przetwarzania danych przed wykonaniem jakiejkolwiek analizy danych. Oto kilka sposobów obsługi brakujących wartości.

Zastępowanie za pomocą środków i trybów: Kiedy zastępujemy brakującą wartość cechy ciągłej wartością średnią tej cechy, nowa średnia wyraźnie pozostaje taka sama. Ale jeśli na średnią duży wpływ mają wartości odstające, lepszym podejściem może być użycie średniej po usunięciu wartości odstających z obliczeń lub zamiast tego użycie mediany lub trybu. Podobnie, gdy cecha jest rzadko reprezentowana w zbiorze danych, średnia wartość może nie mieć znaczenia. W przypadku cech o wartościach jakościowych zastąpienie brakującej wartości tą, która występuje z największą częstością w próbie, jest rozsądnym wyborem. Zastępowanie przez imputację: kiedy imputujemy brakującą wartość, w efekcie konstruujemy klasyfikację lub model regresji cechy i dokonujemy prognozy na podstawie innych cech w rekordzie w celu sklasyfikowania lub oszacowania brakującej wartości.
Imputacja najbliższego sąsiada: w przypadku brakujących wartości cechy kategorialnej traktujemy daną cechę jako cel i trenujemy model KNN, w którym k przyjmuje się jako znaną liczbę odrębnych kategorii. Model ten jest następnie używany do przewidywania brakujących wartości. (Model KNN jest nieparametryczny i przypisuje wartość do "przychodzącej" instancji danych na podstawie funkcji jej sąsiadów - algorytm zostanie opisany w dalszej części tej części, gdy mówimy o modelach nieliniowych).
Imputacja oparta na regresji: w przypadku zmiennych o wartościach ciągłych używamy modeli liniowych, takich jak regresja liniowa, do oszacowania brakujących danych - zasada jest taka sama jak dla wartości jakościowych.
Imputacja zdefiniowana przez użytkownika: W wielu przypadkach najbardziej odpowiednia wartość do przypisania brakujących wartości musi pochodzić z dziedziny problemowej. Na przykład wartość pH 7,0 jest obojętna, wyższa jest zasadowa, a niższa kwaśna. Najbardziej sensowne może być przypisanie neutralnej wartości pH niż średniej lub mediany, a ten wgląd jest przykładem przypisania zdefiniowanego przez użytkownika. Podobnie w przypadku substytucji z normalną temperaturą ciała lub tętnem spoczynkowym - wszystkie są przykładami z medycyny.

Wartości odstające

Postępowanie z wartościami odstającymi wymaga dużo uwagi i analizy. Wartości odstające mogą być szumem lub błędami w danych lub mogą to być anomalne zachowanie będące przedmiotem szczególnego zainteresowania. Ten ostatni przypadek jest szczegółowo omówiony w rozdziale 3, Techniki uczenia maszynowego bez nadzoru. W tym pierwszym przypadku zakładamy, że ekspert dziedzinowy jest przekonany, że wartości są rzeczywiście wartościami odstającymi w pierwszym sensie, to znaczy szumem lub błędnie uzyskanymi lub zarejestrowanymi danymi, które wymagają odpowiedniej obsługi. Poniżej przedstawiono różne techniki wykrywania wartości odstających w danych.

Zakresy międzykwartylowe (IQR): Zakresy międzykwartylowe są miarą zmienności danych lub, równoważnie, rozproszeniem statystycznym. Każda cecha liczbowa jest sortowana na podstawie jej wartości w zbiorze danych, a uporządkowany zbiór jest następnie dzielony na kwartyle. Wartość mediany jest zwykle używana do pomiaru tendencji centralnej. IQR mierzy się jako różnicę między górnym i dolnym kwartylem, Q3-Q1. Za wartości odstające uznaje się ogólnie wartości danych powyżej Q3 + 1,5 •  IQR i poniżej Q1 - 1,5 •  IQR.
Metody oparte na odległości: Najbardziej podstawowa forma metod opartych na odległości wykorzystuje k-najbliższych sąsiadów (k-NN) i metryki odległości do oceny punktów danych. Zwykłym parametrem jest wartość k w k-NN i metryka odległości, taka jak odległość euklidesowa. Punkty danych w najdalszej odległości są uważane za wartości odstające. Istnieje wiele wariantów tych, które wykorzystują lokalne sąsiedztwa, prawdopodobieństwa lub inne czynniki. Mieszane zestawy danych, które mają zarówno cechy jakościowe, jak i liczbowe, mogą wypaczać metryki oparte na odległości.
Metody oparte na gęstości: Metody oparte na gęstości obliczają odsetek punktów danych w danej odległości D, a jeśli odsetek ten jest mniejszy niż określony próg p, jest on uznawany za wartość odstającą. Parametry p i D są uważane za wartości zdefiniowane przez użytkownika; Wyzwanie, jakim jest odpowiedni dobór tych wartości, stanowi jedną z głównych przeszkód w stosowaniu tych metod na etapie przetwarzania wstępnego.
Matematyczna transformacja cechy: W przypadku danych innych niż normalne porównywanie średniej wartości jest wysoce mylące, jak w przypadku występowania wartości odstających. Statystyki nieparametryczne pozwalają nam dokonywać znaczących obserwacji dotyczących mocno wypaczonych danych. Przekształcanie takich wartości za pomocą funkcji logarytmu lub pierwiastka kwadratowego ma tendencję aby znormalizować dane w wielu przypadkach lub uczynić je bardziej podatnymi na testy statystyczne. Transformacje te drastycznie zmieniają kształt rozkładu cechy - na przykład im bardziej ekstremalna wartość odstająca, tym większy efekt transformacji logarytmicznej.
Obsługa wartości odstających przy użyciu niezawodnych algorytmów statystycznych w modelach uczenia maszynowego: wiele algorytmów klasyfikacji, które omówimy w następnej sekcji dotyczącej modelowania, niejawnie lub jawnie obsługuje wartości odstające. Warianty pakowania i przyspieszania, które działają jako ramy meta-learningu, są na ogół odporne na wartości odstające lub zaszumione punkty danych i mogą nie wymagać etapu wstępnego przetwarzania, aby sobie z nimi poradzić.
Normalizacja: Wiele metod opartych na odległościach opartych na algorytmach jest przypadkiem punktowym - jest bardzo wrażliwych na skalę cech. Wstępne przetwarzanie funkcji numerycznych zapewnia, że wszystkie z nich mieszczą się w dobrze zachowanym zakresie. Poniżej podano najbardziej znane techniki normalizacji cech:
Normalizacja Min-Max: W tej technice, biorąc pod uwagę zakres [L, U], który zazwyczaj wynosi [0,1], każda cecha o wartości x jest normalizowana pod względem wartości minimalnej i maksymalnej, odpowiednio xmax i xmin, używając Formuły:



•  Normalizacja Z-Score: W tej technice, znanej również jako standaryzacja, wartości cech są automatycznie transformowane, tak że średnia wynosi 0, a odchylenie standardowe wynosi 1. Technika transformacji jest następująca: dla każdej cechy f, wartość średnia Obliczane są μ(f) i odchylenie standardowe σ(f), a następnie cecha o wartości x jest przekształcana jako:



Dyskretyzacja

Wiele algorytmów może obsługiwać tylko wartości jakościowe lub nominalne, aby były skuteczne, na przykład sieci bayesowskie. W takich przypadkach konieczne staje się podzielenie cech liczbowych na kategorie przy użyciu metod nadzorowanych lub nienadzorowanych. Niektóre z omawianych technik to:

•  Dyskretyzacja przez binning: ta technika jest również nazywana dyskretyzacją równej szerokości. Cała skala danych dla każdej cechy f, począwszy od wartości xmax i xmin, jest podzielona na predefiniowaną liczbę k równych przedziałów, z których każdy ma szerokość w = xmax - xmin / k . "Punkty odcięcia" lub przedziały dyskretyzacji to:

{ xmin + w, xmin + 2w, … xmin + (k-1)w}

•  Dyskretyzacja według częstotliwości: technika ta jest również nazywana dyskretyzacją równej częstotliwości. Cecha jest sortowana, a następnie całe dane są dyskretyzowane w predefiniowanych k przedziałach, tak że każdy przedział zawiera tę samą proporcję. Obie techniki, dyskretyzacja przez binning i dyskretyzację według częstotliwości, cierpią z powodu utraty informacji z powodu wstępnie zdefiniowanej wartości k.
•  Dyskretyzacja przez entropię: biorąc pod uwagę etykiety, entropia jest obliczana dla punktów podziału, w których wartość zmienia się w sposób iteracyjny, tak aby biny przedziałów były jak najczystsze lub rozróżniające. Zapoznaj się z sekcją Techniki oceny cech, aby zapoznać się z teorią i obliczeniami opartymi na entropii (zdobywanie informacji).

Pobieranie próbek danych

Otrzymany zbiór danych może często wymagać rozważnego pobierania próbek, aby skutecznie uczyć się na podstawie danych. Charakterystyka danych, a także cele ćwiczenia modelowania określają, czy pobieranie próbek jest potrzebne, a jeśli tak, to jak się do tego zabrać. Zanim zaczniemy uczyć się na podstawie tych danych, niezwykle ważne jest, aby utworzyć próbki danych pociągu, walidacji i testowania, jak wyjaśniono w tej sekcji.

Czy potrzebne jest pobieranie próbek?

Gdy zbiór danych jest duży, zaszumiony lub przekrzywiony w kierunku jednego typu, ważne staje się pytanie, czy próbkować próbkować, czy nie. Odpowiedź zależy od różnych aspektów, takich jak sam zbiór danych, cel i kryteria oceny zastosowane do wyboru modeli oraz potencjalnie od innych praktycznych względów. W niektórych sytuacjach algorytmy mają problemy ze skalowalnością pamięci i przestrzeni, ale działają skutecznie na próbkach, co mierzy się wydajnością modelu w odniesieniu do celów regresji lub klasyfikacji, które mają osiągnąć. Na przykład SVM skaluje się odpowiednio jako O(n2) i O(n3) w pamięci i czasie treningu. W innych sytuacjach dane są tak niezrównoważone, że wiele algorytmów nie jest wystarczająco solidnych, aby poradzić sobie z pochyleniem. W literaturze krok mający na celu zrównoważenie rozkładu klas w oryginalnym ekstrakcie danych poprzez utworzenie nowych próbek szkoleniowych jest również nazywany ponownym próbkowaniem.

Undersampling i oversampling

Można powiedzieć, że zbiory danych wykazujące wyraźną nierównowagę w rozmieszczeniu klas zawierają wyraźną klasę mniejszościową. Często ta klasa mniejszościowa jest zbiorem przypadków, którymi jesteśmy szczególnie zainteresowani właśnie dlatego, że jej członkowie występują w tak rzadkich przypadkach. Na przykład w przypadku oszustw związanych z kartami kredytowymi mniej niż 0,1% danych dotyczy oszustw. Ta skośność nie sprzyja uczeniu się; w końcu, kiedy staramy się zminimalizować całkowity błąd klasyfikacji, nadajemy równą wagę wszystkim klasom, niezależnie od tego, czy jedna klasa jest niedoreprezentowana w porównaniu z inną. W problemach klasyfikacji binarnej klasę mniejszości nazywamy klasą pozytywną, a klasę większości klasą negatywną, zgodnie z konwencją, której będziemy przestrzegać w dalszej części dyskusji. Undersampling klasy większości jest techniką powszechnie używaną do rozwiązywania problemów ze skośnością danych. Biorąc na przykład oszustwo związane z kartą kredytową, możemy utworzyć różne próbki treningowe z oryginalnego zbioru danych, tak aby każda próbka zawierała wszystkie przypadki oszustw z oryginalnego zbioru danych, podczas gdy przypadki, w których nie doszło do oszustwa, są rozłożone na wszystkie próbki szkoleniowe w pewnych stałych proporcjach. W związku z tym w danym zbiorze uczącym utworzonym za pomocą tej metody klasa większości jest obecnie niedoreprezentowana w porównaniu z oryginalnym skośnym zbiorem danych, skutecznie równoważąc rozkład klas. Próbki szkoleniowe z oznaczonymi pozytywnymi i oznaczonymi negatywnymi przypadkami w stosunkach, powiedzmy, od 1:20 do 1:50 mogą być tworzone w ten sposób, ale należy uważać, aby próbka użytych negatywnych instancji miała podobne cechy jak statystyki danych i dystrybucje głównych zbiorów danych. Powodem stosowania wielu próbek szkoleniowych oraz w różnych proporcjach przypadków pozytywnych i negatywnych jest to, że jakiekolwiek odchylenie próbkowania, które może być obecne, staje się oczywiste. Alternatywnie możemy zdecydować się na przesadną próbę w klasie mniejszości. Tak jak poprzednio, tworzymy wiele próbek, w których instancje z klasy mniejszości zostały wybrane przez próbkowanie z zastąpieniem lub bez zastąpienia z oryginalnego zbioru danych. Podczas próbkowania bez wymiany nie ma powtórzeń między próbkami. Po wymianie niektóre wystąpienia mogą znajdować się w więcej niż jednej próbce. Po tym wstępnym wysianiu próbek możemy uzyskać bardziej zrównoważone rozkłady klas przez losowe pobieranie próbek z zastępowaniem z klasy mniejszości w każdej próbce, aż uzyskamy pożądane proporcje przypadków pozytywnych do negatywnych. Oversampling może być podatny na nadmierne dopasowanie, ponieważ granice decyzyjne klasyfikacji stają się bardziej szczegółowe ze względu na powielone wartości. SMOTE (Synthetic Minority Oversampling Technique) to technika, która łagodzi ten problem poprzez tworzenie syntetycznych punktów danych w szczelinach przestrzeni cech poprzez interpolację między sąsiednimi wystąpieniami klasy dodatniej.

Próbkowanie warstwowe

Tworzenie próbek w taki sposób, aby dane o podobnych cechach były pobierane w takiej samej proporcji, w jakiej pojawiają się w populacji, nazywa się próbkowaniem warstwowym. W klasyfikacji wieloklasowej, jeśli istnieje N klas w określonej proporcji, to próbki są tworzone w taki sposób, że reprezentują każdą klasę w takich samych proporcjach, jak w pierwotnym zbiorze danych. Ogólnie rzecz biorąc, dobrą praktyką jest tworzenie wielu próbek w celu trenowania i testowania modeli w celu walidacji pod kątem błędów w pobieraniu próbek.

Zestaw szkoleniowy, walidacyjny i testowy

Świętym Graalem tworzenia dobrych modeli klasyfikacyjnych jest trenowanie na zestawie dobrej jakości, reprezentatywnych (dane treningowe), dostrojenie parametrów i znalezienie efektywnych modeli (dane walidacyjne), a na końcu oszacowanie wydajności modelu poprzez jego zachowanie na niewidocznych danych (dane testowe). Główną ideą logicznego grupowania jest upewnienie się, że modele są sprawdzane lub testowane na danych, których nie widziano podczas uczenia. W przeciwnym razie zwykły "uczący się na zmianę" może osiągnąć lepsze wyniki niż algorytm. Zdolność algorytmu uczenia się do uogólniania musi być oceniana na zbiorze danych, który różni się od zbioru danych uczących, ale pochodzi z tej samej populacji. Równowaga między usuwaniem zbyt dużej ilości danych ze szkolenia w celu zwiększenia budżetu na walidację i testowanie może skutkować "niedopasowaniem" modeli, czyli brakiem wystarczającej liczby przykładów do tworzenia wzorców, które mogą pomóc w uogólnianiu. Z drugiej strony skrajny wybór polegający na przydzieleniu wszystkich oznaczonych danych do szkolenia i nieprzeprowadzaniu jakiejkolwiek walidacji lub testowania może prowadzić do "overfittingu", czyli modeli, które zbyt wiernie pasują do przykładów i nie dają wystarczających uogólnień. Zazwyczaj w przypadku większości wyzwań związanych z uczeniem maszynowym i rzeczywistych problemów klientów otrzymuje się z góry zestaw szkoleniowy i konfigurację testową w celu oceny wydajności modeli. W przypadku tych zadań jedynym pytaniem jest, jak zweryfikować i znaleźć najbardziej efektywne parametry w zestawie szkoleniowym. W niektórych zadaniach podawany jest tylko oznaczony zbiór danych i musisz wziąć pod uwagę zestawy treningowe, walidacyjne i testowe, aby upewnić się, że modele nie są nadmiernie dopasowane lub niedopasowane do danych. Do modelowania potrzebne są trzy procesy logiczne, a zatem potrzebne są trzy logiczne zbiory danych, a mianowicie szkolenie, walidacja i testowanie. Celem zestawu danych uczących jest przekazanie oznaczonych danych algorytmowi uczącemu w celu zbudowania modeli. Celem zestawu walidacyjnego jest sprawdzenie wpływu parametrów modelu uczącego ocenianego przez uczenie na zestaw walidacyjny. Na koniec, najlepsze parametry lub modele są ponownie trenowane w połączeniu zestawu uczącego i walidacyjnego, aby znaleźć optymalny model, który jest następnie testowany na ślepym zbiorze testowym. Dwie rzeczy wpływają na zdolność uczenia się lub uogólnianie: wybór algorytmu (i jego parametry) oraz liczba danych uczących. Tę zdolność do uogólniania można oszacować za pomocą różnych metryk, w tym błędów przewidywania. Ogólne oszacowanie niewidocznego błędu lub ryzyka modelu przedstawia:



Tutaj Szum jest szumem stochastycznym, Var (G, n) nazywany jest błędem wariancji i jest miarą wrażliwości naszej hipotezy lub algorytmu (G), jeśli otrzymamy różne zestawy danych. Bias2X(G,n) B nazywane jest błędem odchylenia i określa, jak daleko od optymalnego jest najlepszy algorytm w modelu (przeciętny uczeń ze wszystkich możliwych zbiorów danych). Krzywe uczenia się, jak pokazano na rysunkach poniżej , na których wykreślono błędy uczenia i testowania, zachowując algorytm ze stałymi parametrami lub stałą wielkością danych szkoleniowych - wskazują na niedopasowanie lub nadmierne dopasowanie. Gdy rozmiar danych szkoleniowych jest stały, różne algorytmy lub te same algorytmy z różnymi parametrami do wyboru mogą wykazywać różne krzywe uczenia się. Pierwszy rysunek przedstawia dwa przypadki algorytmów na tej samej wielkości danych, dających dwie różne krzywe uczenia się w oparciu o odchylenie i wariancję



Algorytm lub wybór modelu również wpływa na wydajność modelu. Złożony algorytm, z większą liczbą parametrów do dostrojenia, może spowodować nadmierne dopasowanie, podczas gdy prosty algorytm z mniejszą liczbą parametrów może spowodować niedopasowanie. Klasyczny rysunek ilustrujący wydajność i złożoność modelu, gdy rozmiar danych szkoleniowych jest stały, jest następujący:



Walidacja pozwala zbadać przestrzeń parametrów w celu znalezienia modelu, który najlepiej uogólnia. Regularyzacja (zostanie omówiona w modelach liniowych) i walidacja to dwa mechanizmy, które należy stosować w celu zapobiegania nadmiernemu dopasowaniu. Czasami do walidacji stosuje się proces "k-krotnej walidacji krzyżowej", który obejmuje utworzenie k próbek danych i wykorzystanie (k - 1) do trenowania, a pozostałej do przetestowania, powtórzenia k razy w celu uzyskania średniej oceny. Poniższy rysunek przedstawia 5-krotną weryfikację krzyżową jako przykład:



Poniżej przedstawiono niektóre powszechnie używane techniki wykonywania danych ,pobieranie próbek, walidacja i uczenie się:

•  Losowy podział szkolenia, walidacji i testowania: 60, 20, 20. Trenuj na 60%, używaj 20% do walidacji, a następnie połącz zestaw danych trenowania i walidacji, aby wytrenować ostateczny model, który jest używany do testowania na pozostałych 20 %. Podział można wykonać losowo, na podstawie czasu, regionu i tak dalej.
•  Szkolenie, walidacja krzyżowa i testowanie: podziel się na Trenuj i testuj dwa do jednego, przeprowadź walidację za pomocą walidacji krzyżowej na zestawie pociągu, trenuj na całe dwie trzecie i testuj na jednej trzeciej. Podział można wykonać losowo, na podstawie czasu, regionu i tak dalej.
•  Uczenie i walidacja krzyżowa: gdy zbiór uczący jest mały i można dokonać tylko wyboru modelu bez konieczności dostrajania parametrów. Przeprowadź walidację krzyżową na całym zbiorze danych i wybierz najlepsze modele z uczeniem się na całym zbiorze danych.

Analiza trafności funkcji i redukcja wymiarowości

Celem adekwatności i wyboru cech jest znalezienie cech, które są rozróżniające w odniesieniu do zmiennej docelowej i pomoc w zmniejszeniu wymiarów danych. Poprawia to wydajność modelu głównie poprzez złagodzenie skutków przekleństwa wymiarowości i poprzez usunięcie szumu spowodowanego nieistotnymi cechami. Dokładnie oceniając modele w zestawie walidacyjnym z usuniętymi funkcjami i bez nich, możemy zobaczyć wpływ trafności funkcji. Ponieważ wyczerpujące poszukiwanie k cech obejmuje 2 k - 1 zestawy (rozważ wszystkie kombinacje k cech, w których każda cecha jest albo zachowana, albo usunięta, pomijając zdegenerowany przypadek, w którym jej nie ma) odpowiednia liczba modeli które muszą zostać ocenione, mogą stać się przeszkodami, więc potrzebna jest pewna forma heurystycznych technik wyszukiwania. Najpopularniejsze z tych technik zostały opisane poniżej.

Techniki wyszukiwania funkcji

Niektóre z bardzo powszechnych technik wyszukiwania używanych do znajdowania zestawów funkcji to:

•  Wspinaczka do przodu lub na wzniesienie: w tym wyszukiwaniu dodawana jest jedna funkcja na raz, dopóki moduł oceny nie wyświetli żadnych dalszych zmian w wydajności.
•  Wyszukiwanie wstecz: począwszy od całego zestawu, jedna funkcja na raz jest usuwana, aż nie nastąpi poprawa wydajności. Niektóre aplikacje przeplatają techniki do przodu i do tyłu w celu wyszukiwania funkcji.
•  Wyszukiwanie ewolucyjne: różne techniki ewolucyjne, takie jak algorytmy genetyczne, mogą być wykorzystywane jako mechanizm wyszukiwania, a wskaźniki oceny z metod opartych na filtrze lub opakowaniach mogą być używane jako kryterium dopasowania do kierowania procesem.

Techniki oceny cech

Na wysokim poziomie istnieją trzy podstawowe metody oceny cech.

Podejście filtrujące

Podejście to odnosi się do wykorzystania technik bez wykorzystywania algorytmów uczenia maszynowego do oceny. Podstawową ideą podejścia filtrującego jest użycie techniki wyszukiwania w celu wybrania cechy (lub podzbioru cech) i zmierzenia jej ważności za pomocą pewnej miary statystycznej, aż do osiągnięcia kryterium zatrzymania.

Jednoczynnikowy wybór funkcji

To wyszukiwanie jest tak proste, jak uszeregowanie każdej funkcji na podstawie zastosowanej miary statystycznej.

Teoretyczne podejście do informacji

Wszystkie podejścia teoretyczne w zakresie informacji wykorzystują w swej istocie pojęcie mechanizmu entropii. Chodzi o to, że jeśli cecha jest losowo obecna w zbiorze danych, istnieje maksymalna entropia lub, równoważnie, zdolność do kompresji lub kodowania jest niska, a funkcja może być nieistotna. Z drugiej strony, jeśli rozkład wartości cechy jest taki, że pewien zakres wartości jest bardziej rozpowszechniony w jednej klasie w stosunku do innych, to entropia jest zminimalizowana, a cecha jest dyskryminująca. Rzucenie problemu w kategoriach entropii w ten sposób wymaga jakiejś formy dyskretyzacji, aby przekształcić cechy numeryczne w kategorie w celu obliczenia prawdopodobieństw. Rozważmy problem klasyfikacji binarnej z danymi uczącymi DX. Jeśli Xi jest i-tą cechą z v różnymi wartościami kategorialnymi takimi, że DXi = {D1, D2 … Dv}, to informacja lub entropia cechy Xi wynosi:



Tutaj Info (Dj) jest entropią podziału i jest obliczane jako:



Tutaj p+(D) to prawdopodobieństwo, że dane w zbiorze D są w klasie dodatniej, a p_(D) to prawdopodobieństwo, że znajdują się one w klasie ujemnej w tej próbce. Zysk informacji dla funkcji jest obliczany w kategoriach ogólnych informacji i informacji o funkcji jako

InfoGain (Xi) = Info(D) - Info(DXi)

W przypadku obiektów numerycznych wartości są sortowane w kolejności rosnącej, a punkty podziału między sąsiednimi wartościami są traktowane jako odrębne wartości. Im większy spadek entropii, tym większe znaczenie cechy. Zbieranie informacji ma problemy, gdy cecha ma dużą liczbę wartości; wtedy przydaje się współczynnik wzmocnienia. Współczynnik wzmocnienia koryguje przyrost informacji przy dużych podziałach, wprowadzając opcję Podziel informacje. Informacje o podziale funkcji Xi i GainRatio są podawane przez:



Istnieją inne miary zanieczyszczeń, takie jak indeks Giniego nieczystości (jak opisano w sekcji dotyczącej algorytmu drzewa decyzyjnego) i miary oparte na niepewności do obliczania istotności cechy.

Podejście statystyczne

Wybór cech Chi-kwadrat jest jedną z najpowszechniejszych metod selekcji cech, która opiera się na testowaniu hipotez statystycznych. Hipoteza zerowa zakłada, że cecha i zmienna klasowa są od siebie niezależne. Cechy numeryczne są dyskretyzowane, tak że wszystkie cechy mają wartości kategorialne. Tabela awaryjna jest obliczana w następujący sposób:



W powyższej tabeli nij jest liczbą cech o wartości po dyskretyzacji równej xi i wartości klasy j. Sumy wartości są następujące:





Tutaj n to liczba instancji danych, j = P, N to wartość klasy, a i = 1,2,… m indeksuje różne dyskretyzowane wartości cechy, a tabela ma m - 1 stopni swobody. Statystyka Chi-kwadrat jest określona wzorem:



Wartość Chi-kwadrat jest porównywana z progami poziomu ufności do testowania istotności. Na przykład dla i = 2 wartość Chi-kwadrat przy progu 5% wynosi 3,84; jeśli nasza wartość jest mniejsza niż wartość w tabeli 3,83, wówczas wiemy, że funkcja jest interesująca, a hipoteza zerowa zostaje odrzucona.

Wybór funkcji na wielu odmianach

Większość wielowymiarowych metod wyboru cech ma dwa cele: •  Zmniejszenie nadmiarowości między funkcją a innymi wybranymi cechami

•  Zmaksymalizuj znaczenie lub korelację cechy z etykietą klasy

Zadanie znalezienia takich podzbiorów cech nie może być wyczerpujące, ponieważ proces może mieć dużą przestrzeń wyszukiwania. Metody wyszukiwania heurystycznego, takie jak przeszukiwanie wstecz, przeszukiwanie do przodu, wspinaczka górska i algorytmy genetyczne, są zwykle używane do znalezienia podzbioru cech. Następnie zostaną przedstawione dwie bardzo dobrze znane techniki oceny umożliwiające osiągnięcie powyższych celów.

Minimalna redundancja, maksymalne znaczenie (mRMR)

W tej technice cechy numeryczne są często dyskretyzowane - tak jak to ma miejsce w przypadku wstępnego przetwarzania jednozmiennowego - w celu uzyskania odrębnych kategorii wartości. Dla każdego podzbioru S nadmiarowość między dwoma cechami Xi i Xj można zmierzyć jako:



Tutaj MI (Xi . Xjj) = miara wzajemnej informacji między dwoma cechami Xi i Xj. Trafność między cechą Xi a klasą C można zmierzyć jako:



Ponadto te dwa cele można połączyć, aby znaleźć najlepszy podzbiór funkcji, używając:



Wybór cech oparty na korelacji (CFS)

Podstawowa idea jest podobna do poprzedniego przykładu; ogólną wartość podzbioru S mierzy się jako:



Tutaj k to całkowita liczba cech, to średnia korelacja klas elementów a to średnia korelacja między cechami. Licznik podaje współczynnik trafności, podczas gdy mianownik podaje współczynnik nadmiarowości, a zatem celem wyszukiwania jest maksymalizacja ogólnego współczynnika lub Zasługi (S). Istnieją inne techniki, takie jak wybór cech oparty na szybkiej korelacji, który opiera się na tych samych zasadach, ale z różnymi metodami obliczania metryki. Czytelnicy mogą eksperymentować z tą i innymi technikami w Weka. Zaletą podejścia filtrującego jest to, że jego metody są niezależne od algorytmów uczenia się, a zatem nie trzeba wybierać algorytmów i parametrów. Są również szybsze niż podejścia oparte na opakowaniach.

Podejście typu wrapper

Technika wyszukiwania pozostaje taka sama, jak omówiono w podejściu do wyszukiwania cech; zmienia się tylko metoda oceny. W podejściu opakowującym algorytm uczenia maszynowego jest używany do oceny podzbioru funkcji, które są dyskryminujące na podstawie różnych metryk. Algorytm uczenia maszynowego użyty jako metoda opakowująca może być taki sam lub inny niż ten używany do modelowania. Najczęściej w algorytmie uczenia się stosuje się walidację krzyżową. Metryki wydajności, takie jak obszar pod krzywą lub wynik F, otrzymane jako średnia z walidacji krzyżowej, kierują procesem wyszukiwania. Ponieważ koszt szkolenia i oceny modeli jest bardzo wysoki, wybieramy algorytmy o dużej szybkości uczenia, takie jak regresja liniowa, liniowa SVM lub algorytmy oparte na drzewie decyzyjnym. Niektóre metody opakowujące odniosły duży sukces przy użyciu określonych algorytmów, takich jak Random Forest, do pomiaru trafności funkcji.

Podejście wbudowane

To podejście nie wymaga technik wyszukiwania cech. Zamiast wybierania funkcji jako przetwarzania wstępnego, odbywa się to w samym algorytmie uczenia maszynowego. Indukcja reguł, drzewa decyzyjne, losowy las itd. Dokonują wyboru funkcji w ramach algorytmu uczącego. Niektóre algorytmy, takie jak metody oparte na regresji lub SVM, znane jako metody zmniejszania, mogą dodawać do modelu termin regularyzacji, aby przezwyciężyć wpływ hałaśliwych funkcji w zbiorze danych. Regularyzacja oparta na grzbietach i lasso są dobrze znanymi technikami dostępnymi w regresjach, które umożliwiają niejawny wybór cech.

Budowa modelu

W rzeczywistych problemach istnieje wiele ograniczeń związanych z uczeniem się i wiele sposobów oceny wydajności modelu na niewidocznych danych. Każdy algorytm modelowania ma swoje mocne i słabe strony, gdy jest stosowany do danego problemu lub do klasy problemów w określonej dziedzinie. Jest to wyrażone w słynnym twierdzeniu o braku darmowego obiadu (NFLT), które mówi - w przypadku uczenia się nadzorowanego - że uśrednione dla wszystkich rozkładów danych każdy algorytm klasyfikacji działa tak samo dobrze, jak każdy inny, w tym taki, który zawsze wybiera to samo klasa! W tej sekcji omówimy najczęściej używane praktyczne algorytmy, podając szczegóły niezbędne do udzielenia odpowiedzi na pytania, takie jak jakie są dane wejściowe i wyjściowe algorytmu? Jak to działa? Jakie są zalety i ograniczenia, które należy wziąć pod uwagę przy wyborze algorytmu? Dla każdego modelu uwzględnimy przykładowy kod i dane wyjściowe uzyskane z testowania modelu na wybranym zbiorze danych. Powinno to zapewnić czytelnikowi wgląd w proces. Niektóre algorytmy, takie jak sieci neuronowe i uczenie głębokie, sieci bayesowskie, zarabianie strumieniowe itd.

Modele liniowe

Modele liniowe działają dobrze, gdy dane można rozdzielić liniowo. To zawsze powinno być pierwszą rzeczą do ustalenia.

Regresja liniowa

Regresja liniowa może być stosowana zarówno w przypadku problemów klasyfikacyjnych, jak i estymacyjnych. Jest to jedna z najczęściej stosowanych w praktyce metod. Polega na znalezieniu najlepiej dopasowanej hiperpłaszczyzny przechodzącej przez punkty danych.

Algorytm wejścia i wyjścia

Funkcje muszą być numeryczne. Cechy jakościowe są przekształcane przy użyciu różnych technik przetwarzania wstępnego, tak jak wtedy, gdy wartość kategorialna staje się cechą o wartościach 1 i 0. Modele regresji liniowej generują klasę jakościową w klasyfikacji lub wartości liczbowe w regresji. Wiele implementacji podaje również wartości ufności.

Jak to działa?

Model próbuje nauczyć się "hiperpłaszczyzny" w przestrzeni wejściowej, która minimalizuje błąd między punktami danych każdej klasy. Hiperpłaszczyzna w wejściowych wymiarach d, których uczy się model liniowy, jest określona wzorem:



Dwa regiony (klasyfikacja binarna) model dzieli przestrzeń wejściową na i . Przypisując wartość 1 do współrzędnej cechy 0, czyli x0 = 1, wektorową reprezentacją przestrzeni hipotez lub modelu jest:

G(x) = sign(wTx)

Macierz wag można wyprowadzić różnymi metodami, takimi jak zwykłe metody najmniejszych kwadratów lub metody iteracyjne z użyciem notacji macierzowej w następujący sposób:



Tutaj X to macierz wejściowa, a y to etykieta. Jeśli macierz XTX w problemie najmniejszych kwadratów nie ma pełnej rangi lub napotyka różne problemy ze stabilnością numeryczną, rozwiązanie jest modyfikowane jako:



Tutaj λ ∈ R jest dodawany do przekątnej macierzy tożsamości In o rozmiarze (n + 1, n + 1), a reszta wartości jest ustawiona na 0. To rozwiązanie nazywa się regresją grzbietów, a parametr λ teoretycznie kontroluje kompromis między kwadratowa strata i niska norma rozwiązania. Stała λ jest również nazywana stałą regularyzacją i pomaga zapobiegać "nadmiernemu dopasowaniu".

Zalety i ograniczenia

Jest to odpowiednia metoda, aby spróbować uzyskać szczegółowe informacje, gdy istnieje mniej niż 100 funkcji i kilka tysięcy punktów danych. Do pewnego stopnia możliwe do interpretacji, ponieważ wagi dają wgląd w wpływ każdej funkcji. Zakłada zależność liniową, cechy addytywne i nieskorelowane, dlatego nie modeluje złożonych nieliniowych danych ze świata rzeczywistego. Niektóre implementacje regresji liniowej pozwalają na usunięcie cech współliniowych w celu rozwiązania tego problemu. Bardzo podatne na wartości odstające w danych, jeśli występują duże wartości odstające, należy je potraktować przed wykonaniem regresji liniowej. Heteroskedastyczność, czyli nierówne wariancje punktów szkoleniowych, może wpływać na proste modele regresji najmniejszych kwadratów. Aby przezwyciężyć tę sytuację, stosuje się takie techniki, jak ważona metoda najmniejszych kwadratów.

Naive Bayes

W oparciu o regułę Bayesa klasyfikator Naive Bayes zakłada, że cechy danych są od siebie niezależne. Jest szczególnie przydatny w przypadku dużych zbiorów danych i często działa lepiej niż inne, bardziej złożone techniki, pomimo naiwnego założenia o niezależności funkcji.

Algorytm wejścia i wyjścia

Model Na?ve Bayes może przyjmować cechy, które są zarówno kategorialne, jak i ciągłe. Ogólnie rzecz biorąc, wydajność modeli Na?ve Bayes poprawia się, jeśli elementy ciągłe są dyskretne w odpowiednim formacie. Na?ve Bayes generuje klasę i wynik prawdopodobieństwa dla wszystkich wartości klas, co czyni go dobrym klasyfikatorem do oceniania modeli.

Jak to działa?

Jest to algorytm modelowania oparty na prawdopodobieństwie. Podstawową ideą jest użycie reguły Bayesa i mierzenie prawdopodobieństw różnych terminów, jak podano tutaj. Pomiar prawdopodobieństwa można przeprowadzić za pomocą przetwarzania wstępnego, takiego jak dyskretyzacja, przy założeniu określonego rozkładu lub, przy wystarczającej ilości danych, mapowania rozkładu dla cech numerycznych. Reguła Bayesa jest stosowana, aby otrzymać późniejsze prawdopodobieństwo jako przewidywania, a k reprezentuje k-tą klasę:



Zalety i ograniczenia

•  Jest odporny na izolowane zaszumione punkty danych, ponieważ takie punkty są uśredniane podczas szacowania prawdopodobieństwa danych wejściowych.
•  Wyniki probabilistyczne jako wartości ufności z klasyfikacji Bayesa mogą być używane jako modele oceny.
•  Bardzo dobrze radzi sobie z brakami danych, ponieważ nie są one używane do szacowania prawdopodobieństwa.
•  Ponadto jest odporny na nieistotne atrybuty. Jeśli cechy nie są przydatne, rozkład prawdopodobieństwa dla klas będzie jednolity i anuluje się. •  Bardzo dobry pod względem szybkości treningu i pamięci, można go zrównoleglać, ponieważ każde obliczenie prawdopodobieństwa w równaniu jest niezależne od drugiego.
•  Skorelowane funkcje mogą stanowić duży problem podczas korzystania z Na?ve Bayes, ponieważ założenie warunkowej niezależności nie jest już aktualne.
•  Normalny rozkład błędów jest założeniem większości algorytmów optymalizacji.

Regresja logistyczna

Jeśli zastosujemy model regresji liniowej, używając, powiedzmy, metody regresji najmniejszych kwadratów, wyniki należy przekształcić w klasy, powiedzmy 0 i 1. Wiele algorytmów regresji liniowej podaje klasę i ufność jako prawdopodobieństwo. Z reguły, jeśli widzimy, że prawdopodobieństwa regresji liniowej są w większości poza zakresami od 0,2 do 0,8, wówczas algorytm regresji logistycznej może być lepszym wyborem.

Algorytm wejścia i wyjścia

Podobnie jak w przypadku regresji liniowej, wszystkie elementy muszą być numeryczne. Cechy kategorialne należy przekształcić na numeryczne. Podobnie jak w Na?ve Bayes, ten algorytm generuje klasę i prawdopodobieństwo dla każdej klasy i może być używany jako model oceniania.

Jak to działa?

Regresja logistyczna modeluje późniejsze prawdopodobieństwa klas wykorzystujących funkcje liniowe w cechach wejściowych. Model regresji logistycznej dla klasyfikacji binarnej jest podany jako:



Model jest logarytmicznym prawdopodobieństwem lub transformacją logitową modeli liniowych. Wektor wag jest zwykle obliczany przy użyciu różnych metod optymalizacji, takich jak iteracyjna metoda najmniejszych kwadratów z ponownym ważeniem (IRLS) lub metoda Broydena - Fletchera - Goldfarba - Shanno (BFGS) lub ich warianty.

Zalety i ograniczenia

•  Rozwiązanie problemu heteroskedastyczności i pewnej nieliniowości między danymi wejściowymi a wyjściowymi.

•  Nie ma potrzeby zakładania rozkładu normalnego w szacunkach błędu. •  Jest to możliwe do interpretacji, ale mniej niż modele regresji liniowej, ponieważ wymagane jest pewne zrozumienie statystyki. Dostarcza informacji, takich jak iloraz szans, wartości p itd., Które są przydatne w zrozumieniu wpływu cech na klasy, a także przy dokonywaniu niejawnej adekwatności cech na podstawie istotności wartości p. •  W praktyce należy zastosować regularyzację L1 lub L2, aby przezwyciężyć nadmierne dopasowanie w modelach regresji logistycznej.
•  Dostępnych jest wiele algorytmów optymalizacji poprawiających szybkość treningu i niezawodność.

Modele nieliniowe

Następnie omówimy niektóre z dobrze znanych, praktycznych i najczęściej używanych modeli nieliniowych.

Drzewa decyzyjne

Drzewa decyzyjne są również znane jako drzewa klasyfikacyjne i regresyjne (CART). Ich reprezentacją jest drzewo binarne zbudowane przez ocenę nierówności w kategoriach pojedynczego atrybutu w każdym węźle wewnętrznym, przy czym każdy węzeł liścia odpowiada wartości wyjściowej lub klasie wynikającej z decyzji na ścieżce do niego prowadzącej. Gdy zostanie podane nowe dane wejściowe, dane wyjściowe są przewidywane przez przechodzenie przez drzewo, zaczynając od korzenia.

Wejścia i wyjścia algorytmu

Funkcje mogą być zarówno kategoryczne, jak i liczbowe. Generuje klasę jako wynik, a większość implementacji daje wynik lub prawdopodobieństwo przy użyciu estymacji opartej na częstotliwości. Prawdopodobieństwa drzew decyzyjnych nie są gładkimi funkcjami, takimi jak Naiwne Bayes i regresja logistyczna, chociaż są takie rozszerzenia.

Jak to działa?

Ogólnie rzecz biorąc, tworzone jest pojedyncze drzewo, zaczynając od pojedynczych obiektów u podstawy, a decyzje dzielone na gałęzie na podstawie wartości cech, podczas gdy na liściu znajduje się klasa lub więcej obiektów. Należy dokonać wielu wyborów, takich jak liczba drzew, sposób wybierania elementów na poziomie głównym lub na kolejnym poziomie liścia oraz sposób dzielenia wartości elementów, gdy nie są one kategoryczne. Doprowadziło to do powstania wielu różnych algorytmów lub modyfikacji podstawowego drzewa decyzyjnego. Wiele technik podziału wartości cech jest podobnych do tego, co omówiono w sekcji dotyczącej dyskretyzacji. Ogólnie rzecz biorąc, stosuje się jakąś formę przycinania, aby zmniejszyć rozmiar drzewa, co pomaga w rozwiązaniu problemu nadmiernego dopasowania. Indeks Giniego to kolejna popularna technika używana do dzielenia cech. Indeks Giniego danych w zbiorze S wszystkich punktów danych to

gdzie p1, p2 … pk są rozkładem prawdopodobieństwa dla każdej klasy. Jeśli p jest ułamkiem lub prawdopodobieństwem danych w zbiorze S wszystkich punktów danych należących do, powiedzmy, klasy dodatniej, to 1 - p jest ułamkiem dla innej klasy lub stopą błędu w klasyfikacji binarnej. Jeżeli zbiór danych S jest podzielony na r sposoby S1, S2, … Sr, wówczas stopę błędu każdego zestawu można określić ilościowo jako | Si |. Indeks Giniego dla podziału r-way wygląda następująco:



Do selekcji używany jest podział z najniższym indeksem Giniego. Algorytm CART, popularny algorytm drzewa decyzyjnego, wykorzystuje indeks Giniego jako kryteria podziału. Entropię zbioru punktów danych S można obliczyć podobnie jako:



Podobnie, podział oparty na entropii jest obliczany jako:



Im niższa wartość podziału entropii, tym lepsza cecha, i jest to używane w algorytmach drzewa decyzyjnego ID3 i C4.5. Kryteria zatrzymania i kryteria przycinania są ze sobą powiązane. Ideą wczesnego zatrzymania wzrostu drzewa lub przycinania jest ograniczenie "nadmiernego dopasowania" i działa to podobnie do regularyzacji w modelach liniowych i logistycznych. Zwykle zbiór uczący jest podzielony na zestawy do wzrostu drzew i zestawy do przycinania, tak że do przycinania wykorzystywane są różne dane, aby przezwyciężyć wszelkie odchylenia od rosnącego zestawu. Minimalna długość opisu (MDL), która penalizuje złożoność drzewa w oparciu o liczbę węzłów, jest popularną metodologią stosowaną w wielu algorytmach drzew decyzyjnych.



Zalety i ograniczenia

•  Główną zaletą drzew decyzyjnych jest to, że są one dość łatwe do zinterpretowania. Można je rozumieć w kategoriach laika i są szczególnie odpowiednie dla ekspertów w dziedzinie biznesu, aby łatwo zrozumieć dokładny model.
•  Jeśli istnieje duża liczba funkcji, tworzenie drzewa decyzyjnego może zająć dużo czasu, ponieważ zwiększa się złożoność algorytmu.
•  Drzewa decyzyjne mają nieodłączny problem z nadmiernym dopasowaniem. Wiele algorytmów drzew ma opcje przycinania, aby zmniejszyć efekt. Stosowanie technik przycinania i walidacji może w dużym stopniu złagodzić ten problem.
•  Drzewa decyzyjne działają dobrze, gdy istnieje korelacja między cechami.
•  Drzewa decyzyjne tworzą granice równoległe do osi między klasami, których odchylenie może wprowadzać błędy, szczególnie w złożonych, gładkich, nieliniowych granicach.

K-Nearest Neighbors (KNN)

K-Nearest Neighbors należy do gałęzi nieparametrycznych i leniwych algorytmów. Sąsiedzi K-Nearest nie robią żadnych założeń na podstawie danych źródłowych i nie budują ani nie generalizują modeli na podstawie danych szkoleniowych.

Wejścia i wyjścia algorytmu

Chociaż KNN może współpracować z funkcjami kategorialnymi i numerycznymi, obliczanie odległości, które jest podstawą znajdowania sąsiadów, działa lepiej z funkcjami numerycznymi. Normalizacja funkcji numerycznych, aby znajdowały się w tych samych zakresach, jest jednym z wymaganych obowiązkowych kroków. Wyniki KNN są generalnie klasami opartymi na obliczeniach odległości sąsiadów.

Jak to działa?

KNN wykorzystuje całe dane szkoleniowe do przewidywania niewidocznych danych testowych. Gdy prezentowane są niewidoczne dane testowe, KNN wyszukuje K "najbliższych sąsiadów" za pomocą obliczenia odległości i na podstawie sąsiadów oraz miernika określającego kategorię, klasyfikuje nowy punkt. Jeśli weźmiemy pod uwagę dwa wektory reprezentowane przez x1 i x2 odpowiadające dwóm punktom danych, odległość jest obliczana jako:

•  Odległość euklidesowa:



•  Cosinus lub podobieństwo:



Metryka używana do klasyfikowania niewidocznego może być po prostu klasą większości wśród sąsiadów K. Czas uczenia jest niewielki, ponieważ wystarczy zbudować struktury danych do przechowywania danych w taki sposób, aby obliczenia najbliższego sąsiada były zminimalizowane, gdy prezentowane są niewidoczne dane. Algorytm opiera się na wyborze sposobu przechowywania danych ze szkoleniowych punktów danych pod kątem wydajności wyszukiwania sąsiadów, które obliczenia odległości są używane do znalezienia najbliższego sąsiada i które metryki są używane do kategoryzacji na podstawie klas wszystkich sąsiadów. Wybór wartości "K" w KNN za pomocą technik walidacji ma kluczowe znaczenie.



Zalety i ograniczenia

Brak założenia co do podstawowej dystrybucji danych i minimalny czas szkolenia sprawia, że jest to bardzo atrakcyjna metoda uczenia się. KNN wykorzystuje informacje lokalne do obliczania odległości, aw niektórych domenach może dawać wysoce adaptacyjne zachowania. Jest odporny na zaszumione dane treningowe, gdy wybrany jest efektywnie K. Utrzymanie całych danych szkoleniowych do klasyfikacji może być problematyczne w zależności od liczby punktów danych i ograniczeń sprzętowych Liczba cech i przekleństwo wymiarowości wpływa na ten algorytm w większym stopniu, dlatego przed modelowaniem w KNN należy wykonać jakąś formę redukcji wymiarowości lub selekcji cech .

Maszyny wektorów nośnych (SVM)

Mówiąc prościej, maszyny SVM można postrzegać jako klasyfikatory liniowe, które maksymalizują margines między hiperpłaszczyzną oddzielającą a danymi, rozwiązując ograniczony problem optymalizacji. Maszyny SVM radzą sobie nawet z danymi, których nie można rozdzielić liniowo, wywołując transformację do wyższej przestrzeni wymiarowej przy użyciu jąder opisanych później.

Wejścia i wyjścia algorytmu

SVM działa efektywnie tylko z funkcjami numerycznymi, chociaż większość implementacji może obsługiwać funkcje kategorialne z transformacją na numeryczną lub binarną. Normalizacja jest często wyborem, ponieważ pomaga w optymalizacji części treningu. Wyniki SVM są prognozami klas. Istnieją implementacje, które podają szacunki prawdopodobieństwa jako ufności, ale wymaga to znacznego czasu szkolenia, ponieważ używają k-krotnej walidacji krzyżowej do tworzenia oszacowań.

Jak to działa?

W swojej postaci liniowej SVM działa podobnie do klasyfikatora regresji liniowej, w którym liniowa granica decyzji jest wyznaczana między dwiema klasami. Różnica między nimi polega na tym, że w przypadku SVM granica jest rysowana w taki sposób, że "margines" lub odległość między punktami w pobliżu granicy jest zmaksymalizowana. Punkty na granicach są nazywane "wektorami nośnymi". W związku z tym SVM próbuje znaleźć wektor wagi w modelach liniowych podobnie do modelu regresji liniowej, jak podano w następujący sposób:



Wagę w0 reprezentuje tutaj b. SVM dla klasy binarnej y ∈{1, -1} próbuje znaleźć hiperpłaszczyznę:



Hiperpłaszczyzna próbuje oddzielić punkty danych w taki sposób, że wszystkie punkty z klasą leżą po stronie hiperpłaszczyzny jako:



Modele są poddawane maksymalizacji marginesu za pomocą optymalizacji opartej na ograniczeniach z funkcją kary oznaczoną przez C w celu przezwyciężenia błędów oznaczonych przez ξi :



Takie, że yi(w.xi + b) ≥ - 1 - ξi∀ xi) i ξi ≥ 0

Z poprzedniego powodu są one również znane jako klasyfikatory z dużymi marginesami. Oparta na jądrze maszyna SVM przekształca dane wejściowe w hipotetyczną przestrzeń funkcji, w której maszyneria SV działa w sposób liniowy, a granice są rysowane w przestrzeniach funkcji. Funkcja jądra w przekształconej reprezentacji jest określona wzorem:



Tutaj Φ jest transformacją w przestrzeni wejściowej. Można zauważyć, że cała optymalizacja i rozwiązanie SVM pozostaje takie samo, z tym wyjątkiem, że iloczyn skalarny xi ⋅ ˇ xj jest zastępowany przez funkcję jądra k (xi, xj), która jest funkcją obejmującą dwa wektory w inną przestrzeń bez faktycznego przekształcania się w tę przestrzeń. Jest to znane jako sztuczka jądra. Najbardziej znane jądra, które są zwykle używane, to:

•  Jądro Gaussa Radial Basis:



•  Jądro wielomianowe:



•  Sigmoid Kernel:



Wydajność SVM jest bardzo wrażliwa na niektóre parametry optymalizacji i parametry jądra oraz podstawowy parametr SV, taki jak funkcja kosztu C. Techniki wyszukiwania, takie jak przeszukiwanie siatki lub wyszukiwanie ewolucyjne, w połączeniu z technikami walidacji, takimi jak walidacja krzyżowa, są zwykle używane do znajdź najlepsze wartości parametrów.

Zalety i ograniczenia

•  SVM należą do najlepszych pod względem uogólniania, niskiego nadmiernego dopasowania i mają dobre podstawy teoretyczne dla złożonych danych nieliniowych, jeśli parametry są wybrane rozsądnie.
•  Maszyny SVM działają dobrze nawet z dużą liczbą funkcji i mniejszą ilością danych szkoleniowych.
•  Maszyny SVM są mniej wrażliwe na zaszumione dane treningowe.
•  Największą wadą maszyn SVM jest to, że nie można ich zinterpretować.
•  Kolejnym dużym problemem związanym z SVM jest czas szkolenia i wymagania dotyczące pamięci. Są to O (n2) i O (n3) i mogą powodować poważne problemy ze skalowalnością, gdy dane są duże lub występują ograniczenia sprzętowe. Istnieją pewne modyfikacje, które pomagają w zmniejszeniu obu.
•  SVM generalnie działa dobrze w przypadku problemów z klasyfikacją binarną, ale w przypadku problemów z klasyfikacją wieloklasową, chociaż istnieją techniki, takie jak jeden kontra wiele i jeden przeciwko wszystkim, nie jest tak skuteczny, jak niektóre inne klasyfikatory, takie jak drzewa decyzyjne.

Uczenie się zespołowe i meta uczniowie

Łączenie wielu algorytmów lub modeli w celu klasyfikacji zamiast polegania na jednym jest znane jako uczenie zespołowe. Pomaga łączyć różne modele, ponieważ każdy model można rozpatrywać - na wysokim poziomie - jako eksperta w wykrywaniu określonych wzorców w całym zbiorze danych. Każdy uczeń podstawowy może również uczyć się na nieco innych zestawach danych. Na koniec wyniki ze wszystkich modeli są łączone w celu wykonania prognozy. Opierając się na tym, jak podobne są algorytmy używane w połączeniu, w jaki sposób zestaw danych szkoleniowych jest prezentowany każdemu algorytmowi oraz w jaki sposób algorytmy łączą wyniki, aby ostatecznie sklasyfikować niewidoczny zbiór danych, istnieje wiele gałęzi uczenia zespołowego:



Niektóre typowe typy uczenia się zespołowego to:

•  Różne algorytmy uczenia się
•  Te same algorytmy uczenia się, ale z różnymi parametrami do wyboru
•  Różne algorytmy uczenia się w różnych zestawach funkcji
•  Różne algorytmy uczenia się z różnymi danymi treningowymi

Agregacja lub pakowanie Bootstrap

Jest to jedna z najczęściej stosowanych metod zespołowych do dzielenia danych na różne próbki i budowania klasyfikatorów na każdej próbce.

Wejścia i wyjścia algorytmu

Dane wejściowe są ograniczone przez wybór używanego podstawowego ucznia - w przypadku korzystania z drzew decyzyjnych w zasadzie nie ma żadnych ograniczeń. Metoda wyprowadza przynależność do klas wraz z rozkładem prawdopodobieństwa dla klas.

Jak to działa?

Podstawową ideą pakowania w worki jest zastosowanie oszacowania ładowania początkowego do różnych uczniów o dużej wariancji, takich jak drzewa decyzyjne. Metoda bootstrap to dowolna miara statystyczna zależna od losowego próbkowania z wymianą. Całe dane są dzielone na różne próbki przy użyciu metody ładowania początkowego, a dla każdej próbki budowany jest model z wykorzystaniem podstawowego ucznia. Wreszcie, podczas przewidywania, średnią prognozę uzyskuje się przy użyciu większości głosów - jest to jedna technika, którą można połączyć ze wszystkimi uczniami.

Losowy las

Random Forest to ulepszenie w stosunku do podstawowych, workowanych drzew decyzyjnych. Nawet w przypadku pakowania, podstawowe drzewo decyzyjne ma wybór wszystkich funkcji w każdym punkcie podziału podczas tworzenia drzewa. Z tego powodu, nawet przy różnych próbkach, wiele drzew może tworzyć silnie skorelowane podmodele, co powoduje pogorszenie wydajności workowania. Dając losowe funkcje różnym modelom oprócz losowego zestawu danych, korelacja między podmodelami zmniejsza się, a Random Forest wykazuje znacznie lepszą wydajność w porównaniu z podstawowymi drzewami w workach. Każde drzewo w Random Forest rozwija swoją strukturę na podstawie losowych cech, minimalizując w ten sposób odchylenie; łączenie wielu takich drzew na decyzji zmniejsza wariancję. Random Forest jest również używany do mierzenia adekwatności cech poprzez uśrednienie spadku zanieczyszczeń w drzewach i uszeregowanie ich pod względem wszystkich cech, aby nadać im względne znaczenie każdego z nich.

Zalety i ograniczenia

•  Lepsze uogólnienie niż w przypadku pojedynczego ucznia podstawowego. Eliminuje problem nadmiernego dopasowania uczniów do poziomu podstawowego.
•  Interpretowalność workowania jest bardzo niska, ponieważ działa jako meta uczący się, łącząc nawet zinterpretowalnych uczniów.
•  Podobnie jak większość innych osób uczących się w zespołach, Bagging jest odporny na hałas i wartości odstające.
•  Random Forest generalnie nie ma tendencji do nadmiernego dopasowania, biorąc pod uwagę, że dane treningowe są prawidłowe.

Wzmocnienie

Boosting to kolejna popularna forma uczenia się zespołowego, która polega na wykorzystaniu słabego ucznia i iteracyjnym uczeniu się punktów, które są "źle sklasyfikowane" lub trudne do nauczenia. Dlatego idea polega na "wzmocnieniu" trudnych do nauczenia się instancji i sprawieniu, by podstawowi uczniowie skuteczniej poznali granice decyzyjne. Istnieją różne smaki wzmocnienia, takie jak AdaBoost, LogitBoost, ConfidenceBoost, Gradient Boosting i tak dalej. Przedstawiamy tutaj bardzo podstawową formę AdaBoost.

Wejścia i wyjścia algorytmu

Dane wejściowe są ograniczone przez wybór używanego podstawowego ucznia - w przypadku korzystania z drzew decyzyjnych w zasadzie nie ma żadnych ograniczeń. Wyprowadza przynależność do klas wraz z rozkładem prawdopodobieństwa dla klas.

Jak to działa?

Podstawową ideą wspomagania jest iteracyjne ponowne ważenie próbek wejściowych w celu odtworzenia nowej dystrybucji danych do uczenia się modelu od prostego ucznia podstawowego w każdej iteracji. Początkowo wszystkie instancje są jednakowo ważone wagami D0 = 1/n i przy każdej iteracji t populacja jest ponownie próbkowana lub ponownie ważona, , gdzie , a Zt jest stałą normalizacyjną. Ostateczny model działa jako liniowa kombinacja wszystkich modeli poznanych w iteracji:



Ponowne ważenie lub ponowne próbkowanie danych w każdej iteracji opiera się na "błędach"; punkty danych, które powodują błędy, są próbkowane więcej lub mają większe wagi.

Zalety i ograniczenia

•  Lepsze uogólnienie niż podstawowy uczeń i bardzo skutecznie rozwiązuje problem nadmiernego dopasowania.
•  Niektóre algorytmy wzmacniające, takie jak AdaBoost, mogą być podatne na jednolity szum. Istnieją warianty wzmocnienia, takie jak "GentleBoost" i "BrownBoost", które zmniejszają efekt wartości odstających.
•  Boosting ma teoretyczne granice i gwarantuje oszacowanie błędu, co czyni go statystycznie niezawodnym algorytmem.

Ocena modelu, ocena i porównania

Kluczowe pomysły omówione tutaj to:

•  Jak ocenić lub oszacować wydajność klasyfikatora na niewidocznych zbiorach danych, które będzie przewidywał na przyszłych niewidocznych zbiorach danych.
•  Jakie metryki powinniśmy wykorzystać do oceny wydajności modelu?
•  Jak porównujemy algorytmy, jeśli musimy wybierać między nimi?

Ocena modelu

Aby wytrenować model (y), dostroić parametry modelu, wybrać modele i ostatecznie oszacować predykcyjne zachowanie modeli na niewidocznych danych, potrzebujemy wielu zestawów danych. Nie możemy wytrenować modelu na jednym zestawie danych i oszacować jego zachowania na tym samym zestawie danych, ponieważ będzie on miał wyraźne optymistyczne nastawienie, a szacunki prawdopodobnie nie będą pasować do zachowania w niewidocznych danych. Tak więc istnieje przynajmniej potrzeba podzielenia dostępnych danych na zbiory uczące i zestawy testowe. Musimy także dostroić parametry modelu i przetestować efekt strojenia na oddzielnym zbiorze danych, zanim wykonamy testy na zbiorze testowym. Ten sam argument optymistycznego nastawienia i złej oceny ma zastosowanie, jeśli używamy tego samego zbioru danych do uczenia, dostrajania parametrów i testowania. W związku z tym istnieje teoretyczna i praktyczna potrzeba posiadania trzech zestawów danych, tj. Szkolenia, walidacji i testowania. Modele są trenowane na zbiorze uczącym, wpływ różnych parametrów na zbiór uczący jest walidowany na zbiorze walidacyjnym, a sfinalizowany model z wybranymi parametrami jest uruchamiany na zbiorze testowym w celu oceny wydajności modelu na przyszłych niewidocznych danych . Gdy zbiór danych nie jest wystarczająco duży lub jest duży, ale nierównowaga między klasami jest duża, to znaczy jedna klasa występuje tylko w niewielkiej części całej populacji, nie możemy utworzyć zbyt wielu próbek. Przypomnij sobie, że jednym z kroków opisanych w naszej metodologii jest utworzenie różnych próbek danych i zestawów danych. Jeśli łączne dane szkoleniowe są duże i mają duży udział danych i współczynników klas, najczęściej stosowaną opcją jest tworzenie tych trzech zestawów przy użyciu losowego podziału na warstwy. W przypadku niektórych zestawów danych, które wykazują zachowania sezonowe i zależne od czasu, tworzenie zestawów danych na podstawie granic czasowych jest powszechną praktyką. W wielu przypadkach, gdy zbiór danych nie jest wystarczająco duży, mogą zostać utworzone tylko dwie partycje fizyczne, czyli uczące i testujące. Zbiór danych szkoleniowych waha się w przybliżeniu od 66% do 80%, podczas gdy reszta jest używana do testów. Zestaw walidacyjny jest następnie tworzony z zestawu danych uczących przy użyciu techniki k-krotnej walidacji krzyżowej. Zbiór danych uczących jest podzielony na k razy, za każdym razem generując k-1 / k losowych próbek danych testowych treningowych 1 / k, i generowane są średnie metryki wymaganej wydajności. W ten sposób ograniczone dane szkoleniowe są dzielone k razy, a średnia wydajność w różnych podziałach treningu / testowania jest wykorzystywana do oceny wpływu parametrów. Stosowanie 10-krotnej walidacji krzyżowej jest najczęstszą praktyką stosowaną w walidacji krzyżowej.

Metryki oceny modelu

Następną ważną decyzją podczas dostrajania parametrów lub wybierania modeli jest podjęcie decyzji na podstawie określonych wskaźników wydajności. W uczeniu się klasyfikacji dostępne są różne wskaźniki, na podstawie których można oprzeć swoją decyzję, w zależności od wymagań biznesowych. Na przykład w niektórych domenach najważniejszym problemem jest nie przeoczenie ani jednego prawdziwego wyniku pozytywnego, podczas gdy w innych domenach, w których ludzie są zaangażowani w orzekanie o wynikach modeli, posiadanie zbyt wielu fałszywych alarmów jest większym problemem. W niektórych przypadkach posiadanie ogólnej dobrej dokładności jest uważane za ważniejsze. W wysoce niezrównoważonych zbiorach danych, takich jak oszustwa lub ataki cybernetyczne, istnieje tylko kilka instancji jednej klasy i miliony innych klas. W takich przypadkach dokładność daje błędne wskazanie wydajności modelu, a niektóre inne metryki, takie jak precyzja, prawdziwie dodatni współczynnik lub obszar pod krzywą, są używane jako metryki.

Macierz zamieszania i powiązane wskaźniki

Macierz nieporozumień ma kluczowe znaczenie dla definicji szeregu wskaźników wydajności modelu. Mnożenie metryk i terminów synonimicznych jest wynikiem użyteczności różnych wielkości pochodzących z elementów macierzy w różnych dyscyplinach, z których każda podkreśla inny aspekt zachowania modelu. Cztery elementy macierzy to nieprzetworzone liczby wyników fałszywie pozytywnych, fałszywie negatywnych, prawdziwie pozytywnych i prawdziwie negatywnych. Często bardziej interesujące są różne proporcje tych wielkości, prawdziwie dodatni wskaźnik (lub czułość lub przywołanie) i fałszywie dodatni współczynnik (FPR lub 1-swoistość lub Fallout). Dokładność odzwierciedla procent poprawnych prognoz, niezależnie od tego, czy są to klasy 1, czy klasy 0. W przypadku skośnych zestawów danych dokładność nie jest szczególnie przydatna, ponieważ nawet stała predykcja może wydawać się skuteczna.

Krzywe ROC i PRC

Wspomniane wcześniej wskaźniki, takie jak dokładność, precyzja, zapamiętywanie, czułość i swoistość, są agregatami, to znaczy opisują zachowanie całego zbioru danych. W przypadku wielu złożonych problemów często warto dostrzec kompromis między metrykami, takimi jak TP, a powiedzmy FP. Wiele klasyfikatorów, głównie klasyfikatorów opartych na prawdopodobieństwie, oprócz klasyfikacji daje pewność lub prawdopodobieństwo prognozy. Proces uzyskiwania krzywych ROC lub ChRL polega na uruchomieniu niewidocznego zestawu walidacyjnego lub testowego na wyuczonych modelach, a następnie uzyskaniu prognozy i prawdopodobieństwa prognozy. Sortuj prognozy na podstawie ufności w kolejności malejącej. Dla każdego prawdopodobieństwa lub ufności oblicz dwie metryki, ułamek FP (stopa FP) i ułamek TP (stopa TP). Wykreślenie współczynnika TP na osi y i współczynnika FP na osi x daje krzywe ROC. Krzywe ROC losowych klasyfikatorów leżą blisko przekątnej, podczas gdy krzywe ROC dobrych klasyfikatorów zmierzają do lewej górnej części wykresu. Pole pod krzywą (AUC) to obszar zmierzony pod krzywą ROC przy użyciu trapezoidalnego obszaru od 0 do 1 krzywych ROC. Na przykład podczas przeprowadzania walidacji krzyżowej może występować wiele krzywych ROC. Istnieją dwa sposoby uzyskania "średnich" krzywych ROC: po pierwsze, przy użyciu uśredniania pionowego, to znaczy, że średnia TPR jest wykreślana z różną szybkością FP lub po drugie, przy użyciu uśredniania poziomego, to znaczy średnia FPR jest wykreślana z różną szybkością TP. Klasyfikatory, które mają obszar pod krzywymi większy niż 0,8, z reguły są uważane za dobre do przewidywania niewidocznych danych. Krzywe Precyzji Recall lub PRC są podobne do krzywych ROC, ale zamiast TPR w porównaniu z FPR, metryki Precyzja i Recall są wykreślane odpowiednio na osi y i x. Gdy dane są wysoce niezrównoważone, to znaczy krzywe ROC tak naprawdę nie pokazują wpływu, podczas gdy krzywe PRC są bardziej wiarygodne w ocenie wydajności.

Uzyskaj wykresy i krzywe podnoszenia

Wykresy wzrostu i wzrostu są bardziej ukierunkowane na czułość lub prawdziwe pozytywy. Celem tych dwóch wykresów jest pokazanie, w jaki sposób zamiast losowego wyboru, przewidywanie modeli i zaufanie mogą wykrywać lepszą jakość lub prawdziwie pozytywne wyniki w próbce niewidocznych danych. Jest to zwykle bardzo atrakcyjne w przypadku silników wykrywających, które są używane do wykrywania oszustw w przestępstwach finansowych lub zagrożeń w cyberbezpieczeństwie. Wykresy wzmocnienia i krzywe wzrostu podają dokładne szacunki rzeczywistych, prawdziwych pozytywów, które zostaną wykryte w różnych kwartylach lub przedziałach danych ogółem. Zapewni to decydentom biznesowym wgląd w to, ilu badaczy będzie potrzebnych lub ile godzin zostanie poświęconych na wykrycie oszukańczych działań lub cyberataków, a tym samym może zapewnić rzeczywisty zwrot z inwestycji w modele. Proces generowania wykresów wzmocnienia lub krzywych wzrostu ma podobny proces polegający na przeprowadzaniu niewidocznych walidacji lub danych testowych przez modele i uzyskiwaniu prognoz wraz z ufnościami lub prawdopodobieństwami. Obejmuje uszeregowanie prawdopodobieństw w kolejności malejącej i utrzymywanie liczby TP na kwartyl zbioru danych. Wreszcie, histogram zliczeń na kwartyl daje krzywą wzrostu, podczas gdy skumulowana liczba TP dodanych do kwartylu daje wykres zysków. W wielu narzędziach, takich jak RapidMiner, zamiast zgrubnych przedziałów, takich jak kwartyle, w celu uzyskania zliczeń i zliczeń skumulowanych stosuje się ustalone większe odstępy za pomocą binningu.

Porównania modeli

Jeśli chodzi o wybór między algorytmami, czyli właściwych parametrów dla danego algorytmu, porównania dokonujemy albo na różnych zbiorach danych, albo, jak w przypadku walidacji krzyżowej, na różnych podziałach tego samego zbioru danych. Miary testów statystycznych są wykorzystywane przy podejmowaniu decyzji związanych z tymi porównaniami. Podstawową ideą testowania hipotez z klasycznych statystyk jest porównanie dwóch metryk z algorytmów. Hipoteza zerowa zakłada, że nie ma różnicy między algorytmami opartymi na zmierzonych metrykach, dlatego test jest wykonywany w celu zweryfikowania lub odrzucenia hipotezy zerowej na podstawie zmierzonych metryk. Główne pytanie, na które odpowiadają testy statystyczne, brzmi: czy wyniki lub metryki uzyskane przez algorytm są jego rzeczywistą charakterystyką, czy też jest to przypadek? W tej sekcji omówimy najpopularniejsze metody porównywania algorytmów klasyfikacyjnych stosowane w praktycznych scenariuszach.

Porównanie dwóch algorytmów

Ogólny proces polega na szkoleniu algorytmów na tym samym zbiorze uczącym i uruchamianiu modeli na wielu zestawach walidacyjnych, różnych zestawach testowych lub w walidacji krzyżowej, mierzenie wskaźników zainteresowania omawianych wcześniej, takich jak stopa błędów lub obszar pod krzywą, a następnie uzyskanie statystyki metryk dla każdego algorytmu, aby zdecydować, który działał lepiej. Każda metoda ma swoje zalety i wady.

Test McNemara

Jest to test nieparametryczny, dlatego nie przyjmuje żadnych założeń dotyczących danych i rozkładu. Test McNemara tworzy tabelę awaryjną metryki wydajności, takiej jak "błędna klasyfikacja lub błędy", zawierającą:

Liczba błędnych klasyfikacji przez oba algorytmy (c00)

•  Liczba błędnych klasyfikacji według algorytmu G1, ale poprawnie sklasyfikowanych według algorytmu G2 (c01)
•  Liczba błędnych klasyfikacji według algorytmu G2, ale poprawnie sklasyfikowanych według algorytmu G1 (c10)
•  Liczba poprawnie sklasyfikowanych zarówno przez G1, jak i G2 (c11)



Jeśli Χ2 przekracza statystykę Χ21,1-α, możemy odrzucić hipotezę zerową, że dwie metryki wydajności w algorytmach G1 i G2 były równe przy wartości ufności 1 - α.



Jest to test parametryczny i założenie o normalnym rozkładzie obliczonych metryk staje się ważne. Zwykle jest to połączone z procesami walidacji krzyżowej i dla każdego z nich obliczane są wyniki takich metryk, jak obszar pod krzywą lub precyzja lub stopa błędów, a następnie mierzona jest średnia i odchylenie standardowe. Oprócz założenia o rozkładzie normalnym, dodatkowe założenie, że dwie metryki pochodzą z populacji o równej wariancji, może być dużą wadą tej metody.



różnica średnich w metrykach wydajności dwóch algorytmów G1 i G2.



Tutaj di jest różnicą między metrykami wydajności dwóch algorytmów G1 i G2 w próbie i istnieje n prób. Statystyka t jest obliczana przy użyciu średnich różnic i błędów standardowych odchylenia standardowego w następujący sposób i jest porównywana z tabelą dla prawej wartości alfa w celu sprawdzenia istotności:



Test rang ze znakiem Wilcoxona

Najpopularniejszą nieparametryczną metodą testowania dwóch metryk na zbiorach danych jest użycie testu rang ze znakiem Wilcoxona. Algorytmy są uczone na tych samych danych szkoleniowych, a metryki, takie jak współczynnik błędów lub obszar z niedokładnością, są obliczane na podstawie różnych zestawów walidacyjnych lub testowych. Niech di będzie różnicą między metrykami wydajności dwóch klasyfikatorów w i-tej próbie dla N zestawów danych. Różnice są następnie klasyfikowane zgodnie z ich wartościami bezwzględnymi i średnimi rangami związanymi z remisami. Niech R+ będzie sumą rang, w których drugi algorytm uzyskał lepsze wyniki niż pierwszy, a R- będzie sumą rang, w których pierwszy algorytm uzyskał lepsze wyniki niż drugi:



Statystyka Twilcoxon = min(R+,R-) jest następnie porównywana z wartością progową przy alfa, Twilcoxon ≤ Vα aby odrzucić hipotezę.

Porównanie wielu algorytmów

Omówimy teraz dwie najczęściej używane techniki, gdy zaangażowanych jest więcej niż dwa algorytmy i musimy przeprowadzić porównanie wielu algorytmów dla metryk oceny.

Test ANOVA

Są to testy parametryczne, które zakładają rozkład normalny próbek, czyli metryki, które obliczamy dla ocen. Test ANOVA przebiega według tego samego procesu co inne, to znaczy trenuje modele / algorytmy na podobnych zestawach uczących i uruchamia je na różnych zestawach walidacyjnych lub testowych. Główne wielkości obliczane w ANOVA są średnimi metrycznymi dla wydajności każdego algorytmu, a następnie obliczają ogólne średnie metryczne dla wszystkich algorytmów. Niech pij będzie miarą wydajności dla i = 1,2… k oraz j = 1,2… l dla k prób i l klasyfikatorów. Średnia wydajność klasyfikatora j we wszystkich próbach i ogólna średnia wydajność wynosi:



Oceniane są dwa rodzaje zmienności. Pierwsza to zmienność wewnątrzgrupowa, to znaczy całkowite odchylenie każdego algorytmu od ogólnej średniej metryki, a druga to zmienność międzygrupowa, czyli odchylenie średniej metryki każdego algorytmu. Odchylenie wewnątrzgrupowe i zmienność międzygrupowa są używane do obliczenia odpowiedniej sumy kwadratów w ramach i między nimi jako:



Używając dwóch sum kwadratów i obliczenia, takiego jak statystyka F, która jest stosunkiem tych dwóch, test istotności można przeprowadzić przy wartościach alfa, aby zaakceptować lub odrzucić hipotezę zerową:



Testy ANOVA mają te same ograniczenia, co testy t parowane na liniach założeń normalnego rozkładu metryk i przy założeniu, że wariancje są równe.

Test Friedmana

Test Friedmana jest testem nieparametrycznym dla wielu porównań algorytmów i nie zawiera żadnych założeń dotyczących rozkładu danych lub wariancji metryk, które robi ANOVA. Używa rang zamiast wskaźników wydajności bezpośrednio do swoich obliczeń. W każdym zbiorze danych lub próbach algorytmy są sortowane, a najlepszy z nich otrzymuje 1 i tak dalej dla wszystkich klasyfikatorów. Obliczana jest średnia pozycja algorytmu dla n zbiorów danych, powiedzmy Rj. Statystyka Friedmana dotycząca klasyfikatorów l jest obliczana w następujący sposób i porównywana z wartościami alfa, aby zaakceptować lub odrzucić hipotezę zerową:




Machine Learning (I)


Przegląd uczenia maszynowego

Ostatnie lata przyniosły odrodzenie sztucznej inteligencji (AI), a zwłaszcza uczenia maszynowego, zarówno w kręgach akademickich, jak i w przemyśle. W ostatniej dekadzie sztuczna inteligencja odniosła dramatyczne sukcesy, które umknęły praktykom w kolejnych latach, odkąd pierwotna obietnica tej dziedziny ustąpiła względnemu upadkowi, aż do ponownego pojawienia się w ciągu ostatnich kilku lat. To, co umożliwiło te sukcesy, w dużej mierze, to bodziec dostarczony przez potrzebę przetworzenia ogromnych ilości stale rosnących danych, kluczowe postępy algorytmiczne przez zawziętych badaczy zajmujących się głębokim uczeniem oraz nieubłagany wzrost surowej mocy obliczeniowej napędzanej prawem Moore′a. Wśród dziedzin sztucznej inteligencji, które przewodzą odrodzeniu, uczenie maszynowe odnotowało spektakularne zmiany i nadal znajduje najszersze zastosowanie w wielu dziedzinach. Wykorzystanie uczenia maszynowego do pomocy w podejmowaniu złożonych decyzji na najwyższych szczeblach biznesu, a jednocześnie jego ogromny sukces w poprawie dokładności obecnych codziennych aplikacji, takich jak wyszukiwanie, rozpoznawanie mowy i osobiści asystenci na urządzeniach mobilnych telefony, sprawiły, że jego efekty stały się powszechne zarówno w pokoju rodzinnym, jak i sali konferencyjnej. Artykuły wychwalające potęgę głębokiego uczenia się można dziś znaleźć nie tylko w prasie popularno-naukowej i technologicznej, ale także w mediach mainstreamowych. Uczenie maszynowe rzeczywiście stało się wszechobecne w stosunkowo krótkim czasie. Zwykły użytkownik spotyka się z uczeniem maszynowym na wiele sposobów w swoich codziennych działaniach. Większość dostawców poczty e-mail, w tym Yahoo i Gmail, zapewnia użytkownikom automatyczne sortowanie i kategoryzowanie wiadomości e-mail według nagłówków, takich jak spam, śmieci, promocje itp., co jest możliwe dzięki eksploracji tekstu, gałęzi uczenia maszynowego. Podczas zakupów online produktów w witrynach handlu elektronicznego, lub oglądania filmów od dostawców treści, takich jak Netflix, oferowane są rekomendacje dotyczące innych produktów i treści za pośrednictwem tak zwanych systemów rekomendacji. , kolejna gałąź uczenia maszynowego, jako skuteczny sposób na zatrzymanie klientów. Prognozowanie pogody, szacowanie cen nieruchomości, przewidywanie frekwencji wyborczej, a nawet wyników wyborów - wszystko to wykorzystuje jakąś formę uczenia maszynowego, aby spojrzeć w przyszłość. Stale rosnąca dostępność danych i obietnica systemów, które mogą wzbogacić nasze życie, ucząc się na podstawie tych danych, stawiają rosnące zapotrzebowanie na umiejętności ograniczonej siły roboczej specjalistów w dziedzinie nauki o danych. To zapotrzebowanie jest szczególnie dotkliwe dla dobrze wyszkolonych ekspertów, którzy znają się na krajobrazie technik uczenia maszynowego w bardziej popularnych językach, takich jak Java, Python, R i coraz częściej Scala. Na szczęście, dzięki tysiącom współpracowników w społeczności open source, każdy z tych języków ma bogaty i szybko rosnący zestaw bibliotek, frameworków i samouczków, dzięki którym najnowocześniejsze techniki są dostępne dla każdego, kto ma połączenie z Internetem i przeważnie komputer. Java jest ważnym narzędziem rozpowszechniania narzędzi i technologii, zwłaszcza w projektach uczenia maszynowego na dużą skalę, ze względu na swoją dojrzałość i stabilność we wdrożeniach na poziomie korporacyjnym oraz przenośną platformę JVM, nie wspominając już o legionach profesjonalnych programistów, którzy przyjęli to przez lata. W związku z tym opanowanie umiejętności, których obecnie brakuje sile roboczej, zapewni każdemu aspirującemu profesjonaliście pragnącemu wejść w tę dziedzinę wyraźną przewagę na rynku. Być może już stosujesz techniki uczenia maszynowego w swojej pracy zawodowej, a może po prostu interesujesz się tym tematem. Jeśli to czytasz, prawdopodobnie możesz już nagiąć Javę do swojej woli, nie ma problemu, ale teraz czujesz, że jesteś gotowy, aby kopać głębiej i nauczyć się wykorzystywać najlepsze w swojej klasie ramy Java ML Java w swoich następnych projektach data science. Opanowanie przedmiotu, zwłaszcza takiego, który ma tak oczywiste zastosowanie, jak uczenie maszynowe, wymaga czegoś więcej niż zrozumienia jego podstawowych pojęć i znajomości jego matematycznych podstaw. Zanim zaczniemy doskonalić swoje umiejętności, poświęcimy tą część szybkiemu przeglądowi tego, co już wiemy. Dla ambitnych nowicjuszy z niewielkim lub żadnym wcześniejszym kontaktem z tematem, oto nasza rada: upewnij się, że nie pomijasz pozostałej części; zamiast tego użyj go jako odskoczni do głębszego zbadania nieznanych pojęć. W razie potrzeby szukaj zewnętrznych zasobów. Wikipedia je. Następnie wskocz z powrotem. W dalszej części przeanalizujemy następujące kwestie:

•  Historia i definicje
•  Co nie jest uczeniem maszynowym?
•  Pojęcia i terminologia
•  Ważne gałęzie uczenia maszynowego
•  Różne typy danych w uczeniu maszynowym
•  Zastosowania uczenia maszynowego
•  Problemy z uczeniem maszynowym
•  Meta-proces używany w większości projektów uczenia maszynowego
•  Informacje na temat niektórych dobrze znanych narzędzi, interfejsów API i zasobów, z których będziemy korzystać

Uczenie maszynowe - historia i definicja

Trudno jest podać dokładną historię, ale definicja uczenia maszynowego, której używamy dzisiaj, znajduje zastosowanie już w latach sześćdziesiątych XIX wieku. W Rozprawie o metodzie Rene Kartezjusza odwołuje się do automatów i mówi:

Możemy bowiem łatwo zrozumieć, że maszyna jest zbudowana tak, że może ona wypowiadać słowa, a nawet wysyłać na nią pewne cielesne reakcje, które powodują zmianę w jej organach; na przykład, jeśli zostanie dotknięty w jakiejś części, może zapytać, co chcemy mu powiedzieć; jeśli w innej części może zawołać, że jest ranny, i tak dalej.

Alan Turing w swojej słynnej publikacji Computing Machinery and Inteligencja daje podstawowy wgląd w cele uczenia maszynowego, zadając pytanie "Czy maszyny potrafią myśleć?".
Arthur Samuel w 1959 roku napisał: "Uczenie maszynowe to dziedzina nauki, która daje komputerom zdolność uczenia się bez konieczności bezpośredniego programowania". Tom Mitchell w ostatnim czasie podał dokładniejszą definicję uczenia maszynowego: "Mówi się, że program komputerowy uczy się na podstawie doświadczenia E w odniesieniu do pewnego zadania T i pewnej miary wydajności P, jeśli jego wydajność na T, mierzona przez P, poprawia się wraz z doświadczenie E. " Uczenie maszynowe ma związek z kilkoma obszarami:

•  Statystyki: wykorzystuje elementy próbkowania danych, szacowania, testowania hipotez, teorii uczenia się i modelowania statystycznego, aby wymienić tylko kilka
•  Algorytmy i obliczenia: Wykorzystuje podstawowe pojęcia wyszukiwania, przechodzenia, zrównoleglania, obliczeń rozproszonych itp. Z podstaw informatyki
•  Odkrycie baz danych i wiedzy: ze względu na zdolność do przechowywania, pobierania i uzyskiwania dostępu do informacji w różnych formatach
•  Rozpoznawanie wzorców: ze względu na możliwość znajdowania interesujących wzorców z danych do eksploracji, wizualizacji i przewidywania
•  Sztuczna inteligencja: chociaż jest uważana za gałąź sztucznej inteligencji, ma również relacje z innymi gałęziami, takimi jak heurystyka, optymalizacja, obliczenia ewolucyjne i tak dalej

Czym nie jest uczenie maszynowe?

Ważne jest, aby rozpoznać obszary, które mają wspólny związek z uczeniem maszynowym, ale same nie mogą być uważane za część uczenia maszynowego. Niektóre dyscypliny mogą się nakładać w mniejszym lub większym stopniu, ale zasady leżące u podstaw uczenia maszynowego są dość różne:

•  Business Intelligence (BI) i raportowanie: raportowanie kluczowych wskaźników wydajności (KPI), wysyłanie zapytań do OLAP w celu wycinania, wycinania i drążenia danych, pulpitów nawigacyjnych itp., Które tworzą centralne składniki BI, nie są uczeniem maszynowym.
•  Pamięć masowa i ETL: przechowywanie danych i ETL są kluczowymi elementami w każdym procesie uczenia maszynowego, ale same w sobie nie kwalifikują się jako uczenie maszynowe.
•  Pobieranie informacji, wyszukiwanie i zapytania: możliwość pobierania danych lub dokumentów na podstawie kryteriów wyszukiwania lub indeksów, które tworzą podstawy wyszukiwania informacji, tak naprawdę nie są uczeniem maszynowym. Wiele form uczenia maszynowego, takich jak uczenie się częściowo nadzorowane, może polegać na wyszukiwaniu podobnych danych do modelowania, ale to nie kwalifikuje wyszukiwania jako uczenia maszynowego.
•  Reprezentacja wiedzy i rozumowanie: Reprezentowanie wiedzy do wykonywania złożonych zadań, takich jak ontologia, systemy ekspertowe i sieci semantyczne, nie kwalifikuje się jako uczenie maszynowe.

Uczenie maszynowe - pojęcia i terminologia

W tej sekcji opiszemy różne pojęcia i terminy zwykle używane w uczeniu maszynowym:

•  Dane lub zbiór danych: podstawy uczenia maszynowego polegają na zrozumieniu danych. Dane lub zbiór danych zwykle odnoszą się do treści dostępnych w formacie ustrukturyzowanym lub nieustrukturyzowanym do wykorzystania w uczeniu maszynowym. Ustrukturyzowane zbiory danych mają określone formaty, a nieustrukturyzowany zbiór danych ma zwykle postać swobodnego tekstu. Dane mogą być dostępne w różnych typach lub formatach przechowywania. W danych strukturalnych każdy element zwany instancją, przykładem lub wierszem ma predefiniowaną strukturę. Dane można również kategoryzować według rozmiaru: małe lub średnie dane mają od kilkuset do tysięcy wystąpień, podczas gdy duże zbiory danych odnoszą się do dużego wolumenu, głównie w milionach lub miliardach, których nie można przechowywać ani uzyskiwać do nich dostępu za pomocą zwykłych urządzeń lub mieszczących się w pamięci takich urządzeń.
•  Funkcje, atrybuty, zmienne lub wymiary: w ustrukturyzowanych zbiorach danych, jak wspomniano wcześniej, istnieją predefiniowane elementy z własną semantyką i typem danych, które są nazywane różnymi cechami, atrybutami, danymi, wskaźnikami, zmiennymi lub wymiarami.
•  Typy danych: funkcje zdefiniowane wcześniej wymagają jakiejś formy pisania w wielu algorytmach lub technikach uczenia maszynowego. Najczęściej używane typy danych są następujące:
•  Kategoryczne lub nominalne: wskazuje dobrze zdefiniowane kategorie lub wartości obecne w zbiorze danych. Na przykład kolor oczu - czarny, niebieski, brązowy, zielony, szary; treść dokumentu - tekst, obraz, wideo.
•  Ciągłe lub liczbowe: Wskazuje numeryczny charakter pola danych. Na przykład waga osoby mierzona przez wagę łazienkową, odczyt temperatury z czujnika lub miesięczne saldo w dolarach na koncie karty kredytowej.
•  Porządkowe: oznacza dane, które można w jakiś sposób uporządkować. Na przykład rozmiar odzieży - mały, średni, duży; kategorie wag boksu: ciężka, lekka ciężka, średnia, lekka i koguciej.
•  Cel lub etykieta: funkcja lub zestaw funkcji w zbiorze danych, który jest używany do uczenia się na podstawie danych treningowych i przewidywania w niewidocznym zbiorze danych, jest znany jako cel lub etykieta. Termin "prawda podstawowa" jest również używany w niektórych dziedzinach. Etykieta może mieć dowolną określoną wcześniej formę, tj. Kategoryczną, ciągłą lub porządkową.
•  Model uczenia maszynowego: każdy algorytm uczenia maszynowego, w oparciu o to, czego nauczył się ze zbioru danych, utrzymuje stan swojej nauki w celu przewidywania lub dostarczania wglądu w przyszłe lub niewidoczne dane. To jest odniesione jako model uczenia maszynowego.
•  Próbkowanie: próbkowanie danych jest niezbędnym krokiem w uczeniu maszynowym. Próbkowanie oznacza wybór podzbioru przykładów z populacji w celu potraktowania zachowania obserwowanego w (mniejszej) próbie jako reprezentatywnego dla zachowania (większej) populacji. Aby próbka była reprezentatywna dla populacji, należy zwrócić uwagę na sposób jej doboru. Ogólnie populacja składa się z każdego obiektu, który ma wspólne właściwości w danej domenie, na przykład wszystkie osoby uprawnione do głosowania w wyborach powszechnych lub wszyscy potencjalni właściciele samochodów w ciągu najbliższych czterech lat. Ponieważ zbieranie danych dla wszystkich obiektów w populacji jest zwykle niemożliwe (lub niemożliwe), do celów analizy wybierany jest dobrze wybrany podzbiór. Kluczową kwestią w procesie pobierania próbek jest to, że próbka jest bezstronna w stosunku do populacji. Poniżej przedstawiono rodzaje próbkowania opartego na prawdopodobieństwie:
•  Jednolite losowe pobieranie próbek: Odnosi się to do próbkowania przeprowadzanego na równomiernie rozłożonej populacji, to znaczy, że każdy obiekt ma równe prawdopodobieństwo wyboru.
•  Losowe próbkowanie warstwowe: odnosi się do metody próbkowania stosowanej, gdy dane można podzielić na wiele klas. W takich przypadkach, aby zapewnić reprezentację wszystkich kategorii w próbie, populacja jest dzielona na odrębne warstwy w oparciu o te klasyfikacje, a próbka z każdej warstwy jest pobierana proporcjonalnie do ułamka jej klasy w całej populacji. Próbkowanie warstwowe jest powszechne, gdy gęstość zaludnienia różni się w poszczególnych kategoriach i ważne jest, aby porównać te kategorie z tą samą mocą statystyczną. Sondaże polityczne często obejmują losowanie warstwowe, gdy wiadomo, że różne grupy demograficzne głosują na znacząco różne sposoby. Nieproporcjonalna reprezentacja każdej grupy w losowej próbie może prowadzić do dużych błędów w wynikach sondaży. Kiedy kontrolujemy dane demograficzne, możemy uniknąć nadpróbkowania większości w innych grupach.
•  Próbkowanie klastrów: Czasami wśród badanej populacji występują naturalne grupy, a każda grupa jest reprezentatywna dla całej populacji. Przykładem są dane obejmujące wiele regionów geograficznych. W przypadku próbkowania klastrów należy wybrać losowy podzbiór grup, po którym następuje losowa próbka z każdej z tych grup, aby utworzyć pełną próbkę danych. Ten rodzaj pobierania próbek może obniżyć koszt gromadzenia danych bez uszczerbku dla wierności dystrybucji w populacji.
•  Próbkowanie systematyczne: Próbkowanie systematyczne lub okresowe jest stosowane, gdy w operacie losowania występuje określony porządek (skończony zbiór obiektów traktowanych jako populacja i traktowanych jako źródło danych do próbkowania, na przykład korpus artykułów Wikipedii , ułożone leksykograficznie według tytułu). Jeśli próbka jest następnie wybierana poprzez rozpoczęcie od losowego obiektu i pominięcie stałej liczby k obiektów przed wybraniem następnego, nazywa się to próbkowaniem systematycznym. Wartość k jest obliczana jako stosunek populacji do wielkości próby.
•  Wskaźniki oceny modeli: ocena modeli pod kątem wydajności jest generalnie oparta na różnych metrykach oceny dla różnych rodzajów uczenia się. W klasyfikacji generalnie opiera się na dokładności, krzywych charakterystyk działania odbiornika (ROC), szybkości uczenia, wymaganiach dotyczących pamięci, współczynniku fałszywie dodatnich i tak dalej, żeby wymienić tylko kilka. W przypadku grupowania liczba znalezionych klastrów, spójność, separacja itd. Tworzą ogólne wskaźniki. W uczeniu się opartym na strumieniu, oprócz wspomnianych wcześniej standardowych wskaźników, zdolność adaptacji, szybkość uczenia się i odporność na nagłe zmiany to niektóre z konwencjonalnych wskaźników oceny wyników ucznia. Aby zilustrować te koncepcje, podano konkretny przykład w postaci powszechnie używanego przykładowego zestawu danych pogodowych. Dane zawierają zestaw warunków pogodowych i etykietę, która wskazuje, czy badany zdecydował się zagrać w tenisa w ciągu dnia, czy nie:

@relation weather
@attribute outlook {sunny, overcast, rainy}
@attribute temperature numeric
@attribute humidity numeric
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}
@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no

Zestaw danych ma format pliku ARFF (format pliku relacji atrybutów). Składa się z nagłówka zawierającego informacje o cechach lub atrybutach z ich typami danych i rzeczywistymi danymi oddzielonymi przecinkami po znaczniku danych. Zestaw danych ma pięć funkcji, a mianowicie perspektywę, temperaturę, wilgotność, wiatr i zabawę. Wygląd funkcji i wietrzność są cechami kategorycznymi, podczas gdy wilgotność i temperatura są ciągłe. Gra fabularna jest celem i jest kategoryczna.

Uczenie maszynowe - typy i podtypy

Teraz zbadamy różne podtypy lub gałęzie uczenia maszynowego. Chociaż poniższa lista nie jest wyczerpująca, obejmuje najbardziej znane typy:

•  Uczenie nadzorowane: jest to najpopularniejsza gałąź uczenia maszynowego, która polega na uczeniu się na podstawie oznaczonych danych. Jeśli typ danych etykiety jest kategoryczny, staje się problemem klasyfikacji, a jeśli jest numeryczny, jest znany jako problem regresji. Na przykład, jeśli celem wykorzystania zbioru danych jest wykrycie oszustwa, które ma wartości kategoryczne prawda lub fałsz, mamy do czynienia z problemem klasyfikacji. Jeśli, z drugiej strony, celem jest przewidzenie najlepszej ceny sprzedaży domu, która jest wartością liczbową w dolarach, problemem jest regresja. Poniższy rysunek ilustruje dane oznaczone etykietami, które uzasadniają użycie technik klasyfikacji, takich jak regresja logistyczna, która jest odpowiednia dla danych, które można rozdzielić liniowo, to znaczy, gdy istnieje linia, która może wyraźnie oddzielić dwie klasy. W przypadku danych o wyższych wymiarach, które można rozdzielić liniowo, mówi się o oddzielającej hiperpłaszczyźnie:



Dane, które można rozdzielić liniowo



Przykład zbioru danych, którego nie można rozdzielić liniowo.

Ten rodzaj problemu wymaga technik klasyfikacyjnych, takich jak maszyny wektorów nośnych.

•  Uczenie się nienadzorowane: Zrozumienie danych i eksploracja ich w celu budowania modeli uczenia maszynowego, gdy etykiety nie są podane, nazywa się uczeniem nienadzorowanym. Techniki omówione w tym temacie to techniki skupień, uczenia się wielorakiego i wykrywania wartości odstających. Przykładów problemów wymagających uczenia się bez nadzoru jest wiele. Jednym z przykładów jest grupowanie klientów według ich zachowań zakupowych. W przypadku danych biologicznych próbki tkanek można grupować na podstawie podobnych wartości ekspresji genów przy użyciu technik uczenia się bez nadzoru. Poniższy rysunek przedstawia dane o nieodłącznej strukturze, które można ujawnić jako odrębne klastry przy użyciu techniki uczenia się bez nadzoru, takiej jak k-średnie:



Klastry w danych

Do wykrywania globalnych wartości odstających - przykładów, które są anomalne w odniesieniu do całego zbioru danych - oraz lokalnych wartości odstających - przykładów, które są nieprzystosowane w swoim sąsiedztwie, stosuje się różne techniki. Na poniższym rysunku pojęcie lokalnych i globalnych wartości odstających jest zilustrowane dla zbioru danych o dwóch cechach:



Lokalne i globalne wartości odstające

•  Częściowo nadzorowane uczenie: gdy zbiór danych zawiera tylko niektóre oznaczone etykietami i dużą ilość danych, które nie są oznaczone, uczenie się z takiego zestawu danych nazywa się częściowo nadzorowanym uczeniem się. Na przykład podczas przetwarzania danych finansowych w celu wykrycia oszustwa może istnieć duża ilość nieoznaczonych danych i tylko niewielka liczba znanych oszustw i transakcji bez oszustw. W takich przypadkach można zastosować nauczanie częściowo nadzorowane.
•  Wydobywanie wykresów: dane wydobywcze reprezentowane jako struktury wykresów są znane jako eksploracja wykresów. Stanowi podstawę analizy sieci społecznościowych i analizy struktury w różnych zastosowaniach bioinformatycznych, eksploracji sieci i eksploracji społeczności.
•  Probabilistyczne modelowanie i wnioskowanie wykresów: uczenie się i wykorzystywanie warunkowych struktur zależności występujących między cechami wyrażonymi jako model oparty na wykresie wchodzi w zakres probabilistycznego modelowania wykresów. Sieci bayesowskie i zmienne losowe Markowa to dwie klasy takich modeli.
•  Prognozowanie szeregów czasowych: Odnosi się to do formy uczenia się, w której dane mają wyraźne zachowanie czasowe i modeluje się związek z czasem. Typowym przykładem są prognozy finansowe, gdzie wyniki akcji w pewnym sektorze mogą być celem modelu predykcyjnego.
•  Analiza asocjacji: jest to forma uczenia się, w której dane mają postać zestawu pozycji lub koszyka rynkowego, a reguły asocjacji są modelowane w celu zbadania i przewidywania relacji między przedmiotami. Typowym przykładem analizy skojarzeń jest poznanie zależności między przedmiotami najczęściej kupowanymi przez klientów, którzy odwiedzają sklep spożywczy.
•  Uczenie się ze wzmocnieniem: jest to forma uczenia się, w której maszyny uczą się maksymalizować wydajność w oparciu o informacje zwrotne w postaci nagród lub kar otrzymanych od środowiska. Niedawnym przykładem, w którym słynne było między innymi uczenie się przez wzmacnianie, była AlphaGo, maszyna opracowana przez Google, która zdecydowanie pokonała mistrza World Go Lee Sedola w marcu 2016 r. Korzystając z systemu nagród i kar, model najpierw trenował na milionach pozycji na planszy. na etapie uczenia się nadzorowanego, a następnie zagrał na etapie uczenia się przez wzmacnianie, aby ostatecznie stać się wystarczająco dobrym, aby zatriumfować nad najlepszym ludzkim graczem.
•  Uczenie strumieniowe lub uczenie przyrostowe: uczenie się w sposób nadzorowany, nienadzorowany lub częściowo nadzorowany na podstawie danych strumieniowych w czasie rzeczywistym lub w czasie pseudo rzeczywistym nazywa się uczeniem strumieniowym lub przyrostowym. Uczenie się zachowań czujników z różnych typów systemów przemysłowych w celu kategoryzacji na normalne i nienormalne to aplikacja, która wymaga dostarczania danych w czasie rzeczywistym i wykrywania w czasie rzeczywistym.

Zbiory danych używane w uczeniu maszynowym

Aby uczyć się na podstawie danych, musimy umieć rozumieć dane i zarządzać nimi we wszystkich formach. Dane pochodzą z wielu różnych źródeł, w związku z czym zbiory danych mogą znacznie różnić się strukturą lub mieć niewielką strukturę lub nie mieć jej wcale. W tej sekcji przedstawiamy klasyfikację zbiorów danych wysokiego poziomu wraz z często występującymi przykładami. Ze względu na ich strukturę lub jej brak zbiory danych można sklasyfikować jako zawierające:

•  Dane strukturalne: zestawy danych zawierające dane strukturalne są bardziej podatne na wykorzystanie jako danych wejściowych dla większości algorytmów uczenia maszynowego. Dane mają postać rekordów lub wierszy zgodnych z dobrze znanym formatem z funkcjami, które są albo kolumnami w tabeli, albo polami oddzielonymi separatorami lub tokenami. Nie ma wyraźnego związku między rekordami lub instancjami. Zbiór danych jest dostępny głównie w plikach płaskich lub relacyjnych bazach danych. Zapisy transakcji finansowych w banku pokazane na poniższym rysunku są przykładem danych ustrukturyzowanych:



Dane transakcji kart finansowych z etykietami oszustwa

•  Dane transakcyjne lub rynkowe: jest to specjalna forma ustrukturyzowanych danych, w których każdy wpis odpowiada kolekcji pozycji. Przykładami zestawów danych rynkowych są listy artykułów spożywczych zakupionych przez różnych klientów lub filmy oglądane przez klientów, jak pokazano w poniższej tabeli:



Zbiór danych rynkowych dla produktów zakupionych w sklepie spożywczym

•  Dane nieustrukturyzowane: dane bez struktury nie są zwykle dostępne w dobrze znanych formatach, w przeciwieństwie do danych ustrukturyzowanych. Dane tekstowe, obrazy i dane wideo to różne formaty nieustrukturyzowanych danych. Zwykle potrzebna jest transformacja jakiejś formy, aby wyodrębnić cechy z tych form danych do ustrukturyzowanego zestawu danych, aby można było zastosować tradycyjne algorytmy uczenia maszynowego.



Przykładowe dane tekstowe, bez widocznej struktury, a więc nieustrukturyzowane.

Oddzielanie spamu od zwykłych wiadomości (ham) jest problemem klasyfikacji binarnej. Tutaj prawdziwe pozytywy (spam) i prawdziwe negatywy (ham) są rozróżniane na podstawie etykiet, które są drugim tokenem w każdym wystąpieniu danych. Zbiór danych zbierania spamu SMS (repozytorium uczenia maszynowego UCI).

•  Dane sekwencyjne: dane sekwencyjne mają wyraźne pojęcie "porządku". Porządek może być związkiem między cechami a zmienną czasową w danych szeregów czasowych lub mogą to być symbole powtarzające się w jakiejś formie w genomowych zbiorach danych. Dwa przykłady danych sekwencyjnych to dane pogodowe i dane o sekwencji genomowej. Poniższy rysunek przedstawia zależność między czasem a poziomem czujnika dla pogody:



Szeregi czasowe z danych czujnika

Uwzględniono trzy sekwencje genomowe, aby pokazać powtórzenie sekwencji CGGGT i TTGAAAGTGGTG we wszystkich trzech sekwencjach genomowych:



Sekwencje genomowe DNA jako sekwencja symboli.

•  Dane wykresu: dane wykresu charakteryzują się obecnością relacji między jednostkami w danych w celu utworzenia struktury wykresu. Zestawy danych wykresów mogą mieć format rekordu strukturalnego lub format nieustrukturyzowany. Zwykle relację grafową należy wydobyć ze zbioru danych. Roszczenia w dziedzinie ubezpieczeń można uznać za ustrukturyzowane rekordy zawierające odpowiednie szczegóły roszczenia z osobami składającymi roszczenia powiązane z adresami, numerami telefonów itp. Można to zobaczyć w strukturze wykresu. Na przykładzie sieci WWW mamy strony internetowe dostępne jako dane nieustrukturyzowane zawierające łącza i wykresy relacji między stronami internetowymi, które można zbudować za pomocą łączy internetowych, tworząc obecnie jedne z najbardziej obszernych zbiorów danych graficznych:



Dane dotyczące roszczeń ubezpieczeniowych, przekształcone w strukturę graficzną przedstawiającą relacje między pojazdami, kierowcami, polisami i adresami.

Aplikacje do uczenia maszynowego

Biorąc pod uwagę szybko rosnące wykorzystanie uczenia maszynowego w różnych obszarach ludzkich przedsięwzięć, każda próba wyszczególnienia typowych zastosowań w różnych branżach, w których stosowana jest jakaś forma uczenia maszynowego, musi być koniecznie niepełna. Niemniej jednak w tej sekcji podajemy szeroki zestaw aplikacji do uczenia maszynowego według domeny i zastosowanego typu uczenia się:

Domena / Przemysł : Aplikacje : Typ uczenia maszynowego

Finansowe: ocena ryzyka kredytowego, wykrywanie oszustw i przeciwdziałanie praniu pieniędzy: nadzorowane, nienadzorowane, modele wykresów, szeregi czasowe i uczenie się strumieniowe
Sieć: kampanie online, monitorowanie stanu zdrowia i kierowanie reklam: nadzorowane, nienadzorowane, częściowo nadzorowane
Opieka zdrowotna: medycyna oparta na faktach, nadzór epidemiologiczny, przewidywanie zdarzeń związanych z narkotykami i wykrywanie oszustw: nadzorowane, nienadzorowane, modele wykresów, szeregi czasowe i uczenie strumieniowe
Internet rzeczy (IoT): bezpieczeństwo cybernetyczne, inteligentne drogi i monitorowanie stanu czujników: nadzorowane, nienadzorowane, częściowo nadzorowane i uczenie strumieniowe
Środowisko: prognozowanie pogody, modelowanie zanieczyszczeń i pomiar jakości wody: szeregi czasowe, nadzorowane, nienadzorowane, częściowo nadzorowane i uczenie się strumieniowe
Handel detaliczny: zapasy, zarządzanie klientami i zalecenia, układ i prognozowanie: Szeregi czasowe, nadzorowane, nienadzorowane, częściowo nadzorowane i uczenie strumieniowe

Praktyczne zagadnienia w uczeniu maszynowym

Konieczne jest docenienie natury ograniczeń i potencjalnie nieoptymalnych warunków, z którymi można się spotkać podczas rozwiązywania problemów wymagających uczenia maszynowego. Zrozumienie natury tych problemów, wpływu ich obecności oraz metod radzenia sobie z nimi będzie omówione w trakcie dyskusji w kolejnych rozdziałach. Tutaj przedstawiamy krótkie wprowadzenie do praktycznych problemów, które stoją przed nami:

•  Jakość danych i szum: brakujące wartości, zduplikowane wartości, nieprawidłowe wartości spowodowane błędem rejestracji człowieka lub instrumentu oraz nieprawidłowe formatowanie to tylko niektóre z ważnych kwestii, które należy wziąć pod uwagę podczas tworzenia modeli uczenia maszynowego. Brak odniesienia do jakości danych może skutkować nieprawidłowymi lub niekompletnymi modelami. W następnym rozdziale podkreślimy niektóre z tych problemów i niektóre strategie ich przezwyciężenia poprzez czyszczenie danych.
•  Niezrównoważone zestawy danych: w wielu rzeczywistych zestawach danych występuje brak równowagi między etykietami w danych szkoleniowych. Ta nierównowaga w zbiorze danych wpływa na wybór uczenia się, proces wyboru algorytmów, ocenę i weryfikację modelu. Jeśli nie zostaną zastosowane odpowiednie techniki, modele mogą być narażone na duże błędy, a uczenie się nie będzie skuteczne. W następnych kilku rozdziałach opisano szczegółowo różne techniki wykorzystujące procesy meta-uczenia się, takie jak uczenie się z uwzględnieniem kosztów, uczenie zespołowe, wykrywanie wartości odstających itd., Które można zastosować w takich sytuacjach.
•  Objętość danych, szybkość i skalowalność: Często duże ilości danych istnieją w postaci surowej lub jako dane przesyłane strumieniowo w czasie rzeczywistym z dużą prędkością. Uczenie się na podstawie całych danych staje się niemożliwe ze względu na ograniczenia właściwe dla algorytmów lub ograniczenia sprzętowe lub ich kombinacje. Aby zmniejszyć rozmiar zbioru danych w celu dopasowania go do dostępnych zasobów, należy przeprowadzić próbkowanie danych. Próbkowanie można przeprowadzić na wiele sposobów, a każda forma próbkowania wprowadza błąd. Weryfikację modeli pod kątem obciążenia próby należy przeprowadzić przy użyciu różnych technik, takich jak próbkowanie warstwowe, różna wielkość próby i zwiększanie rozmiaru eksperymentów na różnych zestawach. Wykorzystanie uczenia maszynowego Big Data może również przezwyciężyć błędy związane z wolumenem i próbkowaniem.
•  Overfitting: Jednym z głównych problemów w modelach predykcyjnych jest to, że model nie jest wystarczająco uogólniony i jest zbyt dobrze dopasowany do danych szkoleniowych. Powoduje to słabą wydajność modelu w przypadku zastosowania do niewidocznych danych. W dalszych rozdziałach opisano różne techniki umożliwiające przezwyciężenie tych problemów.
•  Klątwa wymiarowości: w przypadku danych wielowymiarowych, czyli zbiorów danych z dużą liczbą funkcji, skalowalność algorytmów uczenia maszynowego staje się poważnym problemem. Jednym z problemów związanych z dodawaniem większej liczby funkcji do danych jest to, że wprowadza rzadkość, to znaczy, że jest teraz średnio mniej punktów danych na jednostkę objętości przestrzeni funkcji, chyba że wzrostowi liczby funkcji towarzyszy wykładniczy wzrost liczba przykładów szkoleniowych. Może to zmniejszyć wydajność wielu metod, takich jak algorytmy oparte na odległości. Dodanie większej liczby funkcji może również pogorszyć zdolność predykcyjną uczniów, jak pokazano na poniższym rysunku. W takich przypadkach potrzebny jest bardziej odpowiedni algorytm lub należy zmniejszyć wymiarowość danych.



Klątwa wymiarowości zilustrowana w uczeniu się klasyfikacji, gdzie dodanie większej liczby funkcji pogarsza wydajność klasyfikatora

Uczenie maszynowe - role i proces

Wszelkie wysiłki mające na celu zastosowanie uczenia maszynowego do dużego problemu wymagają wspólnego wysiłku wielu ról, z których każda jest zgodna z zestawem systematycznych procesów zaprojektowanych pod kątem rygoru, wydajności i niezawodności. Poniższe role i procesy zapewniają, że cele przedsięwzięcia są jasno zdefiniowane na początku, a właściwe metodologie są stosowane w analizie danych, próbkowaniu danych, wyborze modelu, wdrożeniu i ocenie wydajności - wszystko w ramach kompleksowych ram prowadzenia analiz konsekwentnie i z powtarzalnością.

Role

Na każdym kroku uczestnicy odgrywają określone role. Obowiązki te obejmują cztery następujące role:

•  Ekspert w dziedzinie biznesu: ekspert merytoryczny ze znajomością dziedziny problemowej
•  Inżynier danych: zaangażowany w zbieranie, przekształcanie i czyszczenie danych
•  Kierownik projektu: Nadzorca sprawnego przebiegu procesu Naukowiec ds. Danych lub ekspert ds. Uczenia maszynowego: Odpowiedzialny za aplikowanie opisowe lub predykcyjne techniki analityczne

Proces

CRISP (Cross Industry Standard Process) to dobrze znany wysokopoziomowy model procesu do eksploracji danych, który definiuje proces analityczny. W tej sekcji dodaliśmy kilka naszych własnych rozszerzeń do procesu CRISP, które sprawiają, że jest on bardziej wszechstronny i lepiej dostosowany do analizy wykorzystującej uczenie maszynowe.

•  Identyfikacja problemu biznesowego: Zrozumienie celów i końcowe cele projektu lub procesu są pierwszym krokiem. Zwykle jest to wykonywane przez eksperta dziedzinowego we współpracy z kierownikiem projektu i ekspertem ds. Uczenia maszynowego. Jakie są cele końcowe w zakresie dostępności danych, formatów, specyfikacji, gromadzenia, zwrotu z inwestycji, wartości biznesowej, produktów dostarczanych? Wszystkie te pytania są omawiane na tym etapie procesu. Jasne i wymierne określenie celów, tam gdzie to możliwe, takie jak zaoszczędzona kwota w dolarach, znalezienie z góry określonej liczby anomalii lub klastrów lub przewidywanie nie więcej niż pewnej liczby fałszywych alarmów itd., Jest ważnym celem tej fazie.
•  Mapowanie uczenia maszynowego: Następnym krokiem jest mapowanie problemu biznesowego na jeden lub więcej typów systemów uczących się omówionych w poprzedniej sekcji. Ten krok jest zwykle wykonywany przez eksperta ds. Uczenia maszynowego. W nim określamy, czy powinniśmy skorzystać tylko z jednej formy uczenia się (np. Nadzorowanej, nienadzorowanej, częściowo nadzorowanej), czy też bardziej odpowiednia jest hybryda form. * Zbieranie danych: Następnie uzyskuje się surowe dane w uzgodnionym formacie i specyfikacji do przetwarzania. Ten krok jest zwykle wykonywany przez inżynierów danych i może wymagać obsługi niektórych podstawowych kroków ETL.
•  Analiza jakości danych: na tym etapie przeprowadzamy analizę danych pod kątem brakujących wartości, duplikatów itp., Przeprowadzamy podstawową analizę statystyczną dotyczącą typów kategorialnych i ciągłych oraz podobne zadania w celu oceny jakości danych. Inżynierowie danych i naukowcy zajmujący się danymi mogą wykonywać te zadania razem.
•  Pobieranie próbek i transformacja danych: Określanie, czy dane muszą zostać podzielone na próbki i wykonanie próbkowania danych o różnej wielkości do szkolenia, walidacji lub testowania - są to zadania wykonywane na tym etapie. Polega na zastosowaniu różnych technik próbkowania, takich jak nadpróbkowanie i losowe próbkowanie zbiorów danych szkoleniowych w celu efektywnego uczenia się przez algorytmy, zwłaszcza gdy dane są wysoce niezrównoważone w etykietach. Naukowiec danych jest zaangażowany w to zadanie.
•  Analiza i wybór cech: jest to proces iteracyjny połączony z modelowaniem w wielu zadaniach, aby upewnić się, że cechy są analizowane pod kątem ich wartości rozróżniających lub skuteczności. Może obejmować znalezienie nowych funkcji, przekształcenie istniejących funkcji, rozwiązanie wspomnianych wcześniej problemów z jakością danych, wybranie podzbioru funkcji i tak dalej przed procesem modelowania. Zazwyczaj zadanie to jest przydzielane naukowcowi danych.
•  Modelowanie uczenia maszynowego: jest to proces iteracyjny działający na różnych algorytmach w oparciu o cechy danych i typy uczenia się. Obejmuje różne kroki, takie jak generowanie hipotez, wybór algorytmów, dostrajanie parametrów i uzyskiwanie wyników z oceny w celu znalezienia modeli spełniających kryteria. Naukowiec danych wykonuje to zadanie.
•  Ocena modelu: Chociaż ten krok jest w pewnym stopniu powiązany ze wszystkimi poprzednimi krokami, jest ściślej powiązany z fazą zrozumienia biznesu i fazą mapowania uczenia maszynowego. Kryteria oceny muszą w jakiś sposób odpowiadać problemowi biznesowemu lub celowi. Każdy problem / projekt ma swój własny cel, niezależnie od tego, czy chodzi o poprawę wyników prawdziwie pozytywnych, zmniejszenie liczby fałszywych trafień, znalezienie anomalnych klastrów lub zachowań, czy też analizę danych dla różnych klastrów. W oparciu o techniki uczenia się stosowane są różne techniki, które pośrednio lub bezpośrednio mierzą te cele. W tym kroku zwykle biorą udział naukowcy zajmujący się danymi i eksperci biznesowi.
•  Wybór i wdrożenie modelu: na podstawie kryteriów oceny wybiera się jeden lub więcej modeli - niezależnych lub jako zespół. Wdrażanie modeli zwykle wymaga rozwiązania kilku problemów: miar skalowalności środowiska wykonawczego, specyfikacji wykonawczych środowiska i informacji audytowych, żeby wymienić tylko kilka. Informacje kontrolne, które wychwytują kluczowe parametry oparte na uczeniu się, są istotną częścią procesu. Zapewnia to, że wydajność modelu można śledzić i porównywać w celu sprawdzenia pogorszenia i starzenia się modeli. Zapisywanie kluczowych informacji, takich jak ilość danych treningowych, daty, analiza jakości danych itd., Jest niezależne od typów uczenia się. Uczenie nadzorowane może obejmować zapisanie macierzy pomyłki, współczynników prawdziwie dodatnich, wskaźników fałszywie dodatnich, obszaru pod krzywą ROC, precyzji, przypominania, współczynników błędów i tak dalej. Uczenie się bez nadzoru może obejmować grupowanie lub wyniki oceny wartości odstających, statystyki klastrów i tak dalej. To domena naukowca danych, a także kierownika projektu.
•  Monitorowanie wydajności modelu: to zadanie obejmuje okresowe śledzenie wydajności modelu pod kątem kryteriów, na podstawie których był oceniany, takich jak prawdziwie dodatni wskaźnik, fałszywie dodatni wskaźnik, szybkość wydajności, alokacja pamięci i tak dalej. Konieczne jest zmierzenie odchyleń w tych metrykach w odniesieniu do metryk między kolejnymi ocenami wydajności wytrenowanego modelu. Odchylenia i tolerancja odchylenia dają wgląd w powtarzanie procesu lub ponowne dostrajanie modeli w miarę upływu czasu. Za ten etap odpowiada analityk danych.

Cały proces jest iteracyjny. Po wdrożeniu modelu lub zestawu modeli czynniki biznesowe i środowiskowe mogą ulec zmianie w sposób wpływający na wydajność rozwiązania, co wymaga ponownej oceny celów biznesowych i kryteriów sukcesu. To prowadzi nas z powrotem przez cykl.

Uczenie maszynowe - narzędzia i zbiory danych

Pewnym sposobem na opanowanie technik niezbędnych do pomyślnego ukończenia projektu o dowolnej wielkości lub złożoności w uczeniu maszynowym jest zapoznanie się z dostępnymi narzędziami i strukturami poprzez przeprowadzanie eksperymentów z szeroko stosowanymi zbiorami danych, jak pokazano w kolejnych rozdziałach. Na poniższej liście przedstawiono krótkie omówienie najpopularniejszych frameworków Java. Późniejsze rozdziały będą zawierały eksperymenty, które będziesz wykonywać przy użyciu następujących narzędzi:

•  RapidMiner: Wiodąca platforma analityczna, RapidMiner ma wiele ofert, w tym Studio, wizualną strukturę projektowania procesów, Serwer, produkt ułatwiający środowisko współpracy, umożliwiając udostępnianie źródeł danych, procesów i praktyk oraz Radoop, system z tłumaczenia umożliwiające wdrażanie i wykonywanie w ekosystemie Hadoop. RapidMiner Cloud zapewnia repozytorium w chmurze i moc obliczeniową na żądanie.
•  Weka: Jest to wszechstronny zestaw narzędzi Java typu open source do eksploracji danych i tworzenia aplikacji do uczenia maszynowego z własną kolekcją publicznie dostępnych zestawów danych.
•  Knime: KNIME (jesteśmy zachęcani do wymawiania go cichym k, jako "naime") Platforma analityczna jest napisana w języku Java i oferuje zintegrowany zestaw narzędzi, bogaty zestaw algorytmów oraz wizualny przepływ pracy do przeprowadzania analiz bez potrzeby standardowe języki programowania, takie jak Java, Python i R. Można jednak pisać skrypty w Javie i innych językach, aby zaimplementować funkcje niedostępne natywnie w KNIME.
Mallet: To jest biblioteka Java do NLP. Oferuje klasyfikację dokumentów, tagowanie sekwencji, modelowanie tematów i inne oparte na tekście aplikacje uczenia maszynowego, a także interfejs API dla potoków zadań.
Elki: Jest to oprogramowanie Java zorientowane na badania naukowe, które koncentruje się głównie na eksploracji danych z wykorzystaniem algorytmów bez nadzoru. Osiąga wysoką wydajność i skalowalność przy użyciu struktur indeksów danych, które poprawiają wydajność dostępu do danych wielowymiarowych.
JCLAL: To jest biblioteka klas Java do aktywnego uczenia się i jest to platforma open source do opracowywania metod aktywnego uczenia się, jednego z obszarów, które zajmują się uczeniem modeli predykcyjnych na podstawie danych oznaczonych i nieoznaczonych (inny jest częściowo nadzorowany proces uczenia się) .
KEEL: Jest to oprogramowanie typu open source napisane w Javie do projektowania eksperymentów przede wszystkim nadających się do implementacji ewolucyjnego uczenia się i technik opartych na miękkich komputerach do rozwiązywania problemów eksploracji danych.
DeepLearning4J: jest to rozproszona biblioteka głębokiego uczenia dla języków Java i Scala. DeepLearning4J jest zintegrowany ze Spark i Hadoop. Systemy wykrywania anomalii i rekomendacji to przypadki użycia, które dobrze nadają się do modeli generowanych za pomocą technik głębokiego uczenia.
Spark-MLlib: (zawarte w dystrybucji Apache Spark) MLlib to biblioteka uczenia maszynowego zawarta w Spark, głównie napisana w Scali i Javie. Od czasu wprowadzenia ramek danych w Spark, pakiet spark.ml, który jest napisany na ramkach danych, jest zalecany zamiast oryginalnego pakietu spark.mllib. MLlib obejmuje między innymi obsługę wszystkich etapów procesu analitycznego, w tym metod statystycznych, algorytmów klasyfikacji i regresji, grupowania, redukcji wymiarowości, ekstrakcji cech, oceny modelu i obsługi PMML. Innym aspektem MLlib jest obsługa potoków lub przepływów pracy. MLlib jest dostępny z poziomu języków R, Scala i Python, oprócz języka Java.
H2O: H2O to oparta na Javie biblioteka z obsługą API w językach R i Python w formacie dodatku do języka Java. H2O może również działać na platformie Spark jako osobna aplikacja o nazwie Sparkling Water. H2O Flow to interaktywne środowisko internetowe z wykonywalnymi komórkami i multimediami w pojedynczym dokumencie przypominającym notatnik.
MOA / SAMOA: Skierowany do uczenia maszynowego na podstawie strumieni danych z podłączanym interfejsem do platform przetwarzania strumieniowego, SAMOA.
Neo4j: Neo4j to graficzna baza danych NoSQL typu open source zaimplementowana w językach Java i Scala. Jak zobaczymy w kolejnych rozdziałach, analiza grafów ma wiele zastosowań, w tym kojarzenie, routing, sieci społecznościowe, zarządzanie siecią i tak dalej. Neo4j obsługuje w pełni transakcje ACID.
GraphX: To jest zawarte w dystrybucji Apache Spark. GraphX to biblioteka wykresów towarzysząca Sparkowi. Interfejs API ma szerokie wsparcie dla przeglądania i manipulowania strukturami grafów, a także niektórych algorytmów grafowych, takich jak PageRank, Connected Components i Triangle Counting.
OpenMarkov: OpenMarkov to narzędzie do edycji i oceny probabilistycznych modeli graficznych (PGM). Zawiera GUI do interaktywnej nauki.
Smile: Smile to platforma uczenia maszynowego dla JVM z obszerną biblioteką algorytmów. Jego możliwości obejmują NLP, wielorakie uczenie się, reguły asocjacyjne, algorytmy genetyczne i wszechstronny zestaw narzędzi do wizualizacji.


Wesprzyj Szkołę, kliknij w Reklamę…Dziękujemy…