Szczegóły ebooka

Algorytmy uczenia maszynowego. Zaawansowane techniki implementacji

Algorytmy uczenia maszynowego. Zaawansowane techniki implementacji

Giuseppe Bonaccorso

Ebook

Imponujący rozwój standardowych algorytmów przy ciągłej obniżce cen sprzętu i udostępnianiu coraz to szybszych komponentów przyczynił się do zrewolucjonizowania wielu gałęzi przemysłu. Obecnie uczenie maszynowe pozwala automatyzować procesy, które do niedawna musiały być zarządzane przez człowieka. Zadania, które jeszcze dekadę temu stanowiły nieprzekraczalną przeszkodę, dziś są wykonywane przez zwykły komputer osobisty. W efekcie dzięki technologii oraz dostępnym wysokopoziomowym otwartym platformom każdy, kto zainteresuje się uczeniem maszynowym, może projektować i wdrażać niezwykle potężne modele.

Celem tej książki jest przybliżenie profesjonalistom tajników złożonych algorytmów uczenia maszynowego i zasad ich stosowania w praktyce. Poza praktycznymi informacjami dotyczącymi działania algorytmów i ich wdrożeń znalazły się tu również niezbędne podstawy teoretyczne. Opisano klasyczne modele uczenia nadzorowanego, nienadzorowanego i półnadzorowanego. Wskazano, w jakich sytuacjach okazują się one najbardziej przydatne. Zaprezentowano techniki wydobywania danych za pomocą modeli bayesowskich, algorytmu MCMC, a także dzięki stosowaniu ukrytych modeli Markowa. Omówiono zestaw przydatnych do uczenia maszynowego narzędzi, takich jak biblioteki: scikit-learn, Keras i TensorFlow.

Najciekawsze zagadnienia:

  • najważniejsze koncepcje teoretyczne uczenia maszynowego
  • modelowanie probabilistyczne i uczenie hebbowskie
  • zaawansowane koncepcje modeli neuronowych
  • modele generatywne, takie jak splotowe sieci GAN i sieci Wassersteina
  • głębokie sieci przekonań
  • zaawansowane algorytmy: TD(tylda), aktor-krytyk, SARSA i Q-uczenie

Uczenie maszynowe - już dziś zaimplementuj rozwiązania przyszłości!


O autorze 11

O recenzencie 12

Przedmowa 13

Rozdział 1. Podstawy modelu uczenia maszynowego 19

  • Modele a dane 20
    • Środkowanie i wybielanie 21
    • Zbiory uczące i walidacyjne 24
  • Cechy modelu uczenia maszynowego 29
    • Pojemność modelu 29
    • Obciążenie estymatora 32
    • Wariancja estymatora 35
  • Funkcje straty i kosztu 39
    • Przykładowe funkcje kosztu 43
    • Regularyzacja 45
  • Podsumowanie 50

Rozdział 2. Wprowadzenie do uczenia półnadzorowanego 51

  • Uczenie półnadzorowane 52
    • Uczenie transdukcyjne 53
    • Uczenie indukcyjne 53
    • Założenia w uczeniu półnadzorowanym 53
  • Generatywne mieszaniny gaussowskie 56
    • Przykład generatywnej mieszaniny gaussowskiej 58
  • Algorytm kontrastowy pesymistycznego szacowania wiarygodności 63
    • Przykład zastosowania algorytmu CPLE 65
  • Półnadzorowane maszyny wektorów nośnych (S3VM) 68
    • Przykładowy algorytm maszyny S3VM 71
  • Transdukcyjne maszyny wektorów nośnych 76
    • Przykład maszyny TSVM 77
  • Podsumowanie 82

Rozdział 3. Uczenie półnadzorowane bazujące na grafach 85

  • Propagacja etykiet 86
    • Przykład zastosowania algorytmu propagacji etykiet 89
    • Propagacja etykiet w bibliotece Scikit-Learn 91
  • Rozprzestrzenianie etykiet 94
    • Przykład zastosowania algorytmu rozprzestrzeniania etykiet 95
  • Propagacja etykiet na bazie błądzenia losowego Markowa 97
    • Przykład propagacji etykiet na podstawie błądzenia losowego Markowa 98
  • Uczenie rozmaitościowe 101
    • Algorytm Isomap 102
    • Osadzanie lokalnie liniowe 106
    • Osadzanie widmowe Laplace'a 109
  • Algorytm t-SNE 111
  • Podsumowanie 113

Rozdział 4. Sieci bayesowskie i ukryte modele Markowa 115

  • Prawdopodobieństwa warunkowe i twierdzenie Bayesa 116
  • Sieci bayesowskie 118
    • Próbkowanie w sieci bayesowskiej 119
    • Przykład próbkowania za pomocą biblioteki PyMC3 129
  • Ukryte modele Markowa 133
    • Algorytm wnioskowania ekstrapolacyjno-interpolacyjnego 134
    • Algorytm Viterbiego 141
  • Podsumowanie 144

Rozdział 5. Algorytm EM i jego zastosowania 145

  • Uczenie metodami MLE i MAP 146
  • Algorytm EM 148
    • Przykład szacowania parametrów 151
  • Mieszanina gaussowska 154
    • Przykład implementacji algorytmu mieszanin gaussowskich w bibliotece Scikit-Learn 157
  • Analiza czynnikowa (FA) 159
    • Przykład zastosowania analizy czynnikowej w bibliotece Scikit-Learn 164
  • Analiza głównych składowych (PCA) 167
    • Przykład zastosowania analizy PCA w bibliotece Scikit-Learn 173
  • Analiza składowych niezależnych (ICA) 175
    • Przykładowa implementacja algorytmu FastICA w bibliotece Scikit-Learn 178
  • Jeszcze słowo o ukrytych modelach Markowa 180
  • Podsumowanie 181

Rozdział 6. Uczenie hebbowskie i mapy samoorganizujące 183

  • Reguła Hebba 184
    • Analiza reguły kowariancji 188
    • Stabilizacja wektora wag i reguła Oji 192
  • Sieć Sangera 193
    • Przykład zastosowania sieci Sangera 196
  • Sieć Rubnera-Tavana 199
    • Przykład zastosowania sieci Rubnera-Tavana 203
  • Mapy samoorganizujące 205
    • Przykład zastosowania mapy SOM 208
  • Podsumowanie 211

Rozdział 7. Algorytmy klasteryzacji 213

  • Algorytm k-najbliższych sąsiadów 213
    • Drzewa KD 217
    • Drzewa kuliste 218
    • Przykład zastosowania algorytmu KNN w bibliotece Scikit-Learn 220
  • Algorytm centroidów 223
    • Algorytm k-means++ 225
    • Przykład zastosowania algorytmu centroidów w bibliotece Scikit-Learn 227
  • Algorytm rozmytych c-średnich 235
    • Przykład zastosowania algorytmu rozmytych c-średnich w bibliotece Scikit-Fuzzy 239
  • Klasteryzacja widmowa 242
    • Przykład zastosowania klasteryzacji widmowej w bibliotece Scikit-Learn 246
  • Podsumowanie 248

Rozdział 8. Uczenie zespołowe 249

  • Podstawy uczenia zespołów 249
  • Lasy losowe 251
    • Przykład zastosowania lasu losowego w bibliotece Scikit-Learn 257
  • Algorytm AdaBoost 260
    • AdaBoost.SAMME 264
    • AdaBoost.SAMME.R 266
    • AdaBoost.R2 268
    • Przykład zastosowania algorytmu AdaBoost w bibliotece Scikit-Learn 271
  • Wzmacnianie gradientowe 275
    • Przykład wzmacniania gradientowego drzew w bibliotece Scikit-Learn 279
  • Zespoły klasyfikatorów głosujących 282
    • Przykład zastosowania klasyfikatorów głosujących 283
  • Uczenie zespołowe jako technika doboru modeli 285
  • Podsumowanie 286

Rozdział 9. Sieci neuronowe w uczeniu maszynowym 287

  • Podstawowy sztuczny neuron 288
  • Perceptron 289
    • Przykład zastosowania perceptronu w bibliotece Scikit-Learn 292
  • Perceptrony wielowarstwowe 295
    • Funkcje aktywacji 296
    • Algorytm propagacji wstecznej 299
    • Przykład zastosowania sieci MLP w bibliotece Keras 307
  • Algorytmy optymalizacji 311
    • Perturbacja gradientu 312
    • Algorytmy momentum i Nesterova 312
    • RMSProp 313
    • Adam 315
    • AdaGrad 316
    • AdaDelta 317
  • Regularyzacja i porzucanie 318
    • Porzucanie 320
  • Normalizacja wsadowa 326
    • Przykład zastosowania normalizacji wsadowej w bibliotece Keras 328
  • Podsumowanie 330

Rozdział 10. Zaawansowane modele neuronowe 333

  • Głębokie sieci splotowe 334
    • Operacje splotu 335
    • Warstwy łączące 344
    • Inne przydatne warstwy 347
    • Przykłady stosowania głębokich sieci splotowych w bibliotece Keras 348
  • Sieci rekurencyjne 356
    • Algorytm propagacji wstecznej w czasie (BPTT) 357
    • Jednostki LSTM 360
    • Jednostki GRU 365
    • Przykład zastosowania sieci LSTM w bibliotece Keras 367
  • Uczenie transferowe 371
  • Podsumowanie 373

Rozdział 11. Autokodery 375

  • Autokodery 375
    • Przykład głębokiego autokodera splotowego w bibliotece TensorFlow 377
    • Autokodery odszumiające 381
    • Autokodery rzadkie 384
  • Autokodery wariacyjne 386
    • Przykład stosowania autokodera wariacyjnego w bibliotece TensorFlow 389
  • Podsumowanie 391

Rozdział 12. Generatywne sieci przeciwstawne 393

  • Uczenie przeciwstawne 393
    • Przykład zastosowania sieci DCGAN w bibliotece TensorFlow 397
  • Sieć Wassersteina (WGAN) 403
    • Przykład zastosowania sieci WGAN w bibliotece TensorFlow 405
  • Podsumowanie 408

Rozdział 13. Głębokie sieci przekonań 409

  • Losowe pola Markowa 410
  • Ograniczone maszyny Boltzmanna 411
  • Sieci DBN 415
    • Przykład stosowania nienadzorowanej sieci DBN w środowisku Python 417
    • Przykład stosowania nadzorowanej sieci DBN w środowisku Python 420
  • Podsumowanie 422

Rozdział 14. Wstęp do uczenia przez wzmacnianie 423

  • Podstawowe terminy w uczeniu przez wzmacnianie 423
    • Środowisko 425
    • Polityka 429
  • Iteracja polityki 430
    • Iteracja polityki w środowisku szachownicy 434
  • Iteracja wartości 438
    • Iteracja wartości w środowisku szachownicy 439
  • Algorytm TD(0) 442
    • Algorytm TD(0) w środowisku szachownicy 445
  • Podsumowanie 448

Rozdział 15. Zaawansowane algorytmy szacowania polityki 451

  • Algorytm TD(λ) 452
    • Algorytm TD(λ) w bardziej skomplikowanym środowisku szachownicy 456
    • Algorytm aktor-krytyk TD(0) w środowisku szachownicy 462
  • Algorytm SARSA 467
    • Algorytm SARSA w środowisku szachownicy 469
  • Q-uczenie 472
    • Algorytm Q-uczenia w środowisku szachownicy 473
    • Algorytm Q-uczenia za pomocą sieci neuronowej 475
  • Podsumowanie 482

Skorowidz 485

  • Tytuł: Algorytmy uczenia maszynowego. Zaawansowane techniki implementacji
  • Autor: Giuseppe Bonaccorso
  • Tytuł oryginału: Mastering Machine Learning Algorithms: Expert techniques to implement popular machine learning algorithms and fine-tune your models
  • Tłumaczenie: Beata Pawlak, Krzysztof Sawka
  • ISBN: 978-83-283-5246-9, 9788328352469
  • Data wydania: 2019-07-09
  • Format: Ebook
  • Identyfikator pozycji: alguma
  • Wydawca: Helion