Details zum E-Book

Uczenie maszynowe z językiem JavaScript. Rozwiązywanie złożonych problemów

Uczenie maszynowe z językiem JavaScript. Rozwiązywanie złożonych problemów

Burak Kanber

E-book

Uczenie maszynowe jeszcze kilka lat temu stanowiło niemal wiedzę tajemną. Nieliczni eksperci w tej dziedzinie publikowali materiały w naukowym, matematycznym języku, który wymagał biegłości w algebrze liniowej czy rachunku wektorowym. Korzystano najczęściej z Pythona i jego bibliotek. Obecnie, wraz ze wzrostem popularności uczenia maszynowego, zwiększają się możliwości jego praktycznej implementacji. Rzeczywista biegłość w tej dziedzinie wymaga jednak dogłębnego zrozumienia mechaniki działania algorytmów stosowanych w uczeniu maszynowym. Implementacja tych algorytmów w JavaScripcie jest znakomitym wyborem: język ten stał się dojrzałym, potężnym i wszechstronnym narzędziem do rozwiązywania złożonych problemów.

Chcesz nauczyć się implementacji algorytmów uczenia maszynowego bez zbytniego zagłębiania się w niuanse matematyczne? Jeśli dodatkowo znasz język JavaScript, ta książka jest dla Ciebie idealnym wyborem. Wyjaśniono w niej, w jaki sposób tworzyć własne implementacje, podano też przykłady przydatnych bibliotek. Sporo miejsca poświęcono sieciom neuronowym, ich architekturze i przykładom zastosowania. Przedstawiono takie zagadnienia jak wykrywanie twarzy, filtrowanie spamu, tworzenie systemów rekomendacji, rozpoznawanie znaków oraz przetwarzanie języka naturalnego. Znalazły się tu również wskazówki dotyczące dobierania odpowiednich bibliotek JavaScriptu, takich jak NaturalNode, brain, harthur oraz klasyfikatory, co umożliwia projektowanie bardziej inteligentnych aplikacji.

Najważniejsze zagadnienia przedstawione w książce:

  • potencjał JavaScriptu w uczeniu maszynowym
  • algorytmy grupowania, klasyfikacji, reguły kojarzenia
  • algorytmy regresji, przewidywanie wzorców i predykcja
  • sieci neuronowe i głębokie sieci neuronowe
  • uczenie maszynowe w aplikacjach czasu rzeczywistego

Uczenie maszynowe - coś dla wyjadaczy JavaScriptu!


O autorze 7

O recenzencie 8

Wstęp 9

Rozdział 1. Poznawanie potencjału języka JavaScript 15

  • Język JavaScript 15
  • Uczenie maszynowe 18
  • Zalety i wyzwania związane ze stosowaniem języka JavaScript 20
  • Inicjatywa CommonJS 21
  • Node.js 22
  • Język TypeScript 24
  • Usprawnienia wprowadzone w ES6 26
    • Let i const 26
    • Klasy 27
    • Importowanie modułów 29
    • Funkcje strzałkowe 29
    • Literały obiektowe 31
    • Funkcja for...of 31
    • Obietnice 32
    • Funkcje async/wait 33
  • Przygotowywanie środowiska programistycznego 34
    • Instalowanie Node.js 34
    • Opcjonalne zainstalowanie Yarn 35
    • Tworzenie i inicjowanie przykładowego projektu 35
    • Tworzenie projektu "Witaj, świecie!" 36
  • Podsumowanie 38

Rozdział 2. Badanie danych 39

  • Przetwarzanie danych 39
  • Identyfikacja cech 42
    • Przekleństwo wymiarowości 43
    • Wybór cech oraz wyodrębnianie cech 45
    • Przykład korelacji Pearsona 48
  • Czyszczenie i przygotowywanie danych 51
    • Obsługa brakujących danych 51
    • Obsługa szumów 53
    • Obsługa elementów odstających 58
    • Przekształcanie i normalizacja danych 61
  • Podsumowanie 68

Rozdział 3. Przegląd algorytmów uczenia maszynowego 69

  • Wprowadzenie do uczenia maszynowego 70
  • Typy uczenia 70
    • Uczenie nienadzorowane 72
    • Uczenie nadzorowane 75
    • Uczenie przez wzmacnianie 83
  • Kategorie algorytmów 84
    • Grupowanie 84
    • Klasyfikacja 84
    • Regresja 85
    • Redukcja wymiarowości 85
    • Optymalizacja 86
    • Przetwarzanie języka naturalnego 86
    • Przetwarzanie obrazów 87
  • Podsumowanie 87

Rozdział 4. Algorytmy grupowania na podstawie klastrów 89

  • Średnia i odległość 90
  • Pisanie algorytmu k-średnich 93
    • Przygotowanie środowiska 93
    • Inicjalizacja algorytmu 94
    • Testowanie losowo wygenerowanych centroidów 99
    • Przypisywanie punktów do centroidów 100
    • Aktualizowanie położenia centroidów 102
    • Pętla główna 106
  • Przykład 1. - k-średnich na prostych danych dwuwymiarowych 107
  • Przykład 2. - dane trójwymiarowe 114
  • Algorytm k-średnich, kiedy k nie jest znane 116
  • Podsumowanie 122

Rozdział 5. Algorytmy klasyfikacji 123

  • k najbliższych sąsiadów 124
    • Implementacja algorytmu KNN 125
  • Naiwny klasyfikator bayesowski 138
    • Tokenizacja 140
    • Implementacja algorytmu 141
    • Przykład 3. - ocenianie charakteru recenzji filmów 150
  • Maszyna wektorów nośnych 154
  • Lasy losowe 162
  • Podsumowanie 168

Rozdział 6. Algorytmy reguł asocjacyjnych 169

  • Z matematycznego punktu widzenia 171
  • Z punktu widzenia algorytmu 174
  • Zastosowania reguły asocjacji 176
  • Przykład - dane ze sprzedaży detalicznej 178
  • Podsumowanie 182

Rozdział 7. Przewidywanie z użyciem algorytmów regresji 183

  • Porównanie regresji i klasyfikacji 184
  • Podstawy regresji 185
  • Przykład 1. - regresja liniowa 189
  • Przykład 2. - regresja wykładnicza 193
  • Przykład 3. - regresja wielomianowa 198
  • Inne techniki analizy szeregów czasowych 200
    • Filtrowanie 201
    • Analiza sezonowości 203
    • Analiza fourierowska 204
  • Podsumowanie 206

Rozdział 8. Algorytmy sztucznych sieci neuronowych 209

  • Opis koncepcji sieci neuronowych 210
  • Uczenie metodą propagacji wstecznej 214
  • Przykład - XOR z użyciem TensorFlow.js 217
  • Podsumowanie 224

Rozdział 9. Głębokie sieci neuronowe 227

  • Konwolucyjne sieci neuronowe 228
    • Konwolucje oraz warstwy konwolucyjne 229
    • Przykład - zbiór MNIST ręcznie zapisanych cyfr 234
  • Rekurencyjne sieci neuronowe 241
    • SimpleRNN 242
    • Topologia GRU 246
    • Długa pamięć krótkoterminowa - LSTM 249
  • Podsumowanie 252

Rozdział 10. Przetwarzanie języka naturalnego w praktyce 253

  • Odległość edycyjna 255
  • Ważenie termów - odwrotna częstość w dokumentach 257
  • Tokenizacja 263
  • Stemming 270
  • Fonetyka 272
  • Oznaczanie części mowy 274
  • Techniki przekazywania słów do sieci neuronowych 276
  • Podsumowanie 279

Rozdział 11. Stosowanie uczenia maszynowego w aplikacjach czasu rzeczywistego 281

  • Serializacja modeli 282
    • Uczenie modeli na serwerze 283
    • Wątki robocze 286
    • Modele samodoskonalące oraz spersonalizowane 287
  • Potokowanie danych 290
    • Przeszukiwanie danych 291
    • Łączenie i agregacja danych 293
    • Przekształcenia i normalizacja 295
    • Przechowywanie i dostarczanie danych 298
  • Podsumowanie 300

Rozdział 12. Wybieranie najlepszego algorytmu dla aplikacji 303

  • Tryb uczenia 305
  • Zadanie do wykonania 308
  • Format, postać, wejście i wyjście 309
  • Dostępne zasoby 312
  • W razie problemów 313
  • Łączenie modeli 316
  • Podsumowanie 318

Skorowidz 321

  • Titel: Uczenie maszynowe z językiem JavaScript. Rozwiązywanie złożonych problemów
  • Autor: Burak Kanber
  • Originaler Titel: Hands-on Machine Learning with JavaScript: Solve complex computational web problems using machine learning
  • Übersetzung: Piotr Rajca
  • ISBN: 978-83-283-5197-4, 9788328351974
  • Veröffentlichungsdatum: 2019-06-18
  • Format: E-book
  • Artikelkennung: umasjs
  • Verleger: Helion