Internet Of Things: Big Data & Analytics - Rozdział 4

1. Machine learning to termin określający rozwiązywanie problemów, dla których opracowanie algorytmów przez ludzkich programistów byłoby zbyt kosztowne, a zamiast tego problemy są rozwiązywane poprzez pomaganie maszynom „odkrywać” własne algorytmy, bez konieczności jawnej instrukcji co robić przez jakiekolwiek algorytmy opracowane przez ludzi. Metody uczenia maszynowego zostały zastosowane do szerokiego zakresu zastosowań, takich jak rozpoznawanie mowy, diagnostyka medyczna, samochody autonomiczne, silniki rekomendacji sprzedaży i wiele innych.

Niezależnie od zastosowania, algorytmy uczenia maszynowego poprawiają swoją wydajność w konkretnych zadaniach na podstawie powtarzania tych zadań, jeśli algorytm i model są w stanie poradzić sobie ze zwiększoną zmiennością wprowadzaną przez dodatkowe dane. Jest to podstawowy impuls do poszukiwania lepszych modeli i algorytmów.

2. Uczenie maszynowe obejmuje wiele różnych algorytmów, niektóre o szerokim zakresie zastosowań, a inne mogą być odpowiednie dla konkretnych zastosowań. Te algorytmy można podzielić na dwie główne kategorie: nadzorowane i nienadzorowane. Nadzorowane algorytmy uczenia maszynowego są najczęściej stosowanymi algorytmami uczenia maszynowego do analityki predykcyjnej. Te algorytmy polegają na zbiorach danych, które zostały przetworzone przez ekspertów ludzkich (stąd słowo "nadzór"). Algorytmy te uczą się, jak wykonywać te same zadania przetwarzania samodzielnie na nowych zbiorach danych. W szczególności metody nadzorowane są używane do rozwiązywania problemów regresji i klasyfikacji:
  • problemy regresji (są to oszacowania zależności matematycznych między zmienną ciągłą a jedną lub więcej innymi zmiennymi. Ta zależność matematyczna może być następnie wykorzystana do obliczenia wartości jednej nieznanej zmiennej przy znanych wartościach innych. Aby umysłowo zwizualizować najprostszy przykład regresji, wyobraźmy sobie dwie zmienne, których wartości są wizualizowane jako punkty na wykresie. Wykonanie regresji oznacza znalezienie linii, która najlepiej interpoluje wartości. Linia ta może przyjmować wiele różnych kształtów i jest wyrażona jako funkcja regresji. Funkcja regresji pozwala oszacować wartość jednej zmiennej przy znanej wartości drugiej, dla wartości, które nie były wcześniej obserwowane.)
  • problemy klasyfikacji (są one stosowane, gdy nieznana zmienna jest dyskretna. Zwykle problem polega na oszacowaniu, do której z zestawu predefiniowanych klas należy dany przykład. Wizualną interpretacją problemu klasyfikacji można zobaczyć w dwóch wymiarach, gdzie punkty należące do różnych klas są oznaczone różnym symbolem, podobnie jak na obrazku po lewej stronie rysunku 1. Algorytm "uczy się" przykładów położenia i kształtu linii granicznej między klasami. Ta linia graniczna może być następnie użyta do klasyfikacji nowych przykładów.)

Nienadzorowane algorytmy uczenia maszynowego nie wymagają ekspertów ludzkich do uczenia się, ale samodzielnie odkrywają wzorce w danych. Przykładami problemów rozwiązywanych metodami nienadzorowanymi są klasteryzacja i asocjacja:
  • metody klasteryzacji (mogą być one postrzegane jako automatyczne odkrywanie grup próbek, które mają podobne cechy, co może wskazywać na to, że członek klastra należy do dobrze zdefiniowanej klasy.)
  • metody asocjacji (są one również bardzo istotnym problemem dla sprzedawców internetowych i polegają na odkrywaniu grup przedmiotów, które są często obserwowane razem. Są one używane do sugerowania dodatkowych zakupów użytkownikowi na podstawie zawartości jego koszyka.)
3. Przykłady:
  • Przykładami regresji są oszacowanie pozycji i prędkości samochodu za pomocą GPS, przewidywanie trajektorii tornada za pomocą danych pogodowych lub przewidywanie przyszłej wartości akcji za pomocą danych historycznych i innych źródeł informacji. 
  • Typowymi przykładami klasyfikacji są rozpoznawanie obrazów, diagnozowanie patologii na podstawie badań medycznych lub identyfikowanie twarzy na zdjęciu. 
  • Na przykład algorytmy klasteryzacji są używane do identyfikowania grup użytkowników na podstawie ich historii zakupów online i następnie wysyłania do każdego członka spersonalizowanych reklam.
4. Rozwój rozwiązania uczenia maszynowego rzadko kiedy jest procesem liniowym. Wymagane są liczne próby i błędy, aby dostosować rozwiązanie, podobnie jak w przypadku modelu CRISP-DM. Jednak proces ten można uprościć:

Krok 1. Jest to etap przygotowania danych. W tym kroku uwzględniamy procedury czyszczenia danych (tj. przekształcenie ich w uporządkowany format, usunięcie brakujących danych i zanieczyszczonych obserwacji).

Krok 2. Utwórz zestaw uczący, który będzie faktycznie używany do szkolenia modelu.

Krok 3. Utwórz zestaw testowy, który będzie używany do oceny wydajności modelu. Krok zestawu testowego jest wykonywany tylko w przypadku uczenia nadzorowanego.

Krok 4. Utwórz pętlę. Wybierany jest algorytm, w zależności od wymaganego problemu, a jego wydajność jest oceniana na danych uczących. W zależności od wybranego algorytmu mogą być konieczne dodatkowe kroki przetwarzania wstępnego, takie jak wyodrębnienie cech z zestawu danych, które są istotne dla problemu. Na przykład, jeśli próbujesz przeanalizować poziom aktywności osoby na podstawie trackera fitness, cechy takie jak liczba kroków, wysokość, maksymalne przyspieszenie i tak dalej mogą być wyodrębnione z surowych pomiarów czujnika. W tym momencie można również wykonać kroki post-processingu, takie jak dostosowanie parametrów modelu/algorytmu. Jeśli algorytm i model osiągną wystarczającą wydajność na danych uczących, rozwiązanie jest weryfikowane na danych testowych. W przeciwnym razie proponowany jest nowy model i/lub algorytm i proces uczenia się jest powtarzany.

Krok 5. Testowanie rozwiązania na danych testowych nazywa się etapem oceny modelu. Wydajność na danych uczących niekoniecznie przenosi się na dane testowe. Im bardziej skomplikowany i dostosowany jest model, tym większe są szanse, że model stanie się podatny na przeuczenie. Wyobraź sobie studenta przygotowującego się do egzaminu. Nauczenie się materiału na pamięć nie gwarantuje pozytywnego wyniku egzaminu. W ten sam sposób algorytm uczenia maszynowego może skupić się zbytnio na zestawie uczącym i osiągnąć słabe wyniki na teście. Przeuczenie może skutkować powrotem do procesu uczenia modelu.

Krok 6. Gdy model osiągnie zadowalającą wydajność na danych testowych, można go zaimplementować. Oznacza to wykonanie niezbędnych zadań w celu skalowania rozwiązania uczenia maszynowego do Big Data oraz decydowanie o tym, który komponent IoT będzie faktycznie wykonywał każdy krok. 

5. Analiza regresji to metoda statystyczna służąca do analizy danych, która pozwala na ilościowe określenie związku między jedną lub więcej zmiennymi niezależnymi a zmienną zależną. Proces ten obejmuje kilka kroków, takich jak przygotowanie danych, tworzenie zestawów uczących i testowych, wybór algorytmu i ewaluację modelu. Regresja pozwala na ekstrapolację poza dostępny zestaw danych i przewidywanie przyszłych wartości na podstawie danych historycznych. Może być stosowana do różnych typów ciągłych zmiennych i nie nakłada ograniczeń na kształt funkcji regresji. W zależności od elastyczności kształtu funkcji regresji, model może zawierać więcej parametrów i być bardziej skomplikowany matematycznie i obliczeniowo.

5. Regresje liniowe to najczęściej stosowane metody regresji, które są najprostsze z punktu widzenia obliczeniowego i matematycznego. Regresja liniowa polega na dopasowaniu funkcji, która jest ważoną średnią innych funkcji, do punktów danych. Najprostszym przypadkiem regresji liniowej jest dopasowanie prostej linii. Wysoka korelacja Pearsona wskazuje, że prosty model liniowy jest dobrym kandydatem do dopasowania danych. Proces regresji polega na znalezieniu nachylenia i przecięcia linii, która minimalizuje sumę odległości między linią a wszystkimi punktami danych. Najczęściej stosowanym algorytmem do szacowania tych optymalnych parametrów modelu jest metoda najmniejszych kwadratów.


6. Analiza regresji ma wiele zastosowań, w tym w biznesie, finansach, ekonomii, opiece zdrowotnej i innych dziedzinach. Pozwala na przewidywanie trendów i zachowań na podstawie danych historycznych. W opiece zdrowotnej może pomóc w ocenie wpływu różnych zmiennych na określoną zmienną celu. Każdy model uczenia maszynowego wymaga walidacji, a niektóre modele mogą być wrażliwe na odstające lub anomalie danych. Inne modele mogą generować wyniki, które mogą być nieodpowiednie do odpowiedzi na pytanie badawcze.

7. Klasyfikacja to kolejny powszechny problem uczenia maszynowego, który należy do kategorii uczenia nadzorowanego. Klasyfikację można postrzegać jako problem regresji, w którym zmienna celu jest dyskretna i reprezentuje klasę, do której ekspert ludzki zaklasyfikował próbkę danych. W problemach klasyfikacji często podaje się nie tylko zestaw przykładowych punktów danych dla każdej klasy, ale także określa się, które cechy każdego punktu danych są najbardziej przydatne do oszacowania odpowiadającej klasy. Te cechy mogą być łatwo dostępne z czujników, ale częściej muszą być obliczane (lub wyodrębniane) z surowych danych przed przekazaniem ich do algorytmu uczenia. Definicja istotnych cech to kluczowy krok, który, z wyjątkiem bardzo zaawansowanych algorytmów, takich jak Deep Learning, opiera się na wiedzy eksperta ludzkiego.

8. Istnieją różne popularne algorytmy klasyfikatorów, w tym k-najbliższych sąsiadów (k-NN), maszyny wektorów nośnych (SVM) i drzewa decyzyjne. Klasyfikator k-NN wykorzystuje odległość między przykładami treningowymi jako miarę podobieństwa, a SVM oblicza granicę lub hiperpłaszczyznę, która lepiej oddziela grupy. Drzewa decyzyjne reprezentują problem klasyfikacji jako zestaw decyzji opartych na wartościach cech. Każdy węzeł drzewa reprezentuje próg wartości cechy i dzieli próbki treningowe na dwa mniejsze zbiory.

9. Metoda naukowa to proces składający się z sześciu kroków:

Krok 1. Zadaj pytanie dotyczące obserwacji, takie jak co, kiedy, jak lub dlaczego.
Krok 2. Przeprowadź badania.
Krok 3. Sformułuj hipotezę na podstawie tych badań.
Krok 4. Przetestuj hipotezę poprzez eksperymentowanie.
Krok 5. Przeanalizuj dane z eksperymentów, aby wyciągnąć wnioski.
Krok 6. Skomunikuj wyniki procesu.

10. Chociaż istnieje wiele terminów używanych do opisania różnych rodzajów ważności, badacze zwykle rozróżniają cztery typy ważności:
  • Ważność konstruktu - Czy badanie rzeczywiście mierzy to, co twierdzi, że mierzy? 
  • Ważność wewnętrzna - Czy eksperyment został zaprojektowany poprawnie? Czy obejmuje wszystkie etapy metody naukowej? 
  • Ważność zewnętrzna - Czy wnioski mogą dotyczyć innych sytuacji lub innych osób w innych miejscach w innym czasie? Czy istnieją jakiekolwiek inne związki przyczynowe w badaniu, które mogłyby tłumaczyć wyniki? 
  • Ważność wniosków - Czy na podstawie związków w danych wnioski z badania są rozsądne?
11. Niezawodny eksperyment lub badanie oznacza, że ktoś inny może go powtórzyć i uzyskać te same wyniki. Badacze rozróżniają cztery typy niezawodności:
  • Niezawodność między oceniającymi - Jak podobnie różni ludzie uzyskują wyniki w tym samym teście? Niezawodność testu-retestu - Jak duża jest zmienność między wynikami dla tej samej osoby wykonującej test kilka razy? 
  • Niezawodność równoległych form - Jak podobne są wyniki dwóch różnych testów skonstruowanych z tej samej treści? 
  • Niezawodność wewnętrznej spójności - Jaka jest zmienność wyników dla różnych pozycji w tym samym teście?
W analizie danych powtórzenie eksperymentu może być zbyt kosztowne lub nawet niemożliwe, dlatego stosuje się metodę walidacji krzyżowej. Polega ona na tym, że algorytm jest szkolony tylko na losowo wybranej próbce danych, a następnie oceniany na reszcie danych. Sukces algorytmu klasyfikacji zależy od tego, jak dobrze zestaw treningowy reprezentował cały zestaw danych. Rozwiązania analityki danych mogą być poddawane tej samej stronniczości co ludzie, ponieważ ta stronniczość jest wyrażona w zestawach danych używanych do ich szkolenia.

12. Błędy i niepewność wpływają na proces analizy danych na różnych poziomach. Pierwszym rodzajem błędu jest błąd pomiaru, który często jest spowodowany przez czujnik lub przez człowieka odczytującego lub używającego czujnika. Każde urządzenie do pomiarów ma ograniczoną precyzję, dlatego wszystkie pomiary mają wbudowaną składową błędu. Inny rodzaj błędu to błąd predykcji, który w uczeniu nadzorowanym jest ilościowo określany jako różnica między wartością przewidywaną przez model a wartością obserwowaną. Istnieją techniki, takie jak walidacja krzyżowa, które pomagają ograniczyć wpływ tych błędów.

13. Błąd predykcji to różnica między wartością przewidywaną przez model regresji lub klasyfikacji a wartością zmierzoną. W regresji błąd na zestawie treningowym jest zwykle mniejszy niż na zestawie walidacyjnym. Błąd predykcji ma dwie składowe: błąd wynikający z wyboru modelu i błąd pomiaru. W uczeniu maszynowym pierwszą przyczynę błędu predykcji często nazywa się stronniczością modelu, a drugą - wariancją. Nie można zminimalizować obu; tę sytuację często nazywa się kompromisem między stronniczością a wariancją.