Deep Learning. Praktyczne wprowadzenie z zastosowaniem środowiska Pythona - ebook
Deep Learning. Praktyczne wprowadzenie z zastosowaniem środowiska Pythona - ebook
Uczenie głębokie fascynuje wielu inżynierów i praktyków. Mimo że systemy oparte na uczeniu maszynowym stosuje się w rozlicznych branżach, wciąż są uważane za niepokojącą technologię. Istotnie, w wypadku na przykład sieci neuronowych nie wiemy, czego dokładnie uczy się model. Możemy tylko ocenić, czy dobrze realizuje swoje zadanie. Wydaje się, że w sposobie pracy algorytmów uczenia głębokiego tkwi magia. Właśnie dlatego dobrze jest zająć się faktami i dowiedzieć się, na czym w rzeczywistości polega uczenie maszynowe, a zwłaszcza uczenie głębokie.
Ta książka jest przystępnym przewodnikiem po uczeniu maszynowym. Aby zrozumieć zawartą w niej treść, wystarczy podstawowa umiejętność programowania i znajomość matematyki na poziomie szkoły średniej. Znalazło się tu omówienie podstawowych pojęć i wyjaśnienie mechanizmów rządzących uczeniem głębokim. Dzięki lekturze dowiesz się, czym się charakteryzuje dobry zbiór danych uczących, jak ocenić skuteczność modelu i jak korzystać z takich modeli jak k-najbliższych sąsiadów, lasy losowe czy maszyna wektorów nośnych. Sporo miejsca poświęcono również sieciom neuronowym, mechanizmom ich działania i technikom treningu. I chociaż nie znajdziesz tutaj gotowych receptur, to zdobędziesz wiedzę potrzebną, by od podstaw zaprojektować działający model uczenia głębokiego.
W książce między innymi:
- budowanie dobrego zestawu danych uczących
- praca z bibliotekami scikit-learn i Keras
- klasyczne modele uczenia maszynowego
- mechanizm działania i uczenia sieci neuronowych
- modele wykorzystujące splotowe sieci neuronowe
- przygotowanie od podstaw działającego modelu
Uczenie głębokie: przyszedł czas na Twój pierwszy model!
Spis treści
Przedmowa
Podziękowania
Wstęp
1. Pierwsze kroki
- Środowisko operacyjne
- NumPy
- scikit-learn
- Keras i TensorFlow
- Instalacja narzędzi
- Podstawy algebry liniowej
- Wektory
- Macierze
- Mnożenie wektorów i macierzy
- Statystyka i prawdopodobieństwo
- Statystyka opisowa
- Rozkłady prawdopodobieństwa
- Testy statystyczne
- Procesory graficzne (GPU)
- Podsumowanie
2. Korzystanie z Pythona
- Interpreter Pythona
- Instrukcje i białe znaki
- Zmienne i podstawowe struktury danych
- Przedstawianie liczb
- Zmienne
- Łańcuchy znaków
- Listy
- Słowniki
- Struktury sterowania
- Instrukcje if-elif-else
- Pętle for
- Pętle while
- Instrukcje break i continue
- Instrukcja with
- Obsługa błędów za pomocą bloków try-except
- Funkcje
- Moduły
- Podsumowanie
3. Biblioteka NumPy
- Dlaczego NumPy?
- Tablice a listy
- Testowanie szybkości tablic i list
- Podstawowe tablice
- Definiowanie tablicy za pomocą funkcji, np. array
- Definiowanie tablic wypełnionych zerami i jedynkami
- Dostęp do elementów tablicy
- Indeksowanie tablicowe
- Uzyskiwanie wycinków tablicy
- Wielokropek
- Operatory i rozgłaszanie
- Dane wejściowe i wyjściowe tablic
- Liczby losowe
- Biblioteka NumPy i obrazy
- Podsumowanie
4. Praca z danymi
- Klasy i etykiety
- Cechy i wektory cech
- Rodzaje cech
- Dobór cech i klątwa wymiarowości
- Własności dobrego zestawu danych
- Interpolacja i ekstrapolacja
- Główny rozkład prawdopodobieństwa
- Rozkład a priori
- Przykłady mylące
- Rozmiar zestawu danych
- Przygotowanie danych
- Skalowanie cech
- Brakujące cechy
- Dane uczące, walidacyjne i testowe
- Trzy podzbiory
- Dzielenie zestawu danych
- k-krotny sprawdzian krzyżowy
- Analiza danych
- Wyszukiwanie problemów z danymi
- Opowieści ku przestrodze
- Podsumowanie
5. Budowanie zestawów danych
- Kosaćce (zestaw danych Iris)
- Nowotwory piersi (zestaw danych Breast Cancer)
- Cyfry zapisane pismem odręcznym (zestaw danych MNIST)
- Różne obrazy (zestaw danych CIFAR-10)
- Rozszerzanie danych
- Dlaczego należy rozszerzać dane uczące?
- Sposoby rozszerzania danych
- Rozszerzanie zestawu danych Iris
- Rozszerzanie zestawu danych CIFAR-10
- Podsumowanie
6. Klasyczne uczenie maszynowe
- Algorytm najbliższego centroidu
- Algorytm k najbliższych sąsiadów
- Naiwny klasyfikator Bayesa
- Drzewa decyzyjne i lasy losowe
- Rekurencja
- Budowanie drzew decyzyjnych
- Lasy losowe
- Maszyny wektorów nośnych
- Marginesy
- Wektory nośne
- Optymalizacja
- Jądra
- Podsumowanie
7. Eksperymentowanie z klasycznymi modelami
- Eksperymenty z użyciem zestawu danych Iris
- Testowanie klasycznych modeli
- Implementacja klasyfikatora najbliższego centroidu
- Eksperymenty z użyciem zestawu danych Breast Cancer
- Dwa pierwsze przebiegi testowe
- Skutek losowych podziałów
- Dodawanie k-krotnego sprawdzianu krzyżowego
- Poszukiwanie hiperparametrów
- Eksperymenty z użyciem zestawu danych MNIST
- Testowanie klasycznych modeli
- Analiza czasu działania
- Eksperymenty z głównymi składowymi analizy PCA
- Tasowanie zestawu danych
- Podsumowanie klasycznych modeli
- Algorytm najbliższego centroidu
- Algorytm k najbliższych sąsiadów
- Naiwny klasyfikator Bayesa
- Drzewa decyzyjne
- Lasy losowe
- Maszyny wektorów nośnych
- Kiedy używać klasycznych modeli?
- Korzystanie z małych zestawów danych
- Ograniczone zasoby obliczeniowe
- Dostęp do wyjaśnialnych modeli
- Praca z danymi wektorowymi
- Podsumowanie
8. Wprowadzenie do sieci neuronowych
- Anatomia sieci neuronowej
- Neuron
- Funkcje aktywacji
- Architektura sieci
- Warstwy wyjściowe
- Wagi i obciążenia
- Implementacja prostej sieci neuronowej
- Przygotowanie zestawu danych
- Implementacja sieci neuronowej
- Uczenie i testowanie sieci neuronowej
- Podsumowanie
9. Uczenie sieci neuronowej
- Ogólny opis
- Algorytm gradientu prostego
- Wyszukiwanie minimów
- Aktualizowanie wag
- Stochastyczny spadek wzdłuż gradientu
- Grupy i minigrupy
- Funkcje wypukłe i niewypukłe
- Kończenie uczenia
- Aktualizowanie współczynnika uczenia
- Momentum
- Propagacja wsteczna
- Propagacja wsteczna - ujęcie pierwsze
- Propagacja wsteczna - ujęcie drugie
- Funkcje straty
- Błąd bezwzględny i błąd średniokwadratowy
- Entropia krzyżowa
- Inicjalizowanie wag
- Przetrenowanie i regularyzacja
- Przetrenowanie
- Regularyzacja
- Regularyzacja L2
- Porzucanie
- Podsumowanie
10. Eksperymentowanie z sieciami neuronowymi
- Nasz zestaw danych
- Klasa MLPClassifier
- Struktura sieci i funkcje aktywacji
- Kod
- Wyniki
- Rozmiar grupy
- Podstawowy współczynnik uczenia
- Rozmiar zbioru uczącego
- Regularyzacja L2
- Momentum
- Inicjalizacja wag
- Kolejność cech
- Podsumowanie
11. Ocenianie modeli
- Definicje i założenia
- Dlaczego dokładność jest niewystarczająca?
- Macierz pomyłek 2×2
- Wskaźniki wyprowadzane z macierzy pomyłek
- Wyprowadzanie wskaźników na podstawie macierzy pomyłek
- Interpretowanie modeli za pomocą wskaźników
- Zaawansowane wskaźniki
- Informatywność i nacechowanie
- Wskaźnik F1
- Współczynnik kappa Cohena
- Współczynnik korelacji Matthewsa
- Implementacja zaawansowanych wskaźników
- Krzywa charakterystyki operacyjnej odbiornika
- Dobór modeli
- Rysowanie wykresu wskaźników
- Analiza krzywej ROC
- Porównywanie modeli za pomocą analizy ROC
- Generowanie krzywej ROC
- Krzywa precyzji-czułości
- Przypadki wieloklasowe
- Rozszerzanie macierzy pomyłek
- Obliczanie dokładności ważonej
- Wieloklasowy współczynnik korelacji Matthewsa
- Podsumowanie
12. Wprowadzenie do splotowych sieci neuronowych
- Dlaczego splotowe sieci neuronowe?
- Splot
- Skanowanie za pomocą jądra
- Splot w przetwarzaniu obrazów
- Anatomia splotowej sieci neuronowej
- Różne typy warstw
- Przepuszczanie danych przez sieć splotową
- Warstwy splotowe
- Mechanizm działania warstwy splotowej
- Korzystanie z warstwy splotowej
- Wielokrotne warstwy splotowe
- Inicjalizacja warstwy splotowej
- Warstwy łączące
- Warstwy w pełni połączone
- Pełne warstwy splotowe
- Krok po kroku
- Podsumowanie
13. Eksperymentowanie z biblioteką Keras i zestawem danych MNIST
- Budowanie sieci splotowych w bibliotece Keras
- Wczytywanie danych MNIST
- Budowanie modelu
- Uczenie i ocena modelu
- Tworzenie wykresu funkcji błędu
- Podstawowe eksperymenty
- Eksperymenty na architekturze
- Rozmiar zbioru uczącego, minigrup oraz liczba epok
- Optymalizatory
- Pełne sieci splotowe
- Budowa i trenowanie modelu
- Przygotowanie obrazów testowych
- Testowanie modelu
- Potasowane cyfry MNIST
- Podsumowanie
14. Eksperymentowanie z zestawem danych CIFAR-10
- Zestaw CIFAR-10 - przypomnienie
- Praca na pełnym zestawie CIFAR-10
- Budowanie modeli
- Analizowanie modeli
- Zwierzę czy pojazd?
- Model binarny czy wieloklasowy?
- Uczenie transferowe
- Strojenie modelu
- Przygotowanie zestawów danych
- Dostosowanie modelu do strojenia
- Testowanie modelu
- Podsumowanie
15. Studium przypadku: klasyfikowanie próbek dźwiękowych
- Budowanie zestawu danych
- Rozszerzanie zestawu danych
- Wstępne przetwarzanie danych
- Klasyfikowanie cech dźwiękowych
- Modele klasyczne
- Tradycyjna sieć neuronowa
- Splotowa sieć neuronowa
- Spektrogramy
- Klasyfikowanie spektrogramów
- Inicjalizacja, regularyzacja i normalizacja wsadowa
- Analiza macierzy pomyłek
- Zespoły
- Podsumowanie
16. Dalsze kroki
- Co dalej z sieciami splotowymi?
- Uczenie przez wzmacnianie i uczenie nienadzorowane
- Generatywne sieci przeciwstawne
- Rekurencyjne sieci neuronowe
- Zasoby internetowe
- Konferencje
- Książka
- Cześć i dzięki za ryby
Skorowidz
Kategoria: | Branża IT |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8860-4 |
Rozmiar pliku: | 9,4 MB |