Rozwijaj i replikuj interesujące eksperymenty uczenia maszynowego (ML) przy użyciu kamery Pi Camera i płytki Raspberry Pi. Niniejsza książka zapewnia solidny przegląd technik uczenia maszynowego i niezliczonych zagadnień leżących u jego podstaw, zachęcając do ich dalszego poznawania. Nietechniczne omówienia równoważą złożone objaśnienia techniczne, sprawiając, że najnowszy i najbardziej złożony temat w świecie hobbystów informatyki staje się zrozumiały i przystępny. Uczenie maszynowe, odwołujące się zwykle także do uczenia głębokiego (DL) jest obecnie zintegrowane z mnóstwem komercyjnych produktów, a także szeroko stosowane w przemyśle, medycynie i wojskowości. Trudno znaleźć jakąkolwiek nowoczesną działalność człowieka, która nie została 'dotknięta' przez aplikacje sztucznej inteligencji (AI). Bazując na koncepcjach wprowadzonych w książce Beginning Artificial Intelligence with the Raspberry Pi, niniejsza książka prowadzi poza proste rozumienie koncepcji AI do rzeczywistych doświadczeń z wykorzystaniem uczenia maszynowego i praktycznych zastosowań koncepcji uczenia głębokiego w eksperymentach związanych z rozpoznawaniem obrazów przy użyciu płytki Pi. Koncepcje związane z uczeniem maszynowym na Raspberry Pi można przenieść na inne platformy, wchodząc jeszcze dalej w świat sztucznej inteligencji i uczenia maszynowego, aby realizować coraz lepsze projekty hobbystyczne lub komercyjne.
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
Strona tytułowa
Donald J. Norris
Uczenie maszynowe
na Raspberry Pi
Eksperymentowanie z danymi
i rozpoznawaniem obrazów
Przekład: Maria Chaniewska
APN Promise, Warszawa 2020
Spis treści
O autorze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Przykłady kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Rozdział 1. Wprowadzenie do uczenia maszynowego (ML) na Raspberry Pi (RasPi) . . . . 1
Wprowadzenie do RasPi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Zapisywanie obrazu systemu Raspbian na kartę micro SD . . . . . . . . . . . . . . . . . . . . . . . . . 4
Aktualizowanie i uaktualnianie dystrybucji systemu Raspbian . . . . . . . . . . . . . . . . . . . . . . 13
Fakty dotyczące uczenia maszynowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Rozdział 2. Badanie modelu danych uczenia maszynowego: część 1 . . . . . . . . . . . . . . . 43
Instalacja OpenCV 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Pobieranie kodu źródłowego OpenCV 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Kompilacja oprogramowania OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Biblioteka wizualizacji danych Seaborn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Ważna podstawowa zasada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Naiwny klasyfi kator Bayesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Model k najbliższych sąsiadów (kNN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Demonstracja kNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Klasyfi kator drzewa decyzyjnego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Algorytm drzewa decyzyjnego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Demonstracja klasyfi katora drzewa decyzyjnego w scikit-learn . . . . . . . . . . . . . . . . . . . . 106
Rozdział 3. Badanie modeli danych uczenia maszynowego: część 2. . . . . . . . . . . . . . . 117
Analiza głównych składowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Opis skryptu PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Liniowa analiza dyskryminacyjna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Opis skryptu LDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
iii
Spis treści
Maszyny wektorów nośnych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Demonstracja SVM – część 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Demonstracja SVM – część 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Kwantyzacja wektorów uczących . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Podstawowe koncepcje LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Demonstracja LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Bagging i lasy losowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Wprowadzenie do algorytmów bagging i lasów losowych . . . . . . . . . . . . . . . . . . . . . . . . 166
Demonstracja ponownego próbkowania metodą bootstrap . . . . . . . . . . . . . . . . . . . . . . . 169
Demonstracja algorytmu bagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Demonstracja lasu losowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Rozdział 4. Przygotowanie do uczenia głębokiego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Podstawy uczenia głębokiego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Uczenie maszynowe na podstawie wzorców danych . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Funkcje straty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Algorytm optymalizatora. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Sztuczna sieć neuronowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Uczenie i działanie sztucznych sieci neuronowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Praktyczny przykład modyfi kacji wag sieci neuronowej . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Demonstracja sieci neuronowej w Pythonie – część 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Demonstracja sieci neuronowej w Pythonie – część 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Rozdział 5. Praktyczne demonstracje uczenia głębokiego sztucznych sieci
neuronowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Lista części . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Demonstracja rozpoznawania odręcznie pisanych cyfr . . . . . . . . . . . . . . . . . . . . . . . . . 246
Szczegóły historii i przygotowania projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Dostosowywanie wejściowych zbiorów danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Interpretacja wartości danych wyjściowych sieci ANN. . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Tworzenie sieci do rozpoznawania odręcznie napisanych cyfr . . . . . . . . . . . . . . . . . . . . 260
Demonstracja początkowego skryptu uczącego sieci neuronowej . . . . . . . . . . . . . . . . . . 261
Demonstracja skryptu testującego sieć neuronową . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Demonstracja skryptu testowego sieci neuronowej z wykorzystaniem pełnego
iv
Spis treści
zbioru testowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Rozpoznawanie samodzielnie napisanych cyfr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Rozpoznawanie cyfr napisanych odręcznie przy użyciu biblioteki Keras . . . . . . . . . . . . 283
Wprowadzenie do biblioteki Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Instalacja biblioteki Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Pobieranie zbioru danych i tworzenie modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Rozdział 6. Demonstracje konwolucyjnych sieci neuronowych . . . . . . . . . . . . . . . . . . . 293
Lista części . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Wprowadzenie do modelu CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Historia i ewolucja sieci CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Demonstracja rozpoznawania odzieży ze zbioru MNIST . . . . . . . . . . . . . . . . . . . . . . . . 312
Bardziej złożona demonstracja rozpoznawania odzieży ze zbioru MNIST . . . . . . . . . . . 321
Demonstracja modelu VGG do rozpoznawania odzieży ze zbioru MNIST . . . . . . . . . . . . 325
Demonstracja rozpoznawania odzieży ze zbioru MNIST według Jasona . . . . . . . . . . . . 330
Rozdział 7. Prognozowanie przy użyciu zwykłych i konwolucyjnych sieci
neuronowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Demonstracja dotycząca cukrzycy w plemieniu Indian Pima . . . . . . . . . . . . . . . . . . . . 338
Tło badania cukrzycy w plemieniu Indian Pima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Przygotowywanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Użycie biblioteki scikit-learn z Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Optymalizowanie hiperparametrów przy użyciu Keras i scikit-learn . . . . . . . . . . . . . . . . . 358
Demonstracja predyktora regresji cen nieruchomości . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Wstępne przetwarzanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Model bazowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Poprawiony model bazowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Inny poprawiony model bazowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Predykcje przy użyciu sieci CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Model CNN szeregu czasowego jednej zmiennej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Rozdział 8. Prognozowanie przy użyciu modeli CNN i MLP w badaniach medycznych 395
Lista części . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Pobieranie zbioru danych obrazów histologicznych raka piersi . . . . . . . . . . . . . . . . . . . 396
v
Spis treści
Przygotowanie środowiska projektowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Użycie modelu MLP do prognozowania raka piersi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Rozdział 9. Uczenie przez wzmacnianie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Proces decyzyjny Markowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Zdyskontowana przyszła nagroda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Uczenie metodą Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Q-learning i sieci neuronowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Indeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
vi
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
Opinie na temat publikacji:
Inne popularne pozycje z tej kategorii:
Czytaj również:
Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką :