Szczegóły ebooka

Python. Machine learning i deep learning. Biblioteki scikit-learn i TensorFlow 2. Wydanie III

Python. Machine learning i deep learning. Biblioteki scikit-learn i TensorFlow 2. Wydanie III

Sebastian Raschka, Vahid Mirjalili

Ebook

Uczenie maszynowe jest jedną z najbardziej fascynujących technologii naszych czasów - rozwojem jego najróżniejszych zastosowań zajmują się tacy giganci jak Google, Facebook, Apple, Amazon czy IBM. Uczenie maszynowe otwiera zupełnie nowe możliwości i powoli staje się nieodzowne: wystarczy wymienić asystenty głosowe w smartfonach, chatboty ułatwiające klientom wybór produktu, a także sieci ułatwiające podejmowanie decyzji o inwestycjach giełdowych, filtrujące niechciane wiadomości e-mail czy wspomagające diagnostykę medyczną.

Oto obszerny przewodnik po uczeniu maszynowym i uczeniu głębokim w Pythonie. Zawiera dokładne omówienie najważniejszych technik uczenia maszynowego oraz staranne wyjaśnienie zasad rządzących tą technologią. Poszczególne zagadnienia zilustrowano mnóstwem wyjaśnień, wizualizacji i przykładów, co znakomicie ułatwia zrozumienie materiału i sprawne rozpoczęcie samodzielnego budowania aplikacji i modeli, takich jak te służące do klasyfikacji obrazów, odkrywania ukrytych wzorców czy wydobywania dodatkowych informacji z danych. Wydanie trzecie zostało zaktualizowane - znalazł się w nim opis biblioteki TensorFlow 2 i najnowszych dodatków do biblioteki scikit-learn. Dodano również wprowadzenie do dwóch nowatorskich technik: uczenia przez wzmacnianie i budowy generatywnych sieci przeciwstawnych (GAN).

W książce między innymi:

  • platformy, modele i techniki uczenia maszynowego
  • wykorzystywanie biblioteki scikit-learn i TensorFlow
  • sieci neuronowe, sieci GAN i inne
  • przygotowywanie danych dla modeli uczenia maszynowego
  • ocena i strojenie modeli
  • analizy: regresyjna, skupień i sentymentów

Uczenie głębokie z Pythonem: zrozum i zastosuj!


Informacje o autorach 13

Informacje o recenzentach 15

Wstęp 17

Rozdział 1. Umożliwianie komputerom uczenia się z danych 27

  • Tworzenie inteligentnych maszyn służących do przekształcania danych w wiedzę 28
  • Trzy różne rodzaje uczenia maszynowego 28
    • Przewidywanie przyszłości za pomocą uczenia nadzorowanego 29
    • Rozwiązywanie problemów interaktywnych za pomocą uczenia przez wzmacnianie 32
    • Odkrywanie ukrytych struktur za pomocą uczenia nienadzorowanego 33
  • Wprowadzenie do podstawowej terminologii i notacji 35
    • Notacja i konwencje używane w niniejszej książce 35
    • Terminologia uczenia maszynowego 37
  • Strategia tworzenia systemów uczenia maszynowego 38
    • Wstępne przetwarzanie - nadawanie danym formy 38
    • Trenowanie i dobór modelu predykcyjnego 39
    • Ewaluacja modeli i przewidywanie wystąpienia nieznanych danych 40
  • Wykorzystywanie środowiska Python do uczenia maszynowego 40
    • Instalacja środowiska Python i pakietów z repozytorium Python Package Index 41
    • Korzystanie z platformy Anaconda i menedżera pakietów 41
    • Pakiety przeznaczone do obliczeń naukowych, analizy danych i uczenia maszynowego 42
  • Podsumowanie 42

Rozdział 2. Trenowanie prostych algorytmów uczenia maszynowego w celach klasyfikacji 45

  • Sztuczne neurony - rys historyczny początków uczenia maszynowego 46
    • Definicja formalna sztucznego neuronu 47
    • Reguła uczenia perceptronu 49
  • Implementacja algorytmu uczenia perceptronu w Pythonie 51
    • Obiektowy interfejs API perceptronu 51
    • Trenowanie modelu perceptronu na zestawie danych Iris 54
  • Adaptacyjne neurony liniowe i zbieżność uczenia 60
    • Minimalizacja funkcji kosztu za pomocą metody gradientu prostego 61
    • Implementacja algorytmu Adaline w Pythonie 63
    • Usprawnianie gradientu prostego poprzez skalowanie cech 67
    • Wielkoskalowe uczenie maszynowe i metoda stochastycznego spadku wzdłuż gradientu 69
  • Podsumowanie 73

Rozdział 3. Stosowanie klasyfikatorów uczenia maszynowego za pomocą biblioteki scikit-learn 75

  • Wybór algorytmu klasyfikującego 76
  • Pierwsze kroki z biblioteką scikit-learn - uczenie perceptronu 76
  • Modelowanie prawdopodobieństwa przynależności do klasy za pomocą regresji logistycznej 82
    • Regresja logistyczna i prawdopodobieństwo warunkowe 82
    • Wyznaczanie wag logistycznej funkcji kosztu 86
    • Przekształcanie implementacji Adaline do postaci algorytmu regresji logistycznej 88
    • Uczenie modelu regresji logistycznej za pomocą biblioteki scikit-learn 92
    • Zapobieganie przetrenowaniu za pomocą regularyzacji 94
  • Wyznaczanie maksymalnego marginesu za pomocą maszyn wektorów nośnych 97
    • Teoretyczne podłoże maksymalnego marginesu 98
    • Rozwiązywanie przypadków nieliniowo rozdzielnych za pomocą zmiennych uzupełniających 99
    • Alternatywne implementacje w interfejsie scikit-learn 101
  • Rozwiązywanie nieliniowych problemów za pomocą jądra SVM 102
    • Metody jądrowe dla danych nierozdzielnych liniowo 102
    • Stosowanie sztuczki z funkcją jądra do znajdowania przestrzeni rozdzielających w przestrzeni wielowymiarowej 104
  • Uczenie drzew decyzyjnych 107
    • Maksymalizowanie przyrostu informacji - osiąganie jak największych korzyści 108
    • Budowanie drzewa decyzyjnego 112
    • Łączenie wielu drzew decyzyjnych za pomocą modelu losowego lasu 115
  • Algorytm k-najbliższych sąsiadów - model leniwego uczenia 119
  • Podsumowanie 122

Rozdział 4. Tworzenie dobrych zestawów danych uczących - wstępne przetwarzanie danych 125

  • Kwestia brakujących danych 126
    • Wykrywanie brakujących wartości w danych tabelarycznych 126
    • Usuwanie przykładów uczących lub cech niezawierających wartości 127
    • Wstawianie brakujących danych 128
    • Estymatory interfejsu scikit-learn 129
  • Przetwarzanie danych kategorialnych 130
    • Kodowanie danych kategorialnych za pomocą biblioteki pandas 131
    • Mapowanie cech porządkowych 131
    • Kodowanie etykiet klas 132
    • Kodowanie "gorącojedynkowe" cech nominalnych (z użyciem wektorów własnych) 133
  • Rozdzielanie zestawu danych na oddzielne podzbiory uczący i testowy 136
  • Skalowanie cech 138
  • Dobór odpowiednich cech 140
    • Regularyzacje L1 i L2 jako kary ograniczające złożoność modelu 141
    • Interpretacja geometryczna regularyzacji L2 141
    • Rozwiązania rzadkie za pomocą regularyzacji L1 143
    • Algorytmy sekwencyjnego wyboru cech 146
  • Ocenianie istotności cech za pomocą algorytmu losowego lasu 151
  • Podsumowanie 154

Rozdział 5. Kompresja danych poprzez redukcję wymiarowości 155

  • Nienadzorowana redukcja wymiarowości za pomocą analizy głównych składowych 156
    • Podstawowe etapy analizy głównych składowych 156
    • Wydobywanie głównych składowych krok po kroku 158
    • Wyjaśniona wariancja całkowita 160
    • Transformacja cech 161
    • Analiza głównych składowych w interfejsie scikit-learn 164
  • Nadzorowana kompresja danych za pomocą liniowej analizy dyskryminacyjnej 167
    • Porównanie analizy głównych składowych z liniową analizą dyskryminacyjną 167
    • Wewnętrzne mechanizmy działania liniowej analizy dyskryminacyjnej 169
    • Obliczanie macierzy rozproszenia 169
    • Dobór dyskryminant liniowych dla nowej podprzestrzeni cech 171
    • Rzutowanie przykładów na nową przestrzeń cech 173
    • Implementacja analizy LDA w bibliotece scikit-learn 174
  • Jądrowa analiza głównych składowych jako metoda odwzorowywania nierozdzielnych liniowo klas 176
    • Funkcje jądra oraz sztuczka z funkcją jądra 177
    • Implementacja jądrowej analizy głównych składowych w Pythonie 181
    • Rzutowanie nowych punktów danych 188
    • Algorytm jądrowej analizy głównych składowych w bibliotece scikit-learn 191
  • Podsumowanie 192

Rozdział 6. Najlepsze metody oceny modelu i strojenie parametryczne 195

  • Usprawnianie cyklu pracy za pomocą kolejkowania 195
    • Wczytanie zestawu danych Breast Cancer Wisconsin 196
    • Łączenie funkcji transformujących i estymatorów w kolejce czynności 197
  • Stosowanie k-krotnego sprawdzianu krzyżowego w ocenie skuteczności modelu 198
    • Metoda wydzielania 199
    • K-krotny sprawdzian krzyżowy 200
  • Sprawdzanie algorytmów za pomocą krzywych uczenia i krzywych walidacji 204
    • Diagnozowanie problemów z obciążeniem i wariancją za pomocą krzywych uczenia 204
    • Rozwiązywanie problemów przetrenowania i niedotrenowania za pomocą krzywych walidacji 208
  • Dostrajanie modeli uczenia maszynowego za pomocą metody przeszukiwania siatki 209
    • Strojenie hiperparametrów przy użyciu metody przeszukiwania siatki 210
    • Dobór algorytmu poprzez zagnieżdżony sprawdzian krzyżowy 211
  • Przegląd wskaźników oceny skuteczności 213
    • Odczytywanie macierzy pomyłek 213
    • Optymalizacja precyzji i pełności modelu klasyfikującego 215
    • Wykres krzywej ROC 217
    • Wskaźniki zliczające dla klasyfikacji wieloklasowej 220
    • Kwestia dysproporcji klas 220
  • Podsumowanie 223

Rozdział 7. Łączenie różnych modeli w celu uczenia zespołowego 225

  • Uczenie zespołów 225
  • Łączenie klasyfikatorów za pomocą algorytmu głosowania większościowego 229
    • Implementacja prostego klasyfikatora głosowania większościowego 230
    • Stosowanie reguły głosowania większościowego do uzyskiwania prognoz 235
    • Ewaluacja i strojenie klasyfikatora zespołowego 237
  • Agregacja - tworzenie zespołu klasyfikatorów za pomocą próbek początkowych 242
    • Agregacja w pigułce 243
    • Stosowanie agregacji do klasyfikowania przykładów z zestawu Wine 244
  • Usprawnianie słabych klasyfikatorów za pomocą wzmocnienia adaptacyjnego 248
    • Wzmacnianie - mechanizm działania 248
    • Stosowanie algorytmu AdaBoost za pomocą biblioteki scikit-learn 252
  • Podsumowanie 255

Rozdział 8. Wykorzystywanie uczenia maszynowego w analizie sentymentów 257

  • Przygotowywanie zestawu danych IMDb movie review do przetwarzania tekstu 258
    • Uzyskiwanie zestawu danych IMDb 258
    • Przetwarzanie wstępne zestawu danych IMDb do wygodniejszego formatu 259
  • Wprowadzenie do modelu worka słów 260
    • Przekształcanie słów w wektory cech 261
    • Ocena istotności wyrazów za pomocą ważenia częstości termów - odwrotnej częstości w tekście 262
    • Oczyszczanie danych tekstowych 264
    • Przetwarzanie tekstu na znaczniki 266
  • Uczenie modelu regresji logistycznej w celu klasyfikowania tekstu 268
  • Praca z większą ilością danych - algorytmy sieciowe i uczenie pozardzeniowe 270
  • Modelowanie tematyczne za pomocą alokacji ukrytej zmiennej Dirichleta 273
    • Rozkładanie dokumentów tekstowych za pomocą analizy LDA 274
    • Analiza LDA w bibliotece scikit-learn 274
  • Podsumowanie 277

Rozdział 9. Wdrażanie modelu uczenia maszynowego do aplikacji sieciowej 279

  • Serializacja wyuczonych estymatorów biblioteki scikit-learn 280
  • Konfigurowanie bazy danych SQLite 283
  • Tworzenie aplikacji sieciowej za pomocą środowiska Flask 285
    • Nasza pierwsza aplikacja sieciowa 285
    • Sprawdzanie i wyświetlanie formularza 287
  • Przekształcanie klasyfikatora recenzji w aplikację sieciową 293
    • Pliki i katalogi - wygląd drzewa katalogów 295
    • Implementacja głównej części programu w pliku app.py 296
    • Konfigurowanie formularza recenzji 298
    • Tworzenie szablonu strony wynikowej 299
  • Umieszczanie aplikacji sieciowej na publicznym serwerze 301
    • Tworzenie konta w serwisie PythonAnywhere 301
    • Przesyłanie aplikacji klasyfikatora filmowego 302
    • Aktualizowanie klasyfikatora recenzji filmowych 303
  • Podsumowanie 305

Rozdział 10. Przewidywanie ciągłych zmiennych docelowych za pomocą analizy regresywnej 307

  • Wprowadzenie do regresji liniowej 308
    • Prosta regresja liniowa 308
    • Wielowymiarowa regresja liniowa 308
  • Zestaw danych Housing 310
    • Wczytywanie zestawu danych Housing do obiektu DataFrame 310
    • Wizualizowanie ważnych elementów zestawu danych 312
    • Analiza związków za pomocą macierzy korelacji 313
  • Implementacja modelu regresji liniowej wykorzystującego zwykłą metodę najmniejszych kwadratów 315
    • Określanie parametrów regresywnych za pomocą metody gradientu prostego 316
    • Szacowanie współczynnika modelu regresji za pomocą biblioteki scikit-learn 319
  • Uczenie odpornego modelu regresywnego za pomocą algorytmu RANSAC 321
  • Ocenianie skuteczności modeli regresji liniowej 324
  • Stosowanie regularyzowanych metod regresji 327
  • Przekształcanie modelu regresji liniowej w krzywą - regresja wielomianowa 329
    • Dodawanie członów wielomianowych za pomocą biblioteki scikit-learn 329
    • Modelowanie nieliniowych zależności w zestawie danych Housing 331
  • Analiza nieliniowych relacji za pomocą algorytmu losowego lasu 334
    • Regresja przy użyciu drzewa decyzyjnego 334
    • Regresja przy użyciu losowego lasu 336
  • Podsumowanie 339

Rozdział 11. Praca z nieoznakowanymi danymi - analiza skupień 341

  • Grupowanie obiektów na podstawie podobieństwa przy użyciu algorytmu centroidów 342
    • Algorytm centroidów w bibliotece scikit-learn 342
    • Inteligentniejszy sposób dobierania pierwotnych centroidów za pomocą algorytmu k-means++ 346
    • Twarda i miękka analiza skupień 347
    • Stosowanie metody łokcia do wyszukiwania optymalnej liczby skupień 349
    • Ujęcie ilościowe jakości analizy skupień za pomocą wykresu profilu 351
  • Organizowanie skupień do postaci drzewa skupień 355
    • Oddolne grupowanie skupień 356
    • Przeprowadzanie hierarchicznej analizy skupień na macierzy odległości 357
    • Dołączanie dendrogramów do mapy cieplnej 360
    • Aglomeracyjna analiza skupień w bibliotece scikit-learn 361
  • Wyznaczanie rejonów o dużej gęstości za pomocą algorytmu DBSCAN 363
  • Podsumowanie 368

Rozdział 12. Implementowanie wielowarstwowej sieci neuronowej od podstaw 369

  • Modelowanie złożonych funkcji przy użyciu sztucznych sieci neuronowych 370
    • Jednowarstwowa sieć neuronowa - powtórzenie 371
    • Wstęp do wielowarstwowej architektury sieci neuronowych 373
    • Aktywacja sieci neuronowej za pomocą propagacji w przód 376
  • Klasyfikowanie pisma odręcznego 379
    • Zestaw danych MNIST 379
    • Implementacja perceptronu wielowarstwowego 385
  • Trenowanie sztucznej sieci neuronowej 395
    • Obliczanie logistycznej funkcji kosztu 395
    • Wyjaśnienie algorytmu wstecznej propagacji 398
    • Uczenie sieci neuronowych za pomocą algorytmu propagacji wstecznej 399
  • Zbieżność w sieciach neuronowych 402
  • Jeszcze słowo o implementacji sieci neuronowej 404
  • Podsumowanie 404

Rozdział 13. Równoległe przetwarzanie sieci neuronowych za pomocą biblioteki TensorFlow 407

  • Biblioteka TensorFlow a skuteczność uczenia 408
    • Wyzwania związane z wydajnością 408
    • Czym jest biblioteka TensorFlow? 409
    • W jaki sposób będziemy poznawać bibliotekę TensorFlow? 411
  • Pierwsze kroki z biblioteką TensorFlow 411
    • Instalacja modułu TensorFlow 411
    • Tworzenie tensorów w TensorFlow 412
    • Manipulowanie typem danych i rozmiarem tensora 413
    • Przeprowadzanie operacji matematycznych na tensorach 414
    • Dzielenie, nawarstwianie i łączenie tensorów 415
  • Tworzenie potoków wejściowych za pomocą tf.data, czyli interfejsu danych TensorFlow 416
    • Tworzenie obiektów Dataset z istniejących tensorów 417
    • Łączenie dwóch tensorów we wspólny zestaw danych 418
    • Potasuj, pogrupuj, powtórz 419
    • Tworzenie zestawu danych z plików umieszczonych w lokalnym magazynie dyskowym 422
    • Pobieranie dostępnych zestawów danych z biblioteki tensorflow_datasets 425
  • Tworzenie modelu sieci neuronowej za pomocą modułu TensorFlow 430
    • Interfejs Keras (tf.keras) 430
    • Tworzenie modelu regresji liniowej 431
    • Uczenie modelu za pomocą metod .compile() i .fit() 435
    • Tworzenie perceptronu wielowarstwowego klasyfikującego kwiaty z zestawu danych Iris 436
    • Ocena wytrenowanego modelu za pomocą danych testowych 439
    • Zapisywanie i wczytywanie wyuczonego modelu 440
  • Dobór funkcji aktywacji dla wielowarstwowych sieci neuronowych 440
    • Funkcja logistyczna - powtórzenie 441
    • Szacowanie prawdopodobieństw przynależności do klas w klasyfikacji wieloklasowej za pomocą funkcji softmax 443
    • Rozszerzanie zakresu wartości wyjściowych za pomocą funkcji tangensa hiperbolicznego 444
    • Aktywacja za pomocą prostowanej jednostki liniowej (ReLU) 446
  • Podsumowanie 448

Rozdział 14. Czas na szczegóły - mechanizm działania biblioteki TensorFlow 449

  • Cechy kluczowe TensorFlow 450
  • Grafy obliczeniowe TensorFlow: migracja do wersji TensorFlow 2 451
    • Grafy obliczeniowe 451
    • Tworzenie grafu w wersji TensorFlow 1.x 452
    • Migracja grafu do wersji TensorFlow 2 453
    • Wczytywanie danych wejściowych do modelu: TensorFlow 1.x 453
    • Wczytywanie danych wejściowych do modelu: TensorFlow 2 454
    • Poprawianie wydajności obliczeniowej za pomocą dekoratorów funkcji 455
  • Obiekty Variable służące do przechowywania i aktualizowania parametrów modelu 456
  • Obliczanie gradientów za pomocą różniczkowania automatycznego i klasy GradientTape 460
    • Obliczanie gradientów funkcji straty w odniesieniu do zmiennych modyfikowalnych 460
    • Obliczanie gradientów w odniesieniu do tensorów niemodyfikowalnych 462
    • Przechowywanie zasobów na obliczanie wielu gradientów 462
  • Upraszczanie implementacji popularnych struktur za pomocą interfejsu Keras 463
    • Rozwiązywanie problemu klasyfikacji XOR 466
    • Zwiększenie możliwości budowania modeli za pomocą interfejsu funkcyjnego Keras 471
    • Implementowanie modeli bazujących na klasie Model 472
    • Pisanie niestandardowych warstw Keras 473
  • Estymatory TensorFlow 476
    • Praca z kolumnami cech 477
    • Uczenie maszynowe za pomocą gotowych estymatorów 481
    • Stosowanie estymatorów w klasyfikacji zestawu pisma odręcznego MNIST 484
    • Tworzenie niestandardowego estymatora z istniejącego modelu Keras 486
  • Podsumowanie 488

Rozdział 15. Klasyfikowanie obrazów za pomocą głębokich splotowych sieci neuronowych 489

  • Podstawowe elementy splotowej sieci neuronowej 490
    • Splotowe sieci neuronowe i hierarchie cech 490
    • Splot dyskretny 492
    • Warstwy podpróbkowania 501
  • Implementowanie sieci CNN 502
    • Praca z wieloma kanałami wejściowymi/barw 503
    • Regularyzowanie sieci neuronowej metodą porzucania 506
    • Funkcje straty w zadaniach klasyfikacji 509
  • Implementacja głębokiej sieci splotowej za pomocą biblioteki TensorFlow 511
    • Architektura wielowarstwowej sieci CNN 511
    • Wczytywanie i wstępne przetwarzanie danych 512
    • Implementowanie sieci CNN za pomocą interfejsu Keras 513
  • Klasyfikowanie płci na podstawie zdjęć twarzy za pomocą sieci splotowej 518
    • Wczytywanie zestawu danych CelebA 519
    • Przekształcanie obrazów i dogenerowanie danych 520
    • Uczenie modelu CNN jako klasyfikatora płci 525
  • Podsumowanie 530

Rozdział 16. Modelowanie danych sekwencyjnych za pomocą rekurencyjnych sieci neuronowych 533

  • Wprowadzenie do danych sekwencyjnych 534
    • Modelowanie danych sekwencyjnych - kolejność ma znaczenie 534
    • Przedstawianie sekwencji 535
    • Różne kategorie modelowania sekwencji 536
  • Sieci rekurencyjne służące do modelowania sekwencji 537
    • Mechanizm zapętlania w sieciach rekurencyjnych 537
    • Obliczanie aktywacji w sieciach rekurencyjnych 539
    • Rekurencja w warstwie ukrytej a rekurenacja w warstwie wyjściowej 542
    • Problemy z uczeniem długofalowych oddziaływań 544
    • Jednostki LSTM 546
  • Implementowanie wielowarstwowej sieci rekurencyjnej przy użyciu biblioteki TensorFlow do modelowania sekwencji 548
    • Pierwszy projekt - przewidywanie sentymentów na recenzjach z zestawu danych IMDb 548
    • Drugi projekt - modelowanie języka na poziomie znaków w TensorFlow 561
  • Przetwarzanie języka za pomocą modelu transformatora 572
    • Wyjaśnienie mechanizmu samouwagi 573
    • Wieloblokowy mechanizm uwagi i komórka transformatora 575
  • Podsumowanie 577

Rozdział 17. Generatywne sieci przeciwstawne w zadaniach syntetyzowania nowych danych 579

  • Wprowadzenie do generatywnych sieci przeciwstawnych 580
    • Autokodery 580
    • Modele generatywne syntetyzujące nowe dane 582
    • Generowanie nowych prób za pomocą sieci GAN 584
    • Funkcje straty generatora i dyskryminatora w modelu GAN 585
  • Implementowanie sieci GAN od podstaw 587
    • Uczenie modeli GAN w środowisku Google Colab 587
    • Implementacja sieci generatora i dyskryminatora 590
    • Definiowanie zestawu danych uczących 593
    • Uczenie modelu GAN 595
  • Poprawianie jakości syntetyzowanych obrazów za pomocą sieci GAN: splotowej i Wassersteina 603
    • Splot transponowany 603
    • Normalizacja wsadowa 605
    • Implementowanie generatora i dyskryminatora 607
    • Wskaźniki odmienności dwóch rozkładów 613
    • Praktyczne stosowanie odległości EM w sieciach GAN 616
    • Kara gradientowa 617
    • Implementacja sieci WGAN-DP służącej do uczenia modelu DCGAN 617
    • Załamanie modu 622
  • Inne zastosowania modeli GAN 623
  • Podsumowanie 624

Rozdział 18. Uczenie przez wzmacnianie jako mechanizm podejmowania decyzji w skomplikowanych środowiskach 625

  • Wprowadzenie: uczenie z doświadczenia 626
    • Filozofia uczenia przez wzmacnianie 626
    • Definicja interfejsu agent-środowisko w systemie uczenia przez wzmacnianie 628
  • Podstawy teoretyczne uczenia przez wzmacnianie 629
    • Procesy decyzyjne Markowa 629
    • Wyjaśnienie matematyczne procesów decyzyjnych Markowa 630
    • Terminologia uczenia przez wzmacnianie: zwrot, strategia i funkcja wartości 633
    • Programowanie dynamiczne za pomocą równania Bellmana 636
  • Algorytmy uczenia przez wzmacnianie 637
    • Programowanie dynamiczne 638
    • Uczenie przez wzmacnianie metodą Monte Carlo 641
    • Uczenie metodą różnic czasowych 643
  • Implementacja naszego pierwszego algorytmu uczenia przez wzmacnianie 646
    • Wprowadzenie do pakietu OpenAI Gym 646
    • Rozwiązywanie problemu świata blokowego za pomocą Q-uczenia 654
    • Krótko o algorytmie Q-uczenia głębokiego 658
  • Podsumowanie rozdziału i książki 665
  • Tytuł: Python. Machine learning i deep learning. Biblioteki scikit-learn i TensorFlow 2. Wydanie III
  • Autor: Sebastian Raschka, Vahid Mirjalili
  • Tytuł oryginału: Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, 3rd Edition
  • Tłumaczenie: Krzysztof Sawka
  • ISBN: 978-83-283-7002-9, 9788328370029
  • Data wydania: 2021-02-09
  • Format: Ebook
  • Identyfikator pozycji: pythu3
  • Wydawca: Helion