Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow - Helion
Tytuł oryginału: Hands-On Machine Learning with Scikit-Learn and TensorFlow
TÅ‚umaczenie: Krzysztof Sawka
ISBN: 978-83-283-4373-3
stron: 528, Format: 168x237, okładka: miękka
Data wydania: 2018-08-17
Księgarnia: Helion
Cena książki: 89,00 zł
PojÄ™cia, techniki i narzÄ™dzia sÅ‚użące do tworzenia systemów inteligentnych
W ciÄ…gu ostatnich lat uczenie maszynowe staÅ‚o siÄ™ sercem wielu nowoczesnych produktów, takich jak zaawansowane techniki wyszukiwania w przeglÄ…darkach, rozpoznawanie mowy w smartfonach czy proponowanie treÅ›ci w zależnoÅ›ci od indywidualnych preferencji użytkownika. Być może niedÅ‚ugo taki system inteligentny zastÄ…pi CiÄ™ za kierownicÄ… samochodu. Uczenie gÅ‚Ä™bokie wprowadziÅ‚o nowÄ… jakość do uczenia maszynowego. Daje niesamowite możliwoÅ›ci, jednak wymaga olbrzymiej mocy obliczeniowej i potężnych iloÅ›ci danych. ProgramiÅ›ci implementujÄ…cy takie rozwiÄ…zania sÄ… poszukiwanymi specjalistami i mogÄ… liczyć na ekscytujÄ…ce oferty!
Ta książka jest praktycznym podrÄ™cznikiem tworzenia systemów inteligentnych. Przedstawiono tu najważniejsze zagadnienia teoretyczne dotyczÄ…ce uczenia maszynowego i sieci neuronowych. W zrozumiaÅ‚y sposób zaprezentowano koncepcje i narzÄ™dzia sÅ‚użące do tworzenia systemów inteligentnych. Opisano Scikit-Learn i TensorFlow - Å›rodowiska produkcyjne jÄ™zyka Python - i pokazano krok po kroku, w jaki sposób wykorzystuje siÄ™ je do implementacji sieci neuronowych. Liczne praktyczne przykÅ‚ady i ćwiczenia pozwolÄ… na pogÅ‚Ä™bienie i utrwalenie zdobytej wiedzy. JeÅ›li tylko potrafisz posÅ‚ugiwać siÄ™ Pythonem, dziÄ™ki tej przystÄ™pnie napisanej książce szybko zaczniesz implementować systemy inteligentne.
W tej książce między innymi:
- podstawowe koncepcje uczenia maszynowego, uczenia głębokiego i sieci neuronowych
- przygotowywanie zbiorów danych i zarzÄ…dzanie nimi
- algorytmy uczenia maszynowego
- rodzaje architektury sieci neuronowych
- uczenie głębokich sieci neuronowych
- olbrzymie zbiory danych i uczenie poprzez wzmacnianie
Już dziś zacznij tworzyć systemy inteligentne!
Osoby które kupowały "Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow", wybierały także:
- GraphQL. Kurs video. Buduj nowoczesne API w Pythonie 169,00 zł, (50,70 zł -70%)
- Receptura na Python. Kurs Video. 54 praktyczne porady dla programist 199,00 zł, (59,70 zł -70%)
- Podstawy Pythona z Minecraftem. Kurs video. Piszemy pierwsze skrypty 149,00 zł, (44,70 zł -70%)
- Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę PyGame 249,00 zł, (74,70 zł -70%)
- Data Science w Pythonie. Kurs video. Algorytmy uczenia maszynowego 199,00 zł, (59,70 zł -70%)
Spis treści
Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow -- spis treści
- Przedmowa
- Fenomen uczenia maszynowego
- Uczenie maszynowe w Twoich projektach
- Cel i sposób jego osiÄ…gniÄ™cia
- Wymogi wstępne
- Zawartość książki
- Dodatkowe zasoby
- Konwencje stosowane w książce
- Korzystanie z kodu źródÅ‚owego
- Podziękowania
- Część I Podstawy uczenia maszynowego
- Rozdział 1. Krajobraz uczenia maszynowego
- Czym jest uczenie maszynowe?
- Dlaczego warto korzystać z uczenia maszynowego?
- Rodzaje systemów uczenia maszynowego
- Uczenie nadzorowane/nienadzorowane
- Uczenie nadzorowane
- Uczenie nienadzorowane
- Uczenie póÅ‚nadzorowane
- Uczenie przez wzmacnianie
- Uczenie wsadowe/przyrostowe
- Uczenie wsadowe
- Uczenie przyrostowe
- Uczenie z przykÅ‚adów/z modelu
- Uczenie z przykÅ‚adów
- Uczenie z modelu
- Uczenie nadzorowane/nienadzorowane
- GÅ‚ówne problemy uczenia maszynowego
- Niedobór danych uczÄ…cych
- Niereprezentatywne dane uczÄ…ce
- Dane kiepskiej jakości
- Nieistotne cechy
- Przetrenowanie danych uczÄ…cych
- Niedotrenowanie danych uczÄ…cych
- Podsumowanie
- Testowanie i ocenianie
- Ćwiczenia
- Rozdział 2. Nasz pierwszy projekt uczenia maszynowego
- Praca z rzeczywistymi danymi
- Przeanalizuj całokształt projektu
- Określ zakres problemu
- Wybierz metrykę wydajności
- Sprawdź założenia
- Zdobądź dane
- Stwórz przestrzeÅ„ roboczÄ…
- Pobierz dane
- Rzut oka na strukturÄ™ danych
- Stwórz zbiór testowy
- Odkrywaj i wizualizuj dane, aby zdobywać nowe informacje
- Wizualizowanie danych geograficznych
- Poszukiwanie korelacji
- Eksperymentowanie z kombinacjami atrybutów
- Przygotuj dane pod algorytmy uczenia maszynowego
- Oczyszczanie danych
- ObsÅ‚uga tekstu i atrybutów kategorialnych
- Niestandardowe transformatory
- Skalowanie cech
- Potoki transformujÄ…ce
- Wybór i uczenie modelu
- Trenowanie i ocena modelu za pomocÄ… zbioru uczÄ…cego
- Dokładniejsze ocenianie za pomocą sprawdzianu krzyżowego
- Wyreguluj swój model
- Metoda przeszukiwania siatki
- Metoda losowego przeszukiwania
- Metody zespołowe
- Analizuj najlepsze modele i ich błędy
- Oceń system za pomocą zbioru testowego
- Uruchom, monitoruj i utrzymuj swój system
- Teraz Twoja kolej!
- Ćwiczenia
- Rozdział 3. Klasyfikacja
- Zbiór danych MNIST
- Uczenie klasyfikatora binarnego
- Miary wydajności
- Pomiar dokładności za pomocą sprawdzianu krzyżowego
- Macierz pomyłek
- Precyzja i pełność
- Kompromis pomiędzy precyzją a pełnością
- Wykres krzywej ROC
- Klasyfikacja wieloklasowa
- Analiza bÅ‚Ä™dów
- Klasyfikacja wieloetykietowa
- Klasyfikacja wielowyjściowa
- Ćwiczenia
- Rozdział 4. Uczenie modeli
- Regresja liniowa
- Równanie normalne
- Złożoność obliczeniowa
- Gradient prosty
- Wsadowy gradient prosty
- Stochastyczny spadek wzdłuż gradientu
- Schodzenie po gradiencie z minigrupami
- Regresja wielomianowa
- Krzywe uczenia
- Regularyzowane modele liniowe
- Regresja grzbietowa
- Regresja metodÄ… LASSO
- Metoda elastycznej siatki
- Wczesne zatrzymywanie
- Regresja logistyczna
- Szacowanie prawdopodobieństwa
- Funkcje uczÄ…ca i kosztu
- Granice decyzyjne
- Regresja softmax
- Ćwiczenia
- Regresja liniowa
- RozdziaÅ‚ 5. Maszyny wektorów noÅ›nych
- Liniowa klasyfikacja SVM
- Klasyfikacja miękkiego marginesu
- Nieliniowa klasyfikacja SVM
- JÄ…dro wielomianowe
- Dodawanie cech podobieństwa
- Gaussowskie jÄ…dro RBF
- Złożoność obliczeniowa
- Regresja SVM
- Mechanizm działania
- Funkcja decyzyjna i prognozy
- Cel uczenia
- Programowanie kwadratowe
- Problem dualny
- Kernelizowane maszyny SVM
- Przyrostowe maszyny SVM
- Ćwiczenia
- Liniowa klasyfikacja SVM
- Rozdział 6. Drzewa decyzyjne
- Uczenie i wizualizowanie drzewa decyzyjnego
- Wyliczanie prognoz
- Szacowanie prawdopodobieństw przynależności do klas
- Algorytm uczÄ…cy CART
- Złożoność obliczeniowa
- Wskaźnik Giniego czy entropia?
- Hiperparametry regularyzacyjne
- Regresja
- Niestabilność
- Ćwiczenia
- Rozdział 7. Uczenie zespołowe i losowe lasy
- Klasyfikatory głosujące
- Agregacja i wklejanie
- Agregacja i wklejanie w module Scikit-Learn
- Ocena OOB
- Rejony losowe i podprzestrzenie losowe
- Losowe lasy
- ZespóÅ‚ Extra-Trees
- Istotność cech
- Wzmacnianie
- AdaBoost
- Wzmacnianie gradientowe
- Kontaminacja
- Ćwiczenia
- Rozdział 8. Redukcja wymiarowości
- Klątwa wymiarowości
- GÅ‚ówne strategie redukcji wymiarowoÅ›ci
- Rzutowanie
- Uczenie rozmaitościowe
- Analiza PCA
- Zachowanie wariancji
- GÅ‚ówne skÅ‚adowe
- Rzutowanie na d wymiarów
- Implementacja w module Scikit-Learn
- WspóÅ‚czynnik wariancji wyjaÅ›nionej
- Wybór wÅ‚aÅ›ciwej liczby wymiarów
- Algorytm PCA w zastosowaniach kompresji
- Przyrostowa analiza PCA
- Losowa analiza PCA
- JÄ…drowa analiza PCA
- Wybór jÄ…dra i strojenie hiperparametrów
- Algorytm LLE
- Inne techniki redukowania wymiarowości
- Ćwiczenia
- Część II Sieci neuronowe i uczenie głębokie
- Rozdział 9. Instalacja i używanie modułu TensorFlow
- Instalacja
- Tworzenie pierwszego grafu i uruchamianie go w sesji
- ZarzÄ…dzanie grafami
- Cykl życia wartości w węźle
- Regresja liniowa przy użyciu modułu TensorFlow
- Implementacja metody gradientu prostego
- RÄ™czne obliczanie gradientów
- Automatyczne różniczkowanie
- Korzystanie z optymalizatora
- Dostarczanie danych algorytmowi uczÄ…cemu
- Zapisywanie i wczytywanie modeli
- Wizualizowanie grafu i krzywych uczenia za pomocą modułu TensorBoard
- Zakresy nazw
- Modułowość
- Udostępnianie zmiennych
- Ćwiczenia
- Rozdział 10. Wprowadzenie do sztucznych sieci neuronowych
- Od biologicznych do sztucznych neuronów
- Neurony biologiczne
- Operacje logiczne przy użyciu neuronów
- Perceptron
- Perceptron wielowarstwowy i propagacja wsteczna
- Uczenie sieci MLP za pomocą zaawansowanego interfejsu API modułu TensorFlow
- Uczenie głębokiej sieci neuronowej za pomocą standardowego interfejsu TensorFlow
- Faza konstrukcyjna
- Faza wykonawcza
- Korzystanie z sieci neuronowej
- Strojenie hiperparametrów sieci neuronowej
- Liczba ukrytych warstw
- Liczba neuronów tworzÄ…cych warstwÄ™ ukrytÄ…
- Funkcje aktywacji
- Ćwiczenia
- Od biologicznych do sztucznych neuronów
- Rozdział 11. Uczenie głębokich sieci neuronowych
- Problemy zanikajÄ…cych/eksplodujÄ…cych gradientów
- Inicjacje wag Xaviera i He
- NienasycajÄ…ce funkcje aktywacji
- Normalizacja wsadowa
- Implementacja normalizacji wsadowej za pomocą modułu TensorFlow
- Obcinanie gradientu
- Wielokrotne stosowanie gotowych warstw
- Wielokrotne stosowanie modelu TensorFlow
- Wykorzystywanie modeli utworzonych w innych środowiskach
- Zamrażanie niższych warstw
- Zapamiętywanie warstw ukrytych
- Modyfikowanie, usuwanie lub zastÄ™powanie górnych warstw
- Repozytoria modeli
- Nienadzorowane uczenie wstępne
- Uczenie wstępne za pomocą dodatkowego zadania
- Szybsze optymalizatory
- Optymalizacja momentum
- Przyśpieszony spadek wzdłuż gradientu (algorytm Nesterova)
- AdaGrad
- RMSProp
- Optymalizacja Adam
- Harmonogramowanie wspóÅ‚czynnika uczenia
- Regularyzacja jako sposób unikania przetrenowania
- Wczesne zatrzymywanie
- Regularyzacja 1 i 2
- Porzucanie
- Regularyzacja typu max-norm
- Dogenerowanie danych
- Praktyczne wskazówki
- Ćwiczenia
- Problemy zanikajÄ…cych/eksplodujÄ…cych gradientów
- Rozdział 12. Rozdzielanie operacji TensorFlow pomiędzy urządzenia i serwery
- Wiele urządzeń na jednym komputerze
- Instalacja
- Zarządzanie pamięcią operacyjną karty graficznej
- Umieszczanie operacji na urzÄ…dzeniach
- Proste rozmieszczanie
- Zapisywanie zdarzeń rozmieszczania
- Funkcja dynamicznego rozmieszczania
- Operacje i jÄ…dra
- Miękkie rozmieszczanie
- Przetwarzanie równolegÅ‚e
- Zależności sterujące
- Wiele urządzeń na wielu serwerach
- Otwieranie sesji
- Usługi nadrzędna i robocza
- Przypinanie operacji w wielu zadaniach
- Rozdzielanie zmiennych pomiÄ™dzy wiele serwerów parametrów
- UdostÄ™pnianie stanu rozproszonych sesji za pomocÄ… kontenerów zasobów
- Komunikacja asynchroniczna za pomocÄ… kolejek
- Umieszczanie danych w kolejce
- Usuwanie danych z kolejki
- Kolejki krotek
- Zamykanie kolejki
- RandomShuffleQueue
- PaddingFIFOQueue
- Wczytywanie danych bezpośrednio z grafu
- Wstępne wczytanie danych do zmiennej
- Wczytywanie danych uczących bezpośrednio z grafu
- Czytniki wieloklasowe wykorzystujÄ…ce klasy Coordinator i QueueRunner
- Inne funkcje pomocnicze
- Przetwarzanie równolegÅ‚e sieci neuronowych w klastrze TensorFlow
- Jedna sieć neuronowa na każde urządzenie
- Replikacja wewnątrzgrafowa i międzygrafowa
- Zrównoleglanie modelu
- Zrównoleglanie danych
- Aktualizacje synchroniczne
- Aktualizacje asynchroniczne
- Nasycenie przepustowości
- Implementacja w module TensorFlow
- Ćwiczenia
- Wiele urządzeń na jednym komputerze
- Rozdział 13. Splotowe sieci neuronowe
- Architektura kory wzrokowej
- Warstwa splotowa
- Filtry
- Stosy map cech
- Implementacja w module TensorFlow
- Zużycie pamięci operacyjnej
- Warstwa Å‚Ä…czÄ…ca
- Architektury splotowych sieci neuronowych
- LeNet-5
- AlexNet
- GoogLeNet
- ResNet
- Ćwiczenia
- Rozdział 14. Rekurencyjne sieci neuronowe
- Neurony rekurencyjne
- Komórki pamiÄ™ci
- Sekwencje wejść i wyjść
- Podstawowe sieci RSN w module TensorFlow
- Statyczne rozwijanie w czasie
- Dynamiczne rozwijanie w czasie
- Obsługa sekwencji wejściowych o zmiennej długości
- Obsługa sekwencji wyjściowych o zmiennej długości
- Uczenie rekurencyjnych sieci neuronowych
- Uczenie klasyfikatora sekwencji
- Uczenie w celu przewidywania szeregów czasowych
- Twórcza sieć rekurencyjna
- Głębokie sieci rekurencyjne
- Rozmieszczanie głębokiej sieci rekurencyjnej pomiędzy wiele kart graficznych
- Wprowadzanie metody porzucania
- Problem uczenia w sieciach wielotaktowych
- Komórka LSTM
- Połączenia przezierne
- Komórka GRU
- Przetwarzanie języka naturalnego
- Reprezentacje wektorowe sÅ‚ów
- Sieć typu koder-dekoder służąca do tłumaczenia maszynowego
- Ćwiczenia
- Neurony rekurencyjne
- Rozdział 15. Autokodery
- Efektywne reprezentacje danych
- Analiza PCA za pomocą niedopełnionego autokodera liniowego
- Autokodery stosowe
- Implementacja w module TensorFlow
- WiÄ…zanie wag
- Uczenie autokoderów pojedynczo
- Wizualizacja rekonstrukcji
- Wizualizowanie cech
- Nienadzorowane uczenie wstÄ™pne za pomocÄ… autokoderów stosowych
- Autokodery odszumiajÄ…ce
- Implementacja w module TensorFlow
- Autokodery rzadkie
- Implementacja w module TensorFlow
- Autokodery wariacyjne
- Generowanie cyfr
- Inne autokodery
- Ćwiczenia
- Rozdział 16. Uczenie przez wzmacnianie
- Uczenie siÄ™ optymalizowania nagród
- Wyszukiwanie polityki
- Wprowadzenie do narzędzia OpenAI gym
- Sieci neuronowe jako polityki
- Ocenianie czynności problem przypisania zasługi
- Gradienty polityk
- Procesy decyzyjne Markowa
- Uczenie metodÄ… różnic czasowych i algorytm Q-uczenia
- Polityki poszukiwania
- Przybliżający algorytm Q-uczenia
- Nauka gry w Ms. Pac-Man za pomocą głębokiego Q-uczenia
- Ćwiczenia
- Dziękuję!
- Dodatki
- Dodatek A Rozwiązania ćwiczeń
- Rozdział 1. Krajobraz uczenia maszynowego
- Rozdział 2. Nasz pierwszy projekt uczenia maszynowego
- Rozdział 3. Klasyfikacja
- Rozdział 4. Uczenie modeli
- RozdziaÅ‚ 5. Maszyny wektorów noÅ›nych
- Rozdział 6. Drzewa decyzyjne
- Rozdział 7. Uczenie zespołowe i losowe lasy
- Rozdział 8. Redukcja wymiarowości
- Rozdział 9. Instalacja i używanie modułu TensorFlow
- Rozdział 10. Wprowadzenie do sztucznych sieci neuronowych
- Rozdział 11. Uczenie głębokich sieci neuronowych
- Rozdział 12. Rozdzielanie operacji TensorFlow pomiędzy urządzenia i serwery
- Rozdział 13. Splotowe sieci neuronowe
- Rozdział 14. Rekurencyjne sieci neuronowe
- Rozdział 15. Autokodery
- Rozdział 16. Uczenie przez wzmacnianie
- Dodatek B Lista kontrolna projektu uczenia maszynowego
- Określenie problemu i przeanalizowanie go w szerszej perspektywie
- Pozyskanie danych
- Analiza danych
- Przygotowanie danych
- Stworzenie krótkiej listy obiecujÄ…cych modeli
- Dostrojenie modelu
- Zaprezentowanie rozwiÄ…zania
- Do dzieła!
- Dodatek C Problem dualny w maszynach wektorów noÅ›nych
- Dodatek D Różniczkowanie automatyczne
- Różniczkowanie rÄ™czne
- Różniczkowanie symboliczne
- Różniczkowanie numeryczne
- Różniczkowanie automatyczne
- Odwrotne różniczkowanie automatyczne
- Dodatek E Inne popularne architektury sieci neuronowych
- Sieci Hopfielda
- Maszyny Boltzmanna
- Ograniczone maszyny Boltzmanna
- Głębokie sieci przekonań
- Mapy samoorganizujÄ…ce
- Informacje o autorze
- Kolofon