Python. Uczenie maszynowe w przykładach. TensorFlow 2, PyTorch i scikit-learn. Wydanie 3 - ebook
Python. Uczenie maszynowe w przykładach. TensorFlow 2, PyTorch i scikit-learn. Wydanie 3 - 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!
Spis treści
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
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8871-0 |
Rozmiar pliku: | 14 MB |