Szczegóły ebooka

Python. Uczenie maszynowe w przykładach. TensorFlow 2, PyTorch i scikit-learn. Wydanie III

Python. Uczenie maszynowe w przykładach. TensorFlow 2, PyTorch i scikit-learn. Wydanie III

Yuxi (Hayden) Liu

Ebook

Systemy oparte na uczeniu maszynowym są coraz bardziej wyrafinowane. Spośród wielu narzędzi służących do implementacji algorytmów uczenia maszynowego najpopularniejszy okazał się Python wraz z jego bibliotekami. Znajomość tych narzędzi umożliwia sprawne tworzenie systemów uczących się, jednak uzyskanie spektakularnych wyników wymaga doświadczenia i wprawy. Konieczne są więc ćwiczenia i praktyka w samodzielnym rozwiązywaniu problemów.

To trzecie wydanie popularnego podręcznika, który ułatwi Ci zdobycie praktycznej wiedzy o uczeniu maszynowym w Pythonie. Zapoznasz się z różnymi technikami implementacji algorytmów uczenia maszynowego. Przeanalizujesz rzeczywiste przykłady techniki eksploracyjnej analizy danych, inżynierii cech, klasyfikacji danych, regresji, klastrowania i przetwarzania języka naturalnego. To wydanie uzupełniono o najnowsze zagadnienia ważne dla biznesu, takie jak tworzenie systemu rekomendacji, rozpoznawanie twarzy, prognozowanie cen akcji, klasyfikowanie zdjęć, prognozowanie sekwencji danych i zastosowanie uczenia przez wzmacnianie w podejmowaniu decyzji. Dzięki książce poznasz omawiane zagadnienia od strony praktycznej i zdobędziesz wiedzę potrzebną do skutecznego rozwiązywania problemów z systemami uczącymi się.

W książce między innymi:

  • gruntowne podstawy uczenia maszynowego i nauki o danych
  • techniki eksploracji i analizy danych za pomocą kodu Pythona
  • trenowanie modeli za pomocą Apache Spark
  • przetwarzanie języka naturalnego przy użyciu bibliotek Pythona
  • praktyczne wdrażanie modeli i algorytmów uczenia maszynowego
  • korzystanie z bibliotek Pythona: TensorFlow 2, PyTorch i scikit-learn

Wypróbuj najlepsze praktyki uczenia maszynowego z Pythonem!

O autorze

O korektorach merytorycznych

Rozdział 1. Pierwsze kroki z uczeniem maszynowym w Pythonie

  • Wprowadzenie do uczenia maszynowego
    • Dlaczego uczenie maszynowe jest potrzebne?
    • Różnice między uczeniem maszynowym a automatyką
    • Zastosowania uczenia maszynowego
  • Wstępne wymagania
  • Trzy rodzaje uczenia maszynowego
  • Istota uczenia maszynowego
    • Uogólnianie danych
    • Nadmierne i niedostateczne dopasowanie modelu oraz kompromis między obciążeniem a wariancją
    • Zapobieganie nadmiernemu dopasowaniu poprzez weryfikację krzyżową
    • Zapobieganie nadmiernemu dopasowaniu za pomocą regularyzacji
    • Zapobieganie nadmiernemu dopasowaniu poprzez selekcję cech i redukcję wymiarowości
  • Wstępne przetwarzanie danych i inżynieria cech
    • Wstępne przetwarzanie i eksploracja danych
    • Inżynieria cech
  • Łączenie modeli
    • Głosowanie i uśrednianie
    • Agregacja bootstrap
    • Wzmacnianie
    • Składowanie
  • Instalacja i konfiguracja oprogramowania
    • Przygotowanie Pythona i środowiska pracy
    • Instalacja najważniejszych pakietów Pythona
    • Wprowadzenie do pakietu TensorFlow 2
  • Podsumowanie
  • Ćwiczenia

Rozdział 2. Tworzenie systemu rekomendacji filmów na bazie naiwnego klasyfikatora Bayesa

  • Pierwsze kroki z klasyfikacją
    • Klasyfikacja binarna
    • Klasyfikacja wieloklasowa
    • Klasyfikacja wieloetykietowa
  • Naiwny klasyfikator Bayesa
    • Twierdzenie Bayesa w przykładach
    • Mechanizm naiwnego klasyfikatora Bayesa
  • Implementacja naiwnego klasyfikatora Bayesa
    • Implementacja od podstaw
    • Implementacja z wykorzystaniem pakietu scikit-learn
  • Budowanie systemu rekomendacyjnego na bazie klasyfikatora Bayesa
  • Ocena jakości klasyfikacji
  • Strojenie modeli poprzez weryfikację krzyżową
  • Podsumowanie
  • Ćwiczenia
  • Bibliografia

Rozdział 3. Rozpoznawanie twarzy przy użyciu maszyny wektorów nośnych

  • Określanie granic klas za pomocą maszyny wektorów nośnych
    • Scenariusz 1. Określenie hiperpłaszczyzny rozdzielającej
    • Scenariusz 2. Określenie optymalnej hiperpłaszczyzny rozdzielającej
    • Scenariusz 3. Przetwarzanie punktów odstających
    • Implementacja maszyny wektorów nośnych
    • Scenariusz 4. Więcej niż dwie klasy
    • Scenariusz 5. Rozwiązywanie nierozdzielnego liniowo problemu za pomocą jądra
    • Wybór między jądrem liniowym a radialną funkcją bazową
  • Klasyfikowanie zdjęć twarzy za pomocą maszyny wektorów nośnych
    • Badanie zbioru zdjęć twarzy
    • Tworzenie klasyfikatora obrazów opartego na maszynie wektorów nośnych
    • Zwiększanie skuteczności klasyfikatora obrazów za pomocą analizy głównych składowych
  • Klasyfikacja stanu płodu w kardiotokografii
  • Podsumowanie
  • Ćwiczenia

Rozdział 4. Prognozowanie kliknięć reklam internetowych przy użyciu algorytmów drzewiastych

  • Wprowadzenie do prognozowania kliknięć reklam
  • Wprowadzenie do dwóch typów danych: liczbowych i kategorialnych
  • Badanie drzewa decyzyjnego od korzeni do liści
    • Budowanie drzewa decyzyjnego
    • Wskaźniki jakości podziału zbioru
  • Implementacja drzewa decyzyjnego od podstaw
  • Implementacja drzewa decyzyjnego za pomocą biblioteki scikit-learn
  • Prognozowanie kliknięć reklam za pomocą drzewa decyzyjnego
  • Gromadzenie drzew decyzyjnych: las losowy
  • Gromadzenie drzew decyzyjnych: drzewa ze wzmocnieniem gradientowym
  • Podsumowanie
  • Ćwiczenia

Rozdział 5. Prognozowanie kliknięć reklam internetowych przy użyciu regresji logistycznej

  • Klasyfikowanie danych z wykorzystaniem regresji logistycznej
    • Wprowadzenie do funkcji logistycznej
    • Przejście od funkcji logistycznej do regresji logistycznej
  • Trening modelu opartego na regresji logistycznej
    • Trening modelu opartego na regresji logistycznej z gradientem prostym
    • Prognozowanie kliknięć reklam z wykorzystaniem regresji logistycznej z gradientem prostym
    • Trening modelu opartego na regresji logistycznej ze stochastycznym gradientem prostym
    • Trening modelu opartego na regresji logistycznej z regularyzacją
    • Selekcja cech w regularyzacji L1
  • Trening modelu na dużym zbiorze danych z uczeniem online
  • Klasyfikacja wieloklasowa
  • Implementacja regresji logistycznej za pomocą pakietu TensorFlow
  • Selekcja cech z wykorzystaniem lasu losowego
  • Podsumowanie
  • Ćwiczenia

Rozdział 6. Skalowanie modelu prognozującego do terabajtowych dzienników kliknięć

  • Podstawy Apache Spark
    • Komponenty
    • Instalacja
    • Uruchamianie i wdrażanie programów
  • Programowanie z wykorzystywaniem modułu PySpark
  • Trenowanie modelu na bardzo dużych zbiorach danych za pomocą narzędzia Apache Spark
    • Załadowanie danych o kliknięciach reklam
    • Podzielenie danych i umieszczenie ich w pamięci
    • Zakodowanie "1 z n" cech kategorialnych
    • Trening i testy modelu regresji logistycznej
  • Inżynieria cech i wartości kategorialnych przy użyciu narzędzia Apache Spark
    • Mieszanie cech kategorialnych
    • Interakcja cech, czyli łączenie zmiennych
  • Podsumowanie
  • Ćwiczenia

Rozdział 7. Prognozowanie cen akcji za pomocą algorytmów regresji

  • Krótkie wprowadzenie do giełdy i cen akcji
  • Co to jest regresja?
  • Pozyskiwanie cen akcji
    • Pierwsze kroki z inżynierią cech
    • Pozyskiwanie danych i generowanie cech
  • Szacowanie za pomocą regresji liniowej
    • Jak działa regresja liniowa?
    • Implementacja regresji liniowej od podstaw
    • Implementacja regresji liniowej z wykorzystaniem pakietu scikit-learn
    • Implementacja regresji liniowej z wykorzystaniem pakietu TensorFlow
  • Prognozowanie za pomocą regresyjnego drzewa decyzyjnego
    • Przejście od drzewa klasyfikacyjnego do regresyjnego
    • Implementacja regresyjnego drzewa decyzyjnego
    • Implementacja lasu regresyjnego
  • Prognozowanie za pomocą regresji wektorów nośnych
    • Implementacja regresji wektorów nośnych
  • Ocena jakości regresji
  • Prognozowanie cen akcji za pomocą trzech algorytmów regresji
  • Podsumowanie
  • Ćwiczenia

Rozdział 8. Prognozowanie cen akcji za pomocą sieci neuronowych

  • Demistyfikacja sieci neuronowych
    • Pierwsze kroki z jednowarstwową siecią neuronową
    • Funkcje aktywacji
    • Propagacja wstecz
    • Wprowadzanie kolejnych warstw do sieci neuronowej i uczenie głębokie
  • Tworzenie sieci neuronowej
    • Implementacja sieci neuronowej od podstaw
    • Implementacja sieci neuronowej przy użyciu pakietu scikit-learn
    • Implementacja sieci neuronowej przy użyciu pakietu TensorFlow
  • Dobór właściwej funkcji aktywacji
  • Zapobieganie nadmiernemu dopasowaniu sieci
    • Dropout
    • Wczesne zakończenie treningu
  • Prognozowanie cen akcji za pomocą sieci neuronowej
    • Trening prostej sieci neuronowej
    • Dostrojenie parametrów sieci neuronowej
  • Podsumowanie
  • Ćwiczenie

Rozdział 9. Badanie 20 grup dyskusyjnych przy użyciu technik analizy tekstu

  • Jak komputery rozumieją ludzi, czyli przetwarzanie języka naturalnego
    • Czym jest przetwarzanie języka naturalnego?
    • Historia przetwarzania języka naturalnego
    • Zastosowania przetwarzania języka naturalnego
  • Przegląd bibliotek Pythona i podstawy przetwarzania języka naturalnego
    • Instalacja najważniejszych bibliotek
    • Korpusy
    • Tokenizacja
    • Oznaczanie części mowy
    • Rozpoznawanie jednostek nazwanych
    • Stemming i lematyzacja
    • Modelowanie semantyczne i tematyczne
  • Pozyskiwanie danych z grup dyskusyjnych
  • Badanie danych z grup dyskusyjnych
  • Przetwarzanie cech danych tekstowych
    • Zliczanie wystąpień wszystkich tokenów
    • Wstępne przetwarzanie tekstu
    • Usuwanie stop-słów
    • Upraszczanie odmian
  • Wizualizacja danych tekstowych z wykorzystaniem techniki t-SNE
    • Co to jest redukcja wymiarowości?
    • Redukcja wymiarowości przy użyciu techniki t-SNE
  • Podsumowanie
  • Ćwiczenia

Rozdział 10. Wyszukiwanie ukrytych tematów w grupach dyskusyjnych poprzez ich klastrowanie i modelowanie tematyczne

  • Nauka bez wskazówek, czyli uczenie nienadzorowane
  • Klastrowanie grup dyskusyjnych metodą k-średnich
    • Jak działa klastrowanie metodą k-średnich?
    • Implementacja klastrowania metodą k-średnich od podstaw
    • Implementacja klastrowania metodą k-średnich z wykorzystaniem pakietu scikit-learn
    • Dobór wartości k
    • Klastrowanie danych z grup dyskusyjnych metodą k-średnich
  • Odkrywanie ukrytych tematów grup dyskusyjnych
    • Modelowanie tematyczne z wykorzystaniem nieujemnej faktoryzacji macierzy
    • Modelowanie tematyczne z wykorzystaniem ukrytej alokacji Dirichleta
  • Podsumowanie
  • Ćwiczenia

Rozdział 11. Dobre praktyki uczenia maszynowego

  • Proces rozwiązywania problemów uczenia maszynowego
  • Dobre praktyki przygotowywania danych
    • Dobra praktyka nr 1. Dokładne poznanie celu projektu
    • Dobra praktyka nr 2. Zbieranie wszystkich istotnych pól
    • Dobra praktyka nr 3. Ujednolicenie danych
    • Dobra praktyka nr 4. Opracowanie niekompletnych danych
    • Dobra praktyka nr 5. Przechowywanie dużych ilości danych
  • Dobre praktyki tworzenia zbioru treningowego
    • Dobra praktyka nr 6. Oznaczanie cech kategorialnych liczbami
    • Dobra praktyka nr 7. Rozważenie kodowania cech kategorialnych
    • Dobra praktyka nr 8. Rozważenie selekcji cech i wybór odpowiedniej metody
    • Dobra praktyka nr 9. Rozważenie redukcji wymiarowości i wybór odpowiedniej metody
    • Dobra praktyka nr 10. Rozważenie normalizacji cech
    • Dobra praktyka nr 11. Inżynieria cech na bazie wiedzy eksperckiej
    • Dobra praktyka nr 12. Inżynieria cech bez wiedzy eksperckiej
    • Dobra praktyka nr 13. Dokumentowanie procesu tworzenia cech
    • Dobra praktyka nr 14. Wyodrębnianie cech z danych tekstowych
  • Dobre praktyki trenowania, oceniania i wybierania modelu
    • Dobra praktyka nr 15. Wybór odpowiedniego algorytmu początkowego
    • Dobra praktyka nr 16. Zapobieganie nadmiernemu dopasowaniu
    • Dobra praktyka nr 17. Diagnozowanie nadmiernego i niedostatecznego dopasowania
    • Dobra praktyka nr 18. Modelowanie dużych zbiorów danych
  • Dobre praktyki wdrażania i monitorowania modelu
    • Dobra praktyka nr 19. Zapisywanie, ładowanie i wielokrotne stosowanie modelu
    • Dobra praktyka nr 20. Monitorowanie skuteczności modelu
    • Dobra praktyka nr 21. Regularne aktualizowanie modelu
  • Podsumowanie
  • Ćwiczenia

Rozdział 12. Kategoryzacja zdjęć odzieży przy użyciu konwolucyjnej sieci neuronowej

  • Bloki konstrukcyjne konwolucyjnej sieci neuronowej
    • Warstwa konwolucyjna
    • Warstwa nieliniowa
    • Warstwa redukująca
  • Budowanie konwolucyjnej sieci neuronowej na potrzeby klasyfikacji
  • Badanie zbioru zdjęć odzieży
  • Klasyfikowanie zdjęć odzieży za pomocą konwolucyjnej sieci neuronowej
    • Tworzenie sieci
    • Trening sieci
    • Wizualizacja filtrów konwolucyjnych
  • Wzmacnianie konwolucyjnej sieci neuronowej poprzez uzupełnianie danych
    • Odwracanie obrazów w poziomie i pionie
    • Obracanie obrazów
    • Przesuwanie obrazów
  • Usprawnianie klasyfikatora obrazów poprzez uzupełnianie danych
  • Podsumowanie
  • Ćwiczenia

Rozdział 13. Prognozowanie sekwencji danych przy użyciu rekurencyjnej sieci neuronowej

  • Wprowadzenie do uczenia sekwencyjnego
  • Architektura rekurencyjnej sieci neuronowej na przykładzie
    • Mechanizm rekurencyjny
    • Sieć typu "wiele do jednego"
    • Sieć typu "jedno do wielu"
    • Sieć synchroniczna typu "wiele do wielu"
    • Sieć niesynchroniczna typu "wiele do wielu"
  • Trening rekurencyjnej sieci neuronowej
  • Długoterminowe zależności i sieć LSTM
  • Analiza recenzji filmowych za pomocą sieci neuronowej
    • Analiza i wstępne przetworzenie recenzji
    • Zbudowanie prostej sieci LSTM
    • Poprawa skuteczności poprzez wprowadzenie dodatkowych warstw
  • Pisanie nowej powieści "Wojna i pokój" za pomocą rekurencyjnej sieci neuronowej
    • Pozyskanie i analiza danych treningowych
    • Utworzenie zbioru treningowego dla generatora tekstu
    • Utworzenie generatora tekstu
    • Trening generatora tekstu
  • Zaawansowana analiza języka przy użyciu modelu Transformer
    • Architektura modelu
    • Samouwaga
  • Podsumowanie
  • Ćwiczenia

Rozdział 14. Podejmowanie decyzji w skomplikowanych warunkach z wykorzystaniem uczenia przez wzmacnianie

  • Przygotowanie środowiska do uczenia przez wzmacnianie
    • Instalacja biblioteki PyTorch
    • Instalacja narzędzi OpenAI Gym
  • Wprowadzenie do uczenia przez wzmacnianie z przykładami
    • Komponenty uczenia przez wzmacnianie
    • Sumaryczna nagroda
    • Algorytmy uczenia przez wzmacnianie
  • Problem FrozenLake i programowanie dynamiczne
    • Utworzenie środowiska FrozenLake
    • Rozwiązanie problemu przy użyciu algorytmu iteracji wartości
    • Rozwiązanie problemu przy użyciu algorytmu iteracji polityki
  • Metoda Monte Carlo uczenia przez wzmacnianie
    • Utworzenie środowiska Blackjack
    • Ocenianie polityki w metodzie Monte Carlo
    • Sterowanie Monte Carlo z polityką
  • Problem taksówkarza i algorytm Q-uczenia
    • Utworzenie środowiska Taxi
    • Implementacja algorytmu Q-uczenia
  • Podsumowanie
  • Ćwiczenia

Skorowidz

  • Tytuł: Python. Uczenie maszynowe w przykładach. TensorFlow 2, PyTorch i scikit-learn. Wydanie III
  • Autor: Yuxi (Hayden) Liu
  • Tytuł oryginału: Python Machine Learning By Example: Build intelligent systems using Python, TensorFlow 2, PyTorch, and scikit-learn, 3rd Edition
  • Tłumaczenie: Andrzej Watrak
  • ISBN: 978-83-283-8871-0, 9788328388710
  • Data wydania: 2022-06-28
  • Format: Ebook
  • Identyfikator pozycji: pytuc3
  • Wydawca: Helion