Python_Uczenie_maszynowe_Wydanie_II_pythu2.pdf

(3379 KB) Pobierz
Tytuł oryginału: Python Machine Learning: Machine Learning and Deep Learning
with Python, scikit-learn, and TensorFlow, 2nd Edition
Tłumaczenie: Krzysztof Sawka
ISBN: 978-83-283-5121-9
Copyright © Packt Publishing 2017. First published in the English language
under the title ‘Python Machine Learning - Second Edition – (9781787125933)’.
Polish edition copyright © 2019 by Helion SA
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również żadnej
odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/pythu2
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Informacje o autorach
Informacje o recenzentach
Wstęp
Rozdział 1. Umożliwianie komputerom uczenia się z danych
Tworzenie inteligentnych maszyn służących do przekształcania danych w wiedzę
Trzy różne rodzaje uczenia maszynowego
Prognozowanie przyszłości za pomocą uczenia nadzorowanego
Rozwiązywanie problemów interaktywnych za pomocą uczenia przez wzmacnianie
Odkrywanie ukrytych struktur za pomocą uczenia nienadzorowanego
Wprowadzenie do podstawowej terminologii i notacji
Strategia tworzenia systemów uczenia maszynowego
Wstępne przetwarzanie — nadawanie danym formy
Trenowanie i dobór modelu predykcyjnego
Ewaluacja modeli i przewidywanie wystąpienia nieznanych danych
Wykorzystywanie
środowiska
Python do uczenia maszynowego
Instalacja
środowiska
Python i pakietów z repozytorium Python Package Index
Korzystanie z platformy Anaconda i menedżera pakietów
Pakiety przeznaczone do obliczeń naukowych, analizy danych i uczenia maszynowego
Podsumowanie
11
13
15
23
24
24
25
28
29
30
32
32
34
34
35
35
36
36
37
Rozdział 2. Trenowanie prostych algorytmów uczenia maszynowego w celach klasyfikacji 39
Sztuczne neurony — rys historyczny początków uczenia maszynowego
Formalna definicja sztucznego neuronu
Reguła uczenia perceptronu
Implementacja algorytmu uczenia perceptronu w Pythonie
Obiektowy interfejs API perceptronu
Trenowanie modelu perceptronu na zestawie danych Iris
40
41
43
45
45
48
Kup książkę
Poleć książkę
Spis treści
Adaptacyjne neurony liniowe i zbieżność uczenia
Minimalizacja funkcji kosztu za pomocą metody gradientu prostego
Implementacja algorytmu Adaline w Pythonie
Usprawnianie gradientu prostego poprzez skalowanie cech
Wielkoskalowe uczenie maszynowe i metoda stochastycznego spadku wzdłuż gradientu
Podsumowanie
53
55
56
60
62
66
Rozdział 3. Stosowanie klasyfikatorów uczenia maszynowego
za pomocą biblioteki scikit-learn
Wybór algorytmu klasyfikującego
Pierwsze kroki z biblioteką scikit-learn — uczenie perceptronu
Modelowanie prawdopodobieństwa przynależności do klasy za pomocą regresji logistycznej
Teoretyczne podłoże regresji logistycznej i prawdopodobieństwa warunkowego
Wyznaczanie wag logistycznej funkcji kosztu
Przekształcanie implementacji Adaline do postaci algorytmu regresji logistycznej
Uczenie modelu regresji logistycznej za pomocą biblioteki scikit-learn
Zapobieganie przetrenowaniu za pomocą regularyzacji
Wyznaczanie maksymalnego marginesu za pomocą maszyn wektorów nośnych
Teoretyczne podłoże maksymalnego marginesu
Rozwiązywanie przypadków nieliniowo rozdzielnych
za pomocą zmiennych uzupełniających
Alternatywne implementacje w interfejsie scikit-learn
Rozwiązywanie nieliniowych problemów za pomocą jądra SVM
Metody jądrowe dla danych nierozdzielnych liniowo
Stosowanie sztuczki z funkcją jądra do znajdowania przestrzeni rozdzielających
w przestrzeni wielowymiarowej
Uczenie drzew decyzyjnych
Maksymalizowanie przyrostu informacji — osiąganie jak największych korzyści
Budowanie drzewa decyzyjnego
Łączenie
wielu drzew decyzyjnych za pomocą modelu losowego lasu
Algorytm k-najbliższych sąsiadów — model leniwego uczenia
Podsumowanie
67
68
68
74
74
78
80
84
86
88
89
90
92
93
93
95
99
100
103
107
109
113
Rozdział 4. Tworzenie dobrych zbiorów uczących — wstępne przetwarzanie danych
Kwestia brakujących danych
Wykrywanie brakujących wartości w danych tabelarycznych
Usuwanie próbek lub cech niezawierających wartości
Wstawianie brakujących danych
Estymatory interfejsu scikit-learn
Przetwarzanie danych kategoryzujących
Cechy nominalne i porządkowe
Tworzenie przykładowego zestawu danych
Mapowanie cech porządkowych
Kodowanie etykiet klas
Kodowanie „gorącojedynkowe” cech nominalnych (z użyciem wektorów własnych)
Rozdzielanie zestawu danych na oddzielne podzbiory uczące i testowe
Skalowanie cech
Dobór odpowiednich cech
Regularyzacje L1 i L2 jako kary ograniczające złożoność modelu
Interpretacja geometryczna regularyzacji L2
4
115
115
116
117
118
119
119
120
120
121
121
122
124
127
129
129
130
Kup książkę
Poleć książkę
Spis treści
Rozwiązania rzadkie za pomocą regularyzacji L1
Algorytmy sekwencyjnego wyboru cech
Ocenianie istotności cech za pomocą algorytmu losowego lasu
Podsumowanie
131
135
140
142
Rozdział 5. Kompresja danych poprzez redukcję wymiarowości
Nienadzorowana redukcja wymiarowości za pomocą analizy głównych składowych
Podstawowe etapy analizy głównych składowych
Wydobywanie głównych składowych krok po kroku
Wyjaśniona wariancja całkowita
Transformacja cech
Analiza głównych składowych w interfejsie scikit-learn
Nadzorowana kompresja danych za pomocą liniowej analizy dyskryminacyjnej
Porównanie analizy głównych składowych z liniową analizą dyskryminacyjną
Wewnętrzne mechanizmy działania liniowej analizy dyskryminacyjnej
Obliczanie macierzy rozproszenia
Dobór dyskryminant liniowych dla nowej podprzestrzeni cech
Rzutowanie próbek na nową przestrzeń cech
Implementacja analizy LDA w bibliotece scikit-learn
Jądrowa analiza głównych składowych jako metoda odwzorowywania
nierozdzielnych liniowo klas
Funkcje jądra oraz sztuczka z funkcją jądra
Implementacja jądrowej analizy głównych składowych w Pythonie
Rzutowanie nowych punktów danych
Algorytm jądrowej analizy głównych składowych w bibliotece scikit-learn
Podsumowanie
143
144
144
146
148
149
152
154
155
156
157
159
161
161
163
164
168
175
178
179
Rozdział 6. Najlepsze metody oceny modelu i strojenie parametryczne
Usprawnianie cyklu pracy za pomocą kolejkowania
Wczytanie zestawu danych Breast Cancer Wisconsin
Łączenie
funkcji transformujących i estymatorów w kolejce czynności
Stosowanie k-krotnego sprawdzianu krzyżowego w ocenie skuteczności modelu
Metoda wydzielania
K-krotny sprawdzian krzyżowy
Sprawdzanie algorytmów za pomocą krzywych uczenia i krzywych walidacji
Diagnozowanie problemów z obciążeniem i wariancją za pomocą krzywych uczenia
Rozwiązywanie problemów przetrenowania i niedotrenowania
za pomocą krzywych walidacji
Dostrajanie modeli uczenia maszynowego za pomocą metody przeszukiwania siatki
Strojenie hiperparametrów przy użyciu metody przeszukiwania siatki
Dobór algorytmu poprzez zagnieżdżony sprawdzian krzyżowy
Przegląd metryk oceny skuteczności
Odczytywanie macierzy pomyłek
Optymalizacja precyzji i pełności modelu klasyfikującego
Wykres krzywej ROC
Metryki zliczające dla klasyfikacji wieloklasowej
Kwestia dysproporcji klas
Podsumowanie
181
181
182
183
184
185
186
190
190
193
195
195
196
198
198
200
202
204
205
208
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin