![]() |
![]() |
Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc |
![]() Wprowadzenie do uczenia maszynowego według Esposito
Wprowadzenie do uczenia maszynowego według Esposito Uczenie maszynowe stwarza niesamowite możliwości, a książka Wstęp do uczenia maszynowego zawiera praktyczną wiedzę o ich wykorzystaniu. Dino i Francesco Esposito zaczynają od krótkiego omówienia podstawowych zagadnień sztucznej inteligencji oraz zasad każdego projektu uczenia maszynowego. Następnie wprowadzają do potężnej biblioteki ML.NET opracowanej przez firmę Microsoft. Omawiają między innymi przetwarzanie danych, uczenie i weryfikację. Prezentują rodziny algorytmów, które można uczyć w celu rozwiązywania rzeczywistych problemów, a także techniki uczenia głębokiego wykorzystujące sieci neuronowe. Na koniec autorzy omawiają wartościowe usługi czasu wykonywania, dostępne za pośrednictwem chmury obliczeniowej Azure, a także rozważają długoterminowe perspektywy biznesowe związane z uczeniem maszynowym.
O autorach: Dino Esposito, 14-krotny Microsoft MVP, jest autorem ponad 20 książek, w tym Microsoft .NET: Architecting Applications for the Enterprise. Od 22 lat jest felietonistą w „Cutting Edge”, a także prowadzi regularne wykłady na różnych wydarzeniach branżowych na całym świecie. Od ponad 25 lat jest programistą, obecnie koncentruje się na sztucznej inteligencji w kontekście inteligentnych rozwiązań dla miast i energetyki, pracując na stanowisku stratega do spraw korporacyjnych rozwiązań cyfrowych w BaxEnergy. Francesco Esposito jest 21-letnim programistą zajmującym się zagadnieniami zaawansowanej matematyki i nauk o danych; interesuje się przede wszystkim hydrologią i służbą zdrowia. Jest twórcą Youbiquitous, firmy zajmującej się oprogramowaniem i sztuczną inteligencją. Cały przykładowy kod, włącznie z kompletnymi aplikacjami, jest dostępny pod adresem MicrosoftPressStore.com/IntroMachineLearning/download Podziękowania . . . . . . .xv
O autorach .xvii Wstęp . . . . . . xix Część I Podstawy uczenia maszynowego 1 Jak uczą się ludzie.. . . . . . . 3 Ku myślącym maszynom.. . . . . . . .4 Świt rozumowania mechanicznego . . . .4 Twierdzenia Gödla o niekompletności .5 Formalizacja maszyn liczących . . . . . . . .5 Formalizacja ludzkiego myślenia . . . . . .6 Narodziny sztucznej inteligencji jako dyscypliny 7 Biologia uczenia się . . . .8 Czym właściwie jest inteligentne oprogramowanie? . . . . . .8 Jak działają neurony.. . . . . .10 Podejście kija i marchewki.15 Przystosowywanie się do zmian . . . . . . 17 Sztuczne formy inteligencji. . . . .18 Prymitywna inteligencja. . .18 Systemy eksperckie.. . . . . . .19 Systemy autonomiczne. . . 22 Sztuczne formy sentymentu . . . . . . . . 24 Podsumowanie. . . . . . . 25 2 Inteligentne oprogramowanie . . . . 27 Stosowana sztuczna inteligencja 28 Ewolucja inteligencji oprogramowania . . . . . . . 28 Systemy eksperckie.. . . . . . 29 Ogólna sztuczna inteligencja.. . .31 Uczenie nienadzorowane. 32 Uczenie nadzorowane. . . . 34 Podsumowanie. . . . . . . 37 3 Problemy z odwzorowywaniem i algorytmy . . . . . . . 39 Podstawowe problemy. . . . . . . . 40 Klasyfikowanie obiektów. 40 Przewidywanie wyników.. 43 Grupowanie obiektów.. . . 45 Bardziej złożone problemy.. . . . 48 Klasyfikacja obrazów. . . . . 48 Wykrywanie obiektów.. . . 49 Analiza tekstu. . . 50 Zautomatyzowane uczenie maszynowe . . . .51 Aspekty platformy AutoML .51 Korzystanie z platformy AutoML Model Builder . . . . . . . . 54 Podsumowanie. . . . . . . 57 4 Ogólne kroki rozwiązania uczenia maszynowego . 59 Zbieranie danych. . . . . 60 Kultura firmy sterowana danymi . . . . 60 Opcje magazynu 62 Przygotowanie danych. . . . . . . . 63 Podnoszenie jakości danych . . . . . . . . 64 Czyszczenie danych. . . . . . 64 Inżynieria cech . . 66 Finalizowanie treningowego zbioru danych . . . 68 Wybieranie i trenowanie modelu 70 Ściągawka z algorytmów. .71 Przypadek sieci neuronowych . . . . . . . 74 Ewaluacja wydajności modelu . . . . . . . 75 Wdrażanie modelu . . . 77 Wybór odpowiedniej platformy hostingowej . 77 Eksponowanie API. . . . . . . 78 Podsumowanie. . . . . . . 79 5 Czynnik danych .81 Jakość danych. . . . . . . . .81 Ważność danych 82 Zbieranie danych.. . . . . . . . 83 Integralność danych . . 85 Kompletność. . . . 85 Spis treści vii Unikatowość . . . . 85 Terminowość. . . . 86 Dokładność . . . . . 86 Spójność. . . . . . . . 86 Kim właściwie jest analityk danych? . . . . . . 86 Praca analityka danych. . . 87 Przybornik analityka danych . . . . . . . . 88 Analitycy danych i programiści . . . . . . 88 Podsumowanie. . . . . . . 90 Część II Uczenie maszynowe w .NET 6 Sposób .NET. . . . 93 Dlaczego (nie) Python?. . . . . . . . 94 Dlaczego Python jest tak popularny w uczeniu maszynowym? . . . 94 Taksonomia bibliotek Pythona wykorzystywanych w uczeniu maszynowym 96 Kompleksowe rozwiązania wykorzystujące modele Pythona . . . . . 99 Wstęp do ML.NET . . . . 101 Tworzenie i używanie modeli w ML.NET . . . . . .102 Elementy kontekstu uczenia . . . . . . . 104 Podsumowanie. . . . . . .109 7 Implementacja potoku ML.NET . . 111 Dane początkowe . . . . 111 Eksploracja zbioru danych112 Stosowanie typowych transformacji danych . . 113 Uwarunkowania zbioru danych . . . . . 114 Etap treningowy. . . . . . 114 Wybór algorytmu. . . . . . . . 115 Pomiar rzeczywistej wartości algorytmu . . . . . . 115 Planowanie fazy testowej. 116 Rzut oka na miary. . . . . . . . 117 Przewidywanie cen z poziomu aplikacji klienckiej . . 118 Pobieranie pliku modelu.. 118 Konfigurowanie aplikacji ASP.NET . . . 118 Przewidywanie opłat za przejazd taksówką . . . 119 Opracowanie odpowiedniego interfejsu użytkownika . . 121 Wątpliwości dotyczące danych i podejścia do problemu 122 viii Spis treści Podsumowanie. . . . . . .123 8 Zadania i algorytmy ML.NET . . . . 125 Ogólna architektura ML.NET. . .125 Wykorzystywane typy i interfejsy . . . .126 Reprezentacja danych. . . .127 Obsługiwane katalogi. . . .130 Zadania klasyfikacji . . .132 Klasyfikacja binarna. . . . . .132 Klasyfikacja wieloklasowa.138 Zadania grupowania w klastry145 Przygotowanie danych do pracy . . . 145 Trenowanie modelu. . . . . 146 Ocena modelu . 148 Przeniesienie uczenia . 151 Etapy tworzenia klasyfikatora obrazów . . . . . . . 151 Stosowanie niezbędnych transformacji danych 152 Tworzenie i trenowanie modelu . . . . 154 Dodatkowe uwagi o przeniesieniu uczenia . . .156 Podsumowanie. . . . . . .157 Część III Podstawy uczenia płytkiego 9 Matematyczne podstawy uczenia maszynowego . .161 Pod parasolem statystyki. . . . . .162 Średnia w statystyce. . . . . .163 Dominanta w statystyce. .165 Mediana w statystyce.. . . .166 Obciążenie i wariancja169 Wariancja w statystyce.. . .169 Obciążenie w statystyce. .172 Reprezentacja danych173 Podsumowanie pięcioliczbowe . . . . . .173 Histogramy . . . . .174 Wykresy punktowe. . . . . . .175 Macierze wykresu punktowego . . . . .176 Tworzenie wykresu na odpowiedniej skali . . . .177 Podsumowanie. . . . . . .178 10 Miary uczenia maszynowego . . . . 179 Statystyka a uczenie maszynowe 179 Ostateczny cel uczenia maszynowego . . . . . . . .180 Od modeli statystycznych do modeli uczenia maszynowego . . . . . 181 Ocena modelu uczenia maszynowego . . . 184 Od zbioru danych do prognoz . . . . . 184 Mierzenie precyzji modelu .185 Przygotowanie danych do przetwarzania . 191 Skalowanie . . . . .192 Standaryzacja . . .193 Normalizacja. . . .193 Podsumowanie. . . . . . .193 11 Proste prognozy: Regresja liniowa . . . . . . . . 195 Problem . . . .195 Zgadywanie wyników na podstawie danych . .196 Tworzenie hipotez o relacji 197 Algorytm liniowy . . . . .199 Ogólna idea . . . 200 Znajdowanie funkcji straty .201 Algorytm najmniejszych kwadratów 202 Algorytm spadku gradientu . . . . . . . 205 Jak dobry jest algorytm?.209 Ulepszanie rozwiązania. . . . . . . .210 Trasa wielomianowa. . . . . .210 Regularyzacja . . . 211 Podsumowanie. . . . . . .212 12 Złożone przewidywania i decyzje: drzewa . . . . . . . . 213 Problem . . . 214 Czym właściwie jest drzewo? . . . . . . . 214 Drzewa w uczeniu maszynowym . . . .215 Przykładowy algorytm oparty na drzewie . . . . .215 Zasady projektowania algorytmów opartych na drzewach . . .217 Drzewa decyzyjne a systemy eksperckie . . . . . .217 Odmiany algorytmów opartych na drzewach .218 Drzewa klasyfikacyjne. . . . . . . . 220 Działanie algorytmu CART 220 Algorytm ID3 . . 224 Drzewa regresji. . . . . . 227 Działanie algorytmu.. . . . 227 Przycinanie drzewa.. . . . . 228 Podsumowanie. . . . . . 229 13 Jak podejmować lepsze decyzje: metody grupowe . . . . . . . . 231 Problem . . . .231 Technika bagging . . . 232 Algorytmy lasów losowych . . . . . . . . 233 Kroki algorytmów. . . . . . . 235 Zalety i wady. . . 236 Technika wzmacniania (boosting) . . . . . . . 238 Możliwości wzmacniania238 Wzmacnianie gradientowe . . . . . . . . 241 Zalety i wady. . . 245 Podsumowanie. . . . . . 246 14 Metody probabilistyczne: naiwny klasyfikator bayesowski 247 Szybkie wprowadzenie do statystyki bayesowskiej . 247 Wstęp do prawdopodobieństwa Bayesa . . . . . 248 Wstęp do notacji. . . . . . . . 249 Twierdzenie Bayesa.. . . . . .251 Praktyczny przykład recenzji kodu . 252 Wykorzystanie statystyki bayesowskiej w klasyfikacji . . . . . . . . 253 Wstępne sformułowanie problemu . 253 Uproszczone (lecz skuteczne) sformułowanie 254 Praktyczne aspekty klasyfikatorów bayesowskich . . . . . . 256 Naiwne klasyfikatory bayesowskie . . . . . . . 256 Ogólny algorytm.. . . . . . . 257 Wielomianowy naiwny klasyfikator bayesowski . . . . . . . 258 Naiwny klasyfikator bayesowski Bernoulliego .261 Naiwny klasyfikator bayesowski Gaussa . . . . . . 262 Naiwna regresja bayesowska.. 265 Podstawy liniowej regresji bayesowskiej . . . . . 265 Zastosowanie bayesowskiej regresji liniowej . 266 Podsumowanie. . . . . . 267 15 Grupowanie danych: klasyfikacja i klastry 269 Podstawowe podejście do klasyfikacji nadzorowanej . . . . . . . 270 Algorytm k najbliższych sąsiadów . . 270 Kroki algorytmu.. . . . . . . . 273 Scenariusze biznesowe. . 275 Maszyna wektorów nośnych. . 276 Ogólny opis algorytmu.. 276 Szybka powtórka z matematyki . . . . 280 Kroki algorytmu.. . . . . . . . 282 Klasteryzacja nienadzorowana287 Przypadek biznesowy: redukcja zbioru danych . . . . . . . . 287 Algorytm K-średnich. . . . 288 Algorytm K-medoidów. . 290 Algorytm DBSCAN. . . . . . .291 Podsumowanie. . . . . . 294 Część IV Podstawy uczenia głębokiego 16 Jednokierunkowe sieci neuronowe . . . . . . . 299 Krótka historia sieci neuronowych . . . . . . . 299 Neuron McCullocha-Pittsa 300 Sieci jednokierunkowe.. . 300 Bardziej wyrafinowane sieci 301 Typy sztucznych neuronów. . . .301 Perceptron. . . . . .301 Neuron logistyczny.. . . . . 305 Trenowanie sieci neuronowej.. 307 Ogólna strategia uczenia308 Algorytm propagacji wstecznej . . . . 309 Podsumowanie. . . . . . .316 17 Projekt sieci neuronowej 317 Aspekty sieci neuronowej. . . . . .317 Funkcje aktywacji. . . . . . . .318 Ukryte warstwy 322 Warstwa wyjściowa.. . . . . 326 Budowanie sieci neuronowej.. 327 Dostępne platformy. . . . . 327 xii Spis treści Pierwsza sieć neuronowa za pomocą Keras . . 330 Sieci neuronowe kontra inne algorytmy . . . . . 333 Podsumowanie. . . . . . 336 18 Inne typy sieci neuronowych . . . . 337 Typowe problemy jednokierunkowych sieci neuronowych . . 337 Rekurencyjne sieci neuronowe338 Anatomia sieci neuronowej ze stanem . . . . . . . 339 Sieci neuronowe LSTM. . 342 Konwolucyjne sieci neuronowe . 345 Klasyfikacja i rozpoznawanie obrazów . . . . . . . 345 Warstwa konwolucyjna. . 346 Warstwa typu pooling. . . 349 W pełni połączona warstwa 351 Dalszy rozwój sieci neuronowych . . . . . . . . 352 Generatywne sieci neuronowe z przeciwnikiem . . . . . . . 352 Sieci typu autoencoder. . 353 Podsumowanie. . . . . . 355 19 Analiza sentymentu: kompleksowe rozwiązanie . . 357 Przygotowanie danych treningowych . . . 358 Formalizowanie problemu 358 Uzyskiwanie danych.. . . . 359 Manipulowanie danymi. 360 Uwarunkowania dotyczące formatu pośredniego . . . . . .361 Trenowanie modelu . 362 Wybieranie ekosystemu. 362 Budowanie słownika wyrazów . . . . . 363 Wybieranie trenera.. . . . . 364 Inne aspekty sieci. . . . . . . 369 Aplikacja kliencka . . . .371 Pobieranie danych wejściowych dla modelu . 372 Uzyskiwanie prognoz z modelu . . . . 373 Przekształcanie odpowiedzi w przydatne informacje . . 374 Podsumowanie. . . . . . 375 Część V Finalne uwagi 20 Usługi w chmurze oferujące AI . . 379 Azure Cognitive Services.. . . . . 380 Azure Machine Learning Studio .381 Azure Machine Learning Service . . . 384 Maszyny DSVM 387 Usługi lokalne. . . . . . . 387 SQL Server Machine Learning Services . . . . . . 387 Machine Learning Server388 Microsoft Data Processing Services . . . . . . 388 Azure Data Lake.. . . . . . . . 388 Azure Databricks. . . . . . . . 389 Azure HDInsight. . . . . . . . 390 .NET dla Apache Spark. . 390 Azure Data Share.. . . . . . . .391 Azure Data Factory. . . . . . .391 Podsumowanie. . . . . . .391 21 Biznesowe postrzeganie AI . . . . . . 393 Postrzeganie AI w branży. . . . . 393 Wykorzystanie potencjału 394 Do czego można wykorzystać sztuczną inteligencję . . . 394 Wyzwania czające się tuż za rogiem 396 Kompleksowe rozwiązania. . . . 398 Nazwijmy to po prostu konsultingiem . . . . . . . 399 Granica między oprogramowaniem a analizą danych . . 399 Zwinna AI. . . . . . 402 Podsumowanie. . . . . . 405 Indeks . . . . . 407 |
|