Praktyczne uczenie nienadzorowane przy użyciu języka Python

Book description

Jak budować użytkowe rozwiązania uczenia maszynowego na podstawie nieoznakowanych danych.
Wielu ekspertów branżowych uważa uczenie nienadzorowane za kolejną granicę w dziedzinie sztucznej inteligencji, która może stanowić klucz do pełnej sztucznej inteligencji. Ponieważ większość danych na świecie jest nieoznakowana, nie można do nich zastosować konwencjonalnego uczenia nadzorowanego. Z kolei uczenie nienadzorowane może być stosowane wobec nieoznakowanych zbiorów danych w celu odkrycia istotnych wzorców ukrytych głęboko w tych danych, które dla człowieka mogą być niemal niemożliwe do odkrycia.
Autor Ankur Patel pokazuje, jak stosować uczenie nienadzorowane przy wykorzystaniu dwóch prostych platform dla języka Python: Scikit-learn oraz TensorFlow (wraz z Keras). Dzięki dołączonemu kodowi i praktycznym przykładom analitycy danych będą mogli identyfikować trudne do znalezienia wzorce w danych i odkrywać dogłębne zależności biznesowe, wykrywać anomalie, przeprowadzać automatyczną selekcję zmiennych i generować syntetyczne zbiory danych. Wystarczy znajomość programowania i nieco doświadczenia w uczeniu maszynowym, aby zająć się:
• Porównywaniem mocnych i słabych stron różnych podejść do uczenia maszynowego: uczenia nadzorowanego, nienadzorowanego i wzmacnianego.
• Przygotowywaniem i zarządzaniem projektami uczenia maszynowego.
• Budowaniem systemu wykrywania anomalii w celu wychwycenia oszustwa dotyczącego kard kredytowych.
• Rozdzielaniem użytkowników na wydzielone i jednorodne grupy.
• Przeprowadzaniem uczenia pół-nadzorowanego.
• Opracowywaniem systemów polecania filmów z użyciem ograniczonych automatów Boltzmanna.
• Generowaniem syntetycznych obrazów przy użyciu generujących sieci antagonistycznych.
„Badacze, inżynierowie i studenci docenią tę książkę pełną praktycznych technik uczenia nienadzorowanego, napisaną prostym językiem z nieskomplikowanymi przykładami w języku Python, które można szybko i skutecznie implementować.”
–Sarah Nagy
Główny analityk danych w firmie Edison
Ankur A. Patel jest wiceprezesem ds. informatyki analitycznej w firmie 7Park Data, wspieranej przez firmę inwestycyjną Vista Equity Partners. W firmie 7Park Data, Ankur i jego zespół analizy danych wykorzystują dane alternatywne do opracowywania produktów związanych z danymi dla funduszy hedgingowych i korporacji oraz rozwijają usługi uczenia maszynowego dla klientów firmowych.

Table of contents

  1. Okładka
    1. Spis treści
    2. Spis treści (1/2)
    3. Spis treści (2/2)
    4. Wstęp (1/2)
    5. Wstęp (2/2)
  2. Podstawy uczenia nienadzorowanego
    1. Uczenie nienadzorowane w ekosystemie uczenia maszynowego
      1. Podstawowa terminologia związana z uczeniem maszynowym
      2. System oparty na zasadach a uczenie maszynowe
      3. Uczenie nadzorowane a nienadzorowane
        1. Mocne i słabe strony uczenia nadzorowanego
        2. Mocne i słabe strony uczenia nienadzorowanego
      4. Używanie uczenia nienadzorowanego do poprawy rozwiązań wykorzystujących uczenie maszynowe
      5. Bliższe spojrzenie na algorytmy nadzorowane (1/2)
      6. Bliższe spojrzenie na algorytmy nadzorowane (2/2)
        1. Metody liniowe
        2. Metody oparte na sąsiedztwie
        3. Metody oparte na drzewach
        4. Maszyny wektorów nośnych
        5. Sieci neuronowe
      7. Bliższe spojrzenie na algorytmy nienadzorowane (1/2)
      8. Bliższe spojrzenie na algorytmy nienadzorowane (2/2)
        1. Redukcja wymiarowości
        2. Analiza skupień
        3. Wyodrębnianie cech
        4. Nienadzorowane uczenie głębokie
        5. Problemy z danymi sekwencyjnymi przy użyciu uczenia nienadzorowanego
      9. Uczenie wzmacniane przy użyciu uczenia nienadzorowanego
      10. Uczenie pół-nadzorowane
      11. Udane zastosowania uczenia nienadzorowanego
        1. Wykrywanie anomalii
      12. Podsumowanie
    2. Kompleksowy projekt uczenia maszynowego
      1. Konfiguracja środowiska
        1. Kontrola wersji: Git
        2. Klonowanie repozytorium Git dla tej książki
        3. Biblioteki naukowe: dystrybucja Anaconda dla języka Python
        4. Sieci neuronowe: TensorFlow i Keras
        5. Wzmacnianie gradientowe, wersja pierwsza: XGBoost
        6. Wzmacnianie gradientowe, wersja druga: LightGBM
        7. Algorytmy analizy skupień (grupowania)
        8. Interaktywne środowisko obliczeniowe: Jupyter Notebook
      2. Przegląd danych
      3. Przygotowanie danych (1/2)
      4. Przygotowanie danych (2/2)
        1. Pozyskiwanie danych
        2. Badanie danych
        3. Generowanie macierzy cech tablicy oznakowań
        4. Konstruowanie cech i wybieranie cech
        5. Wizualizacja danych
      5. Przygotowanie modelu
        1. Podział na zestaw szkoleniowy i testowy
        2. Wybranie funkcji kosztu
        3. Tworzenie zestawów k-krotnego sprawdzania krzyżowego
      6. Modele uczenia maszynowego (część I)
        1. Model #1: Regresja logistyczna
      7. Metryki oceny
        1. Macierz pomyłek
        2. Krzywa precyzji-czułości
        3. Krzywa ROC
      8. Modele uczenia maszynowego (część II) (1/2)
      9. Modele uczenia maszynowego (część II) (2/2)
        1. Model #2: Losowe lasy
        2. Model #3: Automat wzmacniania gradientowego (XGBoost)
        3. Model #4: Automat wzmacniania gradientowego (LightGBM)
      10. Ocena czterech modeli przy użyciu zestawu testowego
      11. Zespoły modeli
        1. Układanie warstwowe
      12. Ostateczny wybór modelu
      13. Potok produkcyjny
      14. Podsumowanie
  3. Uczenie nienadzorowane przy użyciu Scikit-Learn
    1. Redukcja wymiarowości
      1. Motywacja do redukcji wymiarowości
        1. Baza danych MNIST
      2. Algorytmy redukcji wymiarowości
        1. Rzutowanie liniowe a uczenie rozmaitościowe
      3. Analiza głównych składowych
        1. Pojęcie analizy PCA
        2. Analiza PCA w praktyce
        3. Przyrostowa analiza PCA
        4. Rzadka analiza PCA
        5. Rdzeniowa analiza PCA
      4. Rozkład według wartości osobliwych
      5. Losowe rzutowanie
        1. Losowe rzutowanie Gaussa
        2. Rzadkie losowe rzutowanie
      6. Isomap
      7. Skalowanie wielowymiarowe
      8. Lokalnie liniowe osadzanie
      9. Stochastyczne osadzanie sąsiadów z t-rozkładem
      10. Inne metody redukcji wymiarowości
      11. Uczenie słownikowe
      12. Analiza niezależnych składowych
      13. Podsumowanie
    2. Wykrywanie anomalii
      1. Wykrywanie oszustw na kartach kredytowych
        1. Przygotowanie danych
        2. Definiowanie funkcji oceniającej anomalie
        3. Definiowanie metryk oceny
        4. Definiowanie funkcji wykreślającej
      2. Wykrywanie anomalii przy użyciu normalnej analizy PCA
        1. Składowe PCA równe liczbie oryginalnych wymiarów
        2. Szukanie optymalnej liczby głównych składowych
      3. Wykrywanie anomalii przy użyciu rzadkiej analizy PCA
      4. Wykrywanie anomalii przy użyciu rdzeniowej analizy PCA
      5. Wykrywanie anomalii przy użyciu losowego rzutowania Gaussa
      6. Wykrywanie anomalii przy użyciu rzadkiego losowego rzutowania
      7. Nieliniowe wykrywanie anomalii
      8. Wykrywanie anomalii przy użyciu uczenia słownikowego
      9. Wykrywanie anomalii przy użyciu ICA
      10. Wykrywanie oszustw na zestawie testowym
        1. Wykrywanie anomalii na zestawie testowym przy użyciu normalnej analizy PCA
        2. Wykrywanie anomalii na zestawie testowym przy użyciu analizy ICA
        3. Wykrywanie anomalii na zestawie testowym przy użyciu uczenia słownikowego
      11. Podsumowanie
    3. Analiza skupień
      1. Zestaw danych MNIST
        1. Przygotowanie danych
      2. Algorytmy analizy skupień (grupowania)
      3. k-średnich (1/2)
      4. k-średnich (2/2)
        1. Bezwładność k-średnich
        2. Ocena wyników grupowania
        3. Dokładność k-średnich
        4. k-średnich a liczba głównych składowych
        5. k-średnich na oryginalnym zestawie danych
      5. Grupowanie hierarchiczne (1/2)
      6. Grupowanie hierarchiczne (2/2)
        1. Aglomeracyjne grupowanie hierarchiczne
        2. Dendrogram
        3. Ocena wyników grupowania
      7. DBSCAN
        1. Algorytm DBSCAN
        2. Zastosowanie DBSCAN wobec naszego zestawu danych
        3. HDBSCAN
      8. Podsumowanie
    4. Segmentacja grup
      1. Dane Lending Club
        1. Przygotowanie danych
        2. Przekształcenie formatu tekstowego w format liczbowy
        3. Przypisywanie brakujących wartości
        4. Konstruowanie cech
        5. Wybieranie ostatecznego zestawu cech i przeprowadzanie skalowania
        6. Wyznaczanie oznakowań do oceny
      2. Ocena grup
      3. Aplikacja k-średnich
      4. Aplikacja grupowania hierarchicznego
      5. Aplikacja HDBSCAN
      6. Podsumowanie
  4. Uczenie nienadzorowane przy użyciu TensorFlow i Keras
    1. Autokodery
      1. Sieci neuronowe
        1. TensorFlow
        2. Keras
      2. Autokoder: koder i dekoder
      3. Autokodery niezupełne
      4. Autokodery nadmiarowe
      5. Gęste i rzadkie autokodery
      6. Autokoder odszumiający
      7. Autokoder wariacyjny
      8. Podsumowanie
    2. Praktyczny autokoder
      1. Przygotowanie danych
      2. Elementy składowe autokodera
      3. Funkcje aktywacji
      4. Nasz pierwszy autokoder (1/2)
      5. Nasz pierwszy autokoder (2/2)
        1. Funkcja straty
        2. Optymalizator
        3. Szkolenie modelu
        4. Ocenianie na zestawie testowym
      6. Dwuwarstwowy, niezupełny autokoder z liniową funkcją aktywacji (1/2)
      7. Dwuwarstwowy, niezupełny autokoder z liniową funkcją aktywacji (2/2)
        1. Zwiększanie liczby węzłów
        2. Dodawanie więcej ukrytych warstw
      8. Autokoder nieliniowy
      9. Nadmiarowy autokoder z aktywacją liniową
      10. Nadmiarowy autokoder z aktywacją liniową i wykluczaniem
      11. Rzadki, nadmiarowy autokoder z aktywacją liniową
      12. Rzadki, nadmiarowy autokoder z aktywacją liniową i wykluczaniem
      13. Praca z zaszumionymi zestawami danych
      14. Autokoder odszumiający (1/2)
      15. Autokoder odszumiający (2/2)
        1. Dwuwarstwowy, odszumiający, niezupełny autokoder z aktywacją liniową
        2. Dwuwarstwowy, odszumiający, nadmiarowy autokoder z aktywacją liniową
        3. Dwuwarstwowy, odszumiający, nadmiarowy autokoder z aktywacją ReLu
      16. Podsumowanie
    3. Uczenie pół-nadzorowane
      1. Przygotowanie danych
      2. Model nadzorowany
      3. Model nienadzorowany
      4. Model pół-nadzorowany
      5. Siła uczenia nadzorowanego i nienadzorowanego
      6. Podsumowanie
  5. Głębokie uczenie nienadzorowane przy użyciu TensorFlow i Keras
    1. Systemy rekomendacyjne przy użyciu ograniczonych automatów Boltzmanna
      1. Automaty Boltzmanna
        1. Ograniczone automaty Boltzmanna
      2. Systemy rekomendacyjne
        1. Filtrowanie kolektywne
        2. The Netflix Prize
      3. Zestaw danych MovieLens (1/2)
      4. Zestaw danych MovieLens (2/2)
        1. Przygotowanie danych
        2. Definiowanie funkcji kosztu: błąd średniokwadratowy
        3. Przeprowadzenie podstawowych eksperymentów
      5. Rozkład macierzy
        1. Jeden utajony czynnik
        2. Trzy utajone czynniki
        3. Pięć utajonych czynników
      6. Filtrowanie kolektywne przy użyciu automatów RBM (1/2)
      7. Filtrowanie kolektywne przy użyciu automatów RBM (2/2)
        1. Architektura sieci neuronowej automatu RBM
        2. Budowanie składników klasy RBM
        3. Szkolenie systemu rekomendacyjnego opartego na automacie RBM
      8. Podsumowanie
    2. Wykrywanie cech przy użyciu sieci głębokiego przekonania
      1. Sieci głębokiego przekonania w szczegółach
      2. Klasyfikacja obrazów MNIST
      3. Ograniczone automaty Boltzmanna
        1. Budowanie składników klasy RBM
        2. Generowanie obrazów przy użyciu modelu RBM
        3. Przeglądanie pośrednich detektorów cech
      4. Szkolenie trzech automatów RBM dla sieci DBN (1/2)
      5. Szkolenie trzech automatów RBM dla sieci DBN (2/2)
        1. Badanie detektorów cech
        2. Przeglądanie wygenerowanych obrazów
      6. Pełna sieć DBN
        1. Jak działa szkolenie sieci DBN
        2. Szkolenie sieci DBN
      7. Jak uczenie nienadzorowane pomaga uczeniu nadzorowanemu (1/2)
      8. Jak uczenie nienadzorowane pomaga uczeniu nadzorowanemu (2/2)
        1. Generowanie obrazów do zbudowania lepszego klasyfikatora obrazów
      9. Klasyfikator obrazów wykorzystujący LightGBM
        1. Tylko nadzorowany
        2. Rozwiązanie nienadzorowane i nadzorowane
      10. Podsumowanie
    3. Generujące sieci antagonistyczne
      1. Pojęcie sieci GAN
        1. Siła sieci GAN
      2. Głębokie splotowe sieci GAN
      3. Splotowe sieci neuronowe
      4. Powrót do sieci DCGAN (1/2)
      5. Powrót do sieci DCGAN (2/2)
        1. Generator sieci DCGAN
        2. Dyskryminator sieci DCGAN
        3. Modele dyskryminatora i antagonistyczny
        4. Sieć DCGAN dla zestawu danych MNIST
      6. Sieć DCGAN dla MNIST w działaniu
        1. Generowanie syntetycznych obrazów
      7. Podsumowanie
    4. Grupowanie szeregów czasowych
      1. Dane z EKG
      2. Podejście do grupowania szeregów czasowych
        1. k-kształtów
      3. Grupowanie szeregów czasowych przy użyciu k-kształtów na danych ECGFiveDays (1/2)
      4. Grupowanie szeregów czasowych przy użyciu k-kształtów na danych ECGFiveDays (2/2)
        1. Przygotowanie danych
        2. Szkolenie i ocena
      5. Grupowanie szeregów czasowych przy użyciu k-kształtów na danych ECG5000 (1/2)
      6. Grupowanie szeregów czasowych przy użyciu k-kształtów na danych ECG5000 (2/2)
        1. Przygotowanie danych
        2. Szkolenie i ocena
      7. Grupowanie szeregów czasowych przy użyciu k-średnich na danych ECG5000
      8. Grupowanie szeregów czasowych przy użyciu hierarchicznego DBSCAN na danych ECG5000
      9. Porównanie algorytmów grupowania szeregów czasowych
        1. Pełny przebieg dla algorytmu k-kształtów
        2. Pełny przebieg dla algorytmu k-średnich
        3. Pełny przebieg dla algorytmu HDBSCAN
        4. Porównanie wszystkich trzech podejść do grupowania szeregów czasowych
      10. Podsumowanie
    5. Podsumowanie
      1. Uczenie nadzorowane
      2. Uczenie nienadzorowane
        1. Scikit-Learn
        2. TensorFlow i Keras
      3. Uczenie wzmacniane
      4. Najbardziej obiecujące obecnie obszary uczenia nienadzorowanego
      5. Przyszłość uczenia nienadzorowanego
      6. Ostatnia uwaga
    6. Indeks (1/2)
    7. Indeks (2/2)
      1. O autorze
      2. Kolofon

Product information

  • Title: Praktyczne uczenie nienadzorowane przy użyciu języka Python
  • Author(s): Ankur A. Patel
  • Release date: July 2020
  • Publisher(s): APN Promise
  • ISBN: 9788375414264