Szczegóły ebooka

Matematyczne modele uczenia maszynowego w językach MATLAB i PYTHON

Matematyczne modele uczenia maszynowego w językach MATLAB i PYTHON

Stanisław Osowski, Robert Szmurło

Ebook

Prezentowane opracowanie dotyczy różnych modeli i metod stosowanych w uczeniu maszynowym. W szczególności, w poszczególnych rozdziałach przedstawione są takie zagadnienia, jak: regresja liniowa; klasyfikatory KNN; klasyfikatory Bayesa; modele matematyczne drzew decyzyjnych; sieci neuronowe MLP; sieci RBF; sieci SVM do klasyfikacji i regresji; sieci głębokie (CNN, autoenkoder, LSTM, transformer); zagadnienia zdolności generalizacyjnych modeli, w tym zespoły klasyfikatorów i systemów regresyjnych; transformacje i metody redukcji wymiaru danych wielowymiarowych; metody grupowania danych wielowymiarowych; wybrane metody generacji i selekcji cech diagnostycznych; metody oceny jakości rozwiązań; podstawowe rozwiązania adaptacyjnych systemów rozmytych.
W przedstawieniu poszczególnych rozwiązań modelowych zaprezentowano zarówno strukturę pod-stawowych modeli, jak i algorytmy uczące dostosowane do konkretnego modelu.
Ponieważ z punktu widzenia aktualnego stanu wiedzy do najważniejszych rozwiązań sztucznej inteligencji należą sztuczne sieci neuronowe. Tym zagadnieniom poświęcono najwięcej uwagi, wprowadzając różne rozwiązania sieciowe, w tym perceptron wielowarstwowy (MLP), sieć o radialnej funkcji bazowej (RBF), maszynę wektorów nośnych (SVM) czy różne rozwiązania głębokich sieci neuronowych wielowarstwowych, takich jak sieć konwolucyjna (CNN), autoenkoder (AE) czy sieć LSTM.
Teoretyczne podstawy algorytmów uczących zostały zilustrowane przykładowymi programami implementującymi je przy użyciu oprogramowania Matlab i Python. Prezentowane w podręczniku skrypty z przykładami w Matlabie i Pythonie zostały udostępnione na platformie Github pod adresem: https://github.com/szmurlor/mmum.
Podręcznik jest przeznaczony dla słuchaczy wyższych lat studiów, doktorantów i ludzi zainteresowanych metodami uczenia maszynowego, podstawowego narzędzia sztucznej inteligencji. Ze względu na interdyscyplinarny charakter tematyki może być wykorzystany zarówno w informatyce, inżynierii biomedycznej, jak i innych naukach technicznych. Wprowadzenie zarówno podstawowych jak i zaawansowanych pojęć uczenia maszynowego powoduje, że może być użyteczny dla osób początkujących i zaawansowanych w tej tematyce.

1. Pojęcia wstępne uczenia maszynowego 9

2. Modele regresji liniowej 12

2.1. Wprowadzenie 12

2.2. Ogólny model regresji liniowej 13

2.3. Zastosowanie dekompozycji SVD w regresji liniowej 16

2.4. Implementacja regresji liniowej 21

3. Klasyfikatory KNN 25

4. Klasyfikatory probabilistyczne Bayesa 32

4.1. Wprowadzenie 32

4.2. Pełny klasyfikator Bayesa 32

4.3. Naiwny klasyfikator Bayesa 38

4.4. Implementacja naiwnego klasyfikatora Bayesa w Matlabie 43

5. Drzewa decyzyjne 48

5.1. Wprowadzenie 48

5.2. Struktura drzewa decyzyjnego 49

5.3. Algorytm tworzenia drzewa decyzyjnego 51

5.4. Implementacja modelu drzewa decyzyjnego 58

5.5. Las losowy drzew decyzyjnych 64

5.5.1. Opis metody 64

5.5.2. Implementacja lasu losowego 67

6. Sieć neuronowa MLP 73

6.1. Wprowadzenie 73

6.2. Struktura sieci 73

6.3. Algorytmy uczące sieci MLP 76

6.3.1. Wyznaczanie gradintu metodą propagacji wstecznej 77

6.3.2. Algorytmy gradientowe uczenia sieci 80

6.3.3. Program komputerowy do uczenia sieci MLP w Matlabie 87

6.4. Przykłady użycia sieci MLP w aproksymacji danych 90

6.5. Praktyczne wskazówki doboru struktury sieci MLP 94

7. Sieć radialna RBF 97

7.1. Struktura sieci RBF 97

7.2. Algorytmy uczące sieci RBF 98

7.2.1. Zastosowanie algorytmu samoorganizacji i dekompozycji SVD 99

7.2.2. Algorytm OLS 101

7.3. Program komputerowy do uczenia sieci radialnej w Matlabie  104

7.4. Przykłady zastosowania sieci RBF 106

7.4.1. Aproksymacja funkcji nieliniowych 106

7.4.2. Problem 2 spiral 109

7.4.3. Sieć RBF w kalibracji sztucznego nosa 110

8. Sieć wektorów nośnych SVM 112

8.1. Wprowadzenie 112

8.2. Sieć liniowa SVM w zadaniu klasyfikacji 113

8.3. Sieć nieliniowa SVM w zadaniu klasyfikacji 119

8.3.1. Interpretacja mnożników Lagrange’a w rozwiązaniu sieci 125

8.3.2. Problem klasyfikacji przy wielu klasach 126

8.4. Sieci SVM do zadań regresji 127

8.5. Przegląd algorytmów rozwiązania zadania dualnego 130

8.6. Program komputerowy uczenia sieci SVM w Matlabie 133

8.7. Przykłady implementacji uczenia sieci SVM 134

8.8. Porównanie sieci SVM z innymi rozwiązaniami neuronowymi 137

9. Sieci głębokie 141

9.1. Wprowadzenie 141

9.2. Sieć konwolucyjna CNN 142

9.2.1. Struktura sieci CNN 142

9.2.2. Podstawowe operacje w sieci CNN 144

9.2.3. Uczenie sieci CNN 150

9.3. Transfer Learning 154

9.4. Przykład użycia sieci ALEXNET w trybie transfer learning 157

9.5. Inne rozwiązania pretrenowanej architektury sieci CNN 167

9.6. Sieci CNN do detekcji obiektów w obrazie 175

9.6.1. Sieć YOLO 175

9.6.2. Sieć R-CNN 177

9.6.3. Sieć U-NET w segmentacji obrazów biomedycznych 181

9.7. Autoenkoder 182

9.7.1. Struktura autoenkodera 182

9.7.2. Funkcja celu 183

9.7.3. Proces uczenia 186

9.7.4. Przykład zastosowania autoenkodera w kodowaniu danych 188

9.8. Podstawy działania autoenkodera wariacyjnego 192

9.9. Sieci generatywne GAN 195

9.10. Głębokie sieci rekurencyjne LSTM 198

9.10.1. Wprowadzenie 198

9.10.2. Zasada działania sieci LSTM 200

9.11. Sieci transformerowe 207

9.11.1. Wprowadzenie 207

9.11.2. Enkoder 209

9.11.3. Dekoder 213

9.11.4. Uczenie sieci 215

9.11.5. Inne zastosowania sieci transformerowych 217

10. Zagadnienia generalizacji i zespoły sieci 218

10.1. Pojęcie generalizacji 218

10.2. Miara VCdim i jej związek z generalizacją 221

10.3. Metody poprawy zdolności generalizacji sieci 224

10.4. Problem generalizacji w sieciach głębokich 229

10.5. Zespoły sieci do polepszenia zdolności generalizacji 231

10.5.1. Struktura zespołu i metody integracji 231

10.5.2. Warunki właściwego działania zespołu 236

10.6. Techniki tworzenia silnych rozwiązań na bazie słabych predyktorów 240

10.6.1. AdaBoost 240

10.6.2. Gradient boosting 242

11. Transformacje i metody redukcji wymiaru danych 245

11.1. Transformacja PCA 245

11.1.1. Istota przekształcenia PCA 246

11.1.2. Implementacja przekształcenia PCA w Matlabie 249

11.1.3. Zastosowanie PCA w kompresji 251

11.1.4. PCA w zastosowaniu do ilustracji rozkładu danych wielowymiarowych 253

11.2. Przekształcenie LDA Fishera 255

11.3. Ślepa separacja sygnałów 257

11.3.1. Sformułowanie problemu ślepej separacji 257

11.3.2. Algorytmy bazujące na statystykach drugiego rzędu 260

11.3.3. Metody bazujące na statystykach wyższego rzędu 261

11.3.4. Toolbox ICALAB w Matlabie 263

11.4. Rzutowanie Sammona 268

11.5. Transformacja tSNE 269

12. Metody grupowania danych wielowymiarowych 274

12.1. Wprowadzenie 274

12.2. Miary odległości między wektorami 275

12.3. Miary odległości między klastrami 276

12.4. Algorytm K-means grupowania 278

12.5. Algorytm hierarchiczny grupowania 284

12.6. Algorytmy rozmyte grupowania 288

12.6.1. Algorytm grupowania górskiego 288

12.6.2. Algorytm c-means 291

12.7. Miary jakości grupowania danych 297

12.7.1. Miary jakości grupowania danych nieprzypisanych do klas 298

12.7.2. Miary jakości grupowania danych przypisanych do klas 300

13. Wybrane metody generacji i selekcji cech diagnostycznych 305

13.1. Wprowadzenie 305

13.2. Metody generacji cech diagnostycznych 306

13.3. Metody selekcji cech diagnostycznych 310

13.3.1. Metoda dyskryminacyjna Fishera 310

13.3.2. Metoda korelacji danych z klasą 311

13.3.3. Zastosowanie jednowejściowej sieci SVM 312

13.3.4. Zastosowanie wielowejściowej liniowej sieci SVM 313

13.3.5. Selekcja cech bazująca na sekwencji eliminacji krokowej 314

13.3.6. Selekcja przy zastosowaniu algorytmu genetycznego 317

13.3.7. Zastosowanie testu statystycznego Kolmogorova-Smirnova 319

13.3.8. Zastosowanie testu Wilcoxona-Manna-Whitneya 321

13.3.9. Selekcja przy zastosowaniu transformacji PCA 322

13.3.10. Selekcja przy zastosowaniu transformacji LDA 323

13.3.11. Selekcja przy zastosowaniu lasu losowego 326

13.3.12. Selekcja cech przy użyciu algorytmu Refi eff 328

13.3.13. Selekcja przy użyciu metody NCA 330

13.3.14. Metoda MRMR 331

14. Metody oceny jakości rozwiązań 334

14.1. Miary jakości regresji 334

14.2. Badanie jakości rozwiązań w zadaniach klasyfikacji 336

14.2.1. Miary jakości klasyfikatora 337

14.2.2. Charakterystyka ROC 341

14.3. Metody poprawy jakości klasyfikatora 346

14.3.1. Metoda różnicowania kosztu błędnej klasyfikacji 346

14.3.2. Metody równoważenia klas 348

14.3.3. Problemy klasyfikacji wieloklasowej 349

14.4. Obiektywna ocena zdolności generalizacyjnych systemu eksploracji 351

15. Adaptacyjne systemy rozmyte 352

15.1. Wprowadzenie 352

15.2. Podstawy matematyczne systemów rozmytych 353

15.3. Systemy wnioskowania 355

15.4. Struktura systemu rozmytego TSK typu ANFIS 358

15.5. Algorytm uczenia sieci ANFIS 361

15.6. Zastosowanie algorytmu grupowania rozmytego c-means w tworzeniu reguł wnioskowania 363

15.7. Zmodyfikowana struktura sieci TSK 364

Literatura 367

Skorowidz 372

  • Tytuł: Matematyczne modele uczenia maszynowego w językach MATLAB i PYTHON
  • Autor: Stanisław Osowski, Robert Szmurło
  • ISBN: 978-83-8156-598-1, 9788381565981
  • Data wydania: 2024-02-28
  • Format: Ebook
  • Identyfikator pozycji: e_3twg
  • Wydawca: Oficyna Wydawnicza Politechniki Warszawskiej