Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00207 006136 21333526 na godz. na dobę w sumie
Algorytmy uczenia maszynowego. Zaawansowane techniki implementacji - książka
Algorytmy uczenia maszynowego. Zaawansowane techniki implementacji - książka
Autor: Liczba stron: 496
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-5245-2 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> algorytmy - programowanie
Porównaj ceny (książka, ebook (-40%), audiobook).

Imponujący rozwój standardowych algorytmów przy ciągłej obniżce cen sprzętu i udostępnianiu coraz to szybszych komponentów przyczynił się do zrewolucjonizowania wielu gałęzi przemysłu. Obecnie uczenie maszynowe pozwala automatyzować procesy, które do niedawna musiały być zarządzane przez człowieka. Zadania, które jeszcze dekadę temu stanowiły nieprzekraczalną przeszkodę, dziś są wykonywane przez zwykły komputer osobisty. W efekcie dzięki technologii oraz dostępnym wysokopoziomowym otwartym platformom każdy, kto zainteresuje się uczeniem maszynowym, może projektować i wdrażać niezwykle potężne modele.

Celem tej książki jest przybliżenie profesjonalistom tajników złożonych algorytmów uczenia maszynowego i zasad ich stosowania w praktyce. Poza praktycznymi informacjami dotyczącymi działania algorytmów i ich wdrożeń znalazły się tu również niezbędne podstawy teoretyczne. Opisano klasyczne modele uczenia nadzorowanego, nienadzorowanego i półnadzorowanego. Wskazano, w jakich sytuacjach okazują się one najbardziej przydatne. Zaprezentowano techniki wydobywania danych za pomocą modeli bayesowskich, algorytmu MCMC, a także dzięki stosowaniu ukrytych modeli Markowa. Omówiono zestaw przydatnych do uczenia maszynowego narzędzi, takich jak biblioteki: scikit-learn, Keras i TensorFlow.

Najciekawsze zagadnienia:

Uczenie maszynowe - już dziś zaimplementuj rozwiązania przyszłości!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Mastering Machine Learning Algorithms: Expert techniques to implement popular machine learning algorithms and fine-tune your models Tłumaczenie: Krzysztof Sawka ISBN: 978-83-283-5245-2 Copyright © Packt Publishing 2018. First published in the English language under the title ‘Mastering Machine Learning Algorithms – (9781788621113)’. Polish edition copyright © 2019 by Helion SA All rights reserved. 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) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/alguma.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/alguma 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(cid:258)ci O autorze O recenzencie Przedmowa Rozdzia(cid:239) 1. Podstawy modelu uczenia maszynowego Modele a dane (cid:165)rodkowanie i wybielanie Zbiory ucz(cid:200)ce i walidacyjne Cechy modelu uczenia maszynowego Pojemno(cid:258)(cid:202) modelu Obci(cid:200)(cid:285)enie estymatora Wariancja estymatora Funkcje straty i kosztu Przyk(cid:239)adowe funkcje kosztu Regularyzacja Podsumowanie Rozdzia(cid:239) 2. Wprowadzenie do uczenia pó(cid:239)nadzorowanego Uczenie pó(cid:239)nadzorowane Uczenie transdukcyjne Uczenie indukcyjne Za(cid:239)o(cid:285)enia w uczeniu pó(cid:239)nadzorowanym Generatywne mieszaniny gaussowskie Przyk(cid:239)ad generatywnej mieszaniny gaussowskiej Algorytm kontrastowy pesymistycznego szacowania wiarygodno(cid:258)ci Przyk(cid:239)ad zastosowania algorytmu CPLE 11 12 13 19 20 21 24 29 29 32 35 39 43 45 50 51 52 53 53 53 56 58 63 65 Poleć książkęKup książkę Spis tre(cid:286)ci Pó(cid:239)nadzorowane maszyny wektorów no(cid:258)nych (S3VM) Przyk(cid:239)adowy algorytm maszyny S3VM Transdukcyjne maszyny wektorów no(cid:258)nych Przyk(cid:239)ad maszyny TSVM Podsumowanie Rozdzia(cid:239) 3. Uczenie pó(cid:239)nadzorowane bazuj(cid:200)ce na grafach Propagacja etykiet Przyk(cid:239)ad zastosowania algorytmu propagacji etykiet Propagacja etykiet w bibliotece Scikit-Learn Rozprzestrzenianie etykiet Przyk(cid:239)ad zastosowania algorytmu rozprzestrzeniania etykiet Propagacja etykiet na bazie b(cid:239)(cid:200)dzenia losowego Markowa Przyk(cid:239)ad propagacji etykiet na podstawie b(cid:239)(cid:200)dzenia losowego Markowa Uczenie rozmaito(cid:258)ciowe Algorytm Isomap Osadzanie lokalnie liniowe Osadzanie widmowe Laplace’a Algorytm t-SNE Podsumowanie Rozdzia(cid:239) 4. Sieci bayesowskie i ukryte modele Markowa Prawdopodobie(cid:241)stwa warunkowe i twierdzenie Bayesa Sieci bayesowskie Próbkowanie w sieci bayesowskiej Przyk(cid:239)ad próbkowania za pomoc(cid:200) biblioteki PyMC3 Ukryte modele Markowa Algorytm wnioskowania ekstrapolacyjno-interpolacyjnego Algorytm Viterbiego Podsumowanie Rozdzia(cid:239) 5. Algorytm EM i jego zastosowania Uczenie metodami MLE i MAP Algorytm EM Przyk(cid:239)ad szacowania parametrów Mieszanina gaussowska Przyk(cid:239)ad implementacji algorytmu mieszanin gaussowskich w bibliotece Scikit-Learn Analiza czynnikowa (FA) Przyk(cid:239)ad zastosowania analizy czynnikowej w bibliotece Scikit-Learn Analiza g(cid:239)ównych sk(cid:239)adowych (PCA) Przyk(cid:239)ad zastosowania analizy PCA w bibliotece Scikit-Learn Analiza sk(cid:239)adowych niezale(cid:285)nych (ICA) Przyk(cid:239)adowa implementacja algorytmu FastICA w bibliotece Scikit-Learn Jeszcze s(cid:239)owo o ukrytych modelach Markowa Podsumowanie 68 71 76 77 82 85 86 89 91 94 95 97 98 101 102 106 109 111 113 115 116 118 119 129 133 134 141 144 145 146 148 151 154 157 159 164 167 173 175 178 180 181 6 Poleć książkęKup książkę Spis tre(cid:286)ci Rozdzia(cid:239) 6. Uczenie hebbowskie i mapy samoorganizuj(cid:200)ce Regu(cid:239)a Hebba Analiza regu(cid:239)y kowariancji Stabilizacja wektora wag i regu(cid:239)a Oji Sie(cid:202) Sangera Przyk(cid:239)ad zastosowania sieci Sangera Sie(cid:202) Rubnera-Tavana Przyk(cid:239)ad zastosowania sieci Rubnera-Tavana Mapy samoorganizuj(cid:200)ce Przyk(cid:239)ad zastosowania mapy SOM Podsumowanie Rozdzia(cid:239) 7. Algorytmy klasteryzacji Algorytm k-najbli(cid:285)szych s(cid:200)siadów Drzewa KD Drzewa kuliste Przyk(cid:239)ad zastosowania algorytmu KNN w bibliotece Scikit-Learn Algorytm centroidów Algorytm k-means++ Przyk(cid:239)ad zastosowania algorytmu centroidów w bibliotece Scikit-Learn Algorytm rozmytych c-(cid:258)rednich Przyk(cid:239)ad zastosowania algorytmu rozmytych c-(cid:258)rednich w bibliotece Scikit-Fuzzy Klasteryzacja widmowa Przyk(cid:239)ad zastosowania klasteryzacji widmowej w bibliotece Scikit-Learn Podsumowanie Rozdzia(cid:239) 8. Uczenie zespo(cid:239)owe Podstawy uczenia zespo(cid:239)ów Lasy losowe Przyk(cid:239)ad zastosowania lasu losowego w bibliotece Scikit-Learn Algorytm AdaBoost AdaBoost.SAMME AdaBoost.SAMME.R AdaBoost.R2 Przyk(cid:239)ad zastosowania algorytmu AdaBoost w bibliotece Scikit-Learn Wzmacnianie gradientowe Przyk(cid:239)ad wzmacniania gradientowego drzew w bibliotece Scikit-Learn Zespo(cid:239)y klasyfikatorów g(cid:239)osuj(cid:200)cych Przyk(cid:239)ad zastosowania klasyfikatorów g(cid:239)osuj(cid:200)cych Uczenie zespo(cid:239)owe jako technika doboru modeli Podsumowanie 183 184 188 192 193 196 199 203 205 208 211 213 213 217 218 220 223 225 227 235 239 242 246 248 249 249 251 257 260 264 266 268 271 275 279 282 283 285 286 7 Poleć książkęKup książkę Spis tre(cid:286)ci Rozdzia(cid:239) 9. Sieci neuronowe w uczeniu maszynowym Podstawowy sztuczny neuron Perceptron Przyk(cid:239)ad zastosowania perceptronu w bibliotece Scikit-Learn Perceptrony wielowarstwowe Funkcje aktywacji Algorytm propagacji wstecznej Przyk(cid:239)ad zastosowania sieci MLP w bibliotece Keras Algorytmy optymalizacji Perturbacja gradientu Algorytmy momentum i Nesterova RMSProp Adam AdaGrad AdaDelta Regularyzacja i porzucanie Porzucanie Normalizacja wsadowa Przyk(cid:239)ad zastosowania normalizacji wsadowej w bibliotece Keras Podsumowanie Rozdzia(cid:239) 10. Zaawansowane modele neuronowe G(cid:239)(cid:218)bokie sieci splotowe Operacje splotu Warstwy (cid:239)(cid:200)cz(cid:200)ce Inne przydatne warstwy Przyk(cid:239)ady stosowania g(cid:239)(cid:218)bokich sieci splotowych w bibliotece Keras Sieci rekurencyjne Algorytm propagacji wstecznej w czasie (BPTT) Jednostki LSTM Jednostki GRU Przyk(cid:239)ad zastosowania sieci LSTM w bibliotece Keras Uczenie transferowe Podsumowanie Rozdzia(cid:239) 11. Autokodery Autokodery Przyk(cid:239)ad g(cid:239)(cid:218)bokiego autokodera splotowego w bibliotece TensorFlow Autokodery odszumiaj(cid:200)ce Autokodery rzadkie Autokodery wariacyjne Przyk(cid:239)ad stosowania autokodera wariacyjnego w bibliotece TensorFlow Podsumowanie 287 288 289 292 295 296 299 307 311 312 312 313 315 316 317 318 320 326 328 330 333 334 335 344 347 348 356 357 360 365 367 371 373 375 375 377 381 384 386 389 391 8 Poleć książkęKup książkę Rozdzia(cid:239) 12. Generatywne sieci przeciwstawne Uczenie przeciwstawne Przyk(cid:239)ad zastosowania sieci DCGAN w bibliotece TensorFlow Sie(cid:202) Wassersteina (WGAN) Przyk(cid:239)ad zastosowania sieci WGAN w bibliotece TensorFlow Podsumowanie Rozdzia(cid:239) 13. G(cid:239)(cid:218)bokie sieci przekona(cid:241) Losowe pola Markowa Ograniczone maszyny Boltzmanna Sieci DBN Przyk(cid:239)ad stosowania nienadzorowanej sieci DBN w (cid:258)rodowisku Python Przyk(cid:239)ad stosowania nadzorowanej sieci DBN w (cid:258)rodowisku Python Podsumowanie Rozdzia(cid:239) 14. Wst(cid:218)p do uczenia przez wzmacnianie Podstawowe terminy w uczeniu przez wzmacnianie (cid:165)rodowisko Polityka Iteracja polityki Iteracja polityki w (cid:258)rodowisku szachownicy Iteracja warto(cid:258)ci Iteracja warto(cid:258)ci w (cid:258)rodowisku szachownicy Algorytm TD(0) Algorytm TD(0) w (cid:258)rodowisku szachownicy Podsumowanie Rozdzia(cid:239) 15. Zaawansowane algorytmy szacowania polityki Algorytm TD((cid:540)) Algorytm SARSA Algorytm TD((cid:540)) w bardziej skomplikowanym (cid:258)rodowisku szachownicy Algorytm aktor-krytyk TD(0) w (cid:258)rodowisku szachownicy Algorytm SARSA w (cid:258)rodowisku szachownicy Q-uczenie Algorytm Q-uczenia w (cid:258)rodowisku szachownicy Algorytm Q-uczenia za pomoc(cid:200) sieci neuronowej Podsumowanie Skorowidz Spis tre(cid:286)ci 393 393 397 403 405 408 409 410 411 415 417 420 422 423 423 425 429 430 434 438 439 442 445 448 451 452 456 462 467 469 472 473 475 482 485 9 Poleć książkęKup książkę Spis tre(cid:286)ci 10 Poleć książkęKup książkę 1 Podstawy modelu uczenia maszynowego Modele uczenia maszynowego s(cid:200) uk(cid:239)adami matematycznymi zawieraj(cid:200)cymi wiele cech wspólnych. Nawet je(cid:258)li s(cid:200) czasami definiowane jedynie z perspektywy teoretycznej, post(cid:218)py bada(cid:241) pozwalaj(cid:200) nam wykorzystywa(cid:202) ró(cid:285)ne koncepcje s(cid:239)u(cid:285)(cid:200)ce do lepszego zrozumienia me- chanizmów dzia(cid:239)ania z(cid:239)o(cid:285)onych systemów, takich jak g(cid:239)(cid:218)bokie sieci neuronowe. W tym roz- dziale poznamy i omówimy pewne podstawowe elementy, które mog(cid:200) by(cid:202) ju(cid:285) doskonale znane do(cid:258)wiadczonym Czytelnikom, ale które jednocze(cid:258)nie mo(cid:285)na ró(cid:285)nie interpretowa(cid:202) i które maj(cid:200) ró(cid:285)ne zastosowania. W szczególno(cid:258)ci omówimy nast(cid:218)puj(cid:200)ce elementy: (cid:81) procesy generowania danych; (cid:81) sko(cid:241)czone zestawy danych; (cid:81) strategie uczenia i rozdzielania danych; (cid:81) sprawdzian krzy(cid:285)owy; (cid:81) pojemno(cid:258)(cid:202), obci(cid:200)(cid:285)enie i wariancja modelu; (cid:81) teoria Vapnika-Chervonenkisa; (cid:81) granica Craméra-Rao; (cid:81) niedotrenowanie i przetrenowanie; (cid:81) funkcje straty i kosztu; (cid:81) regularyzacja. Poleć książkęKup książkę Algorytmy uczenia maszynowego Modele a dane Algorytmy uczenia maszynowego pracuj(cid:200) na danych. Tworz(cid:200) powi(cid:200)zania, wyszukuj(cid:200) relacje, odkrywaj(cid:200) wzorce, tworz(cid:200) nowe przyk(cid:239)ady itd. na podstawie dobrze zdefiniowanych zesta- wów danych. Niestety, czasami przyjmowane za(cid:239)o(cid:285)enia lub nak(cid:239)adane warunki nie s(cid:200) wy- ra(cid:283)nie sprecyzowane, a d(cid:239)ugotrwa(cid:239)y proces uczenia mo(cid:285)e zako(cid:241)czy(cid:202) si(cid:218) ca(cid:239)kowitym niepo- wodzeniem weryfikacji. Nawet je(cid:258)li taki warunek jest wyra(cid:283)niej zarysowany w kontek(cid:258)cie uczenia g(cid:239)(cid:218)bokiego, mo(cid:285)emy wyobrazi(cid:202) sobie model jako szar(cid:200) skrzynk(cid:218) (pewn(cid:200) przejrzysto(cid:258)(cid:202) gwarantuje prostota wielu popularnych algorytmów), w której wektor wej(cid:258)ciowy X zostaje przekszta(cid:239)cony w wektor wyj(cid:258)ciowy Y (rysunek 1.1). Rysunek 1.1. Schemat typowego modelu parametryzowanego za pomoc(cid:200) wektora (cid:537) Na rysunku 1.1 model zosta(cid:239) ukazany jako pseudofunkcja zale(cid:285)na od zestawu parametrów zdefiniowanych w wektorze (cid:537). W tym podrozdziale bierzemy pod uwag(cid:218) wy(cid:239)(cid:200)cznie modele parametryczne, ale istnieje równie(cid:285) rodzina modeli nieparametrycznych, bazuj(cid:200)cych wy- (cid:239)(cid:200)cznie na strukturze danych. Niektórymi z nich zajmiemy si(cid:218) w nast(cid:218)pnych rozdzia(cid:239)ach. Zadaniem parametrycznego procesu uczenia jest znalezienie najlepszego zestawu parame- trów maksymalizuj(cid:200)cego funkcj(cid:218) docelow(cid:200), której warto(cid:258)(cid:202) jest proporcjonalna do dok(cid:239)adno(cid:258)ci (lub b(cid:239)(cid:218)du, je(cid:285)eli staramy si(cid:218) j(cid:200) minimalizowa(cid:202)) modelu dla okre(cid:258)lonych danych wej(cid:258)cio- wych X i wyj(cid:258)ciowych Y. Definicja ta nie jest zbyt (cid:258)cis(cid:239)a, ale zaw(cid:218)zimy j(cid:200) w kolejnych pod- rozdzia(cid:239)ach, gdy(cid:285) okazuje si(cid:218) jednak przydatna do zrozumienia kontekstu, w jakim przyjdzie nam pracowa(cid:202). Pojawia si(cid:218) teraz pierwsze pytanie: jaka jest natura danych wej(cid:258)ciowych X? Problem uczenia maszynowego sprowadza si(cid:218) do wyszukiwania abstrakcyjnych zwi(cid:200)zków pozwalaj(cid:200)cych na spójne uogólnianie wobec nowo dostarczanych przyk(cid:239)adów. Mówi(cid:200)c konkretniej, mo(cid:285)emy zdefiniowa(cid:202) stochastyczny proces generowania danych wykorzystuj(cid:200)cy wspólny rozk(cid:239)ad prawdopodobie(cid:241)stwa: danep (cid:11) x y , (cid:12) (cid:32) (cid:11) (cid:11) p x y p x (cid:12) | (cid:12) Cz(cid:218)(cid:258)(cid:202) wspóln(cid:200) prawdopodobie(cid:241)stwa p(x, y) warto czasami wyra(cid:285)a(cid:202) jako iloczyn prawdopo- dobie(cid:241)stwa warunkowego p(x | y), czyli prawdopodobie(cid:241)stwa wyst(cid:200)pienia etykiety danego przyk(cid:239)adu, i prawdopodobie(cid:241)stwa brzegowego przyk(cid:239)adów p(x). Wyra(cid:285)enie to jest szczegól- nie u(cid:285)yteczne, je(cid:285)eli prawdopodobie(cid:241)stwo wst(cid:218)pne p(x) jest znane w kontekstach pó(cid:239)nadzo- rowanych lub je(cid:258)li interesuje nas rozwi(cid:200)zywanie problemów za pomoc(cid:200) algorytmu oczeki- wania-maksymalizacji. Wrócimy do tego zagadnienia w dalszej cz(cid:218)(cid:258)ci ksi(cid:200)(cid:285)ki. 20 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego W wielu przypadkach nie jeste(cid:258)my w stanie okre(cid:258)li(cid:202) precyzyjnie rozk(cid:239)adu, zajmuj(cid:200)c si(cid:218) jed- nak zestawem danych, zawsze przyjmujemy, (cid:285)e zosta(cid:239) on wygenerowany za pomoc(cid:200) pier- wotnego rozk(cid:239)adu. Warunek ten nie jest wy(cid:239)(cid:200)cznie za(cid:239)o(cid:285)eniem teoretycznym, poniewa(cid:285), jak si(cid:218) przekonamy, za ka(cid:285)dym razem gdy nasze punkty danych b(cid:218)d(cid:200) generowane przy u(cid:285)yciu innego rozk(cid:239)adu, dok(cid:239)adno(cid:258)(cid:202) modelu mo(cid:285)e gwa(cid:239)townie zmale(cid:202). Je(cid:285)eli we(cid:283)miemy N warto(cid:258)ci niezale(cid:285)nych i pochodz(cid:200)cych z tego samego rozk(cid:239)adu praw- dopodobie(cid:241)stwa (ang. independent and identically distributed — i. i. d.) z procesu pdane, mo(cid:285)emy utworzy(cid:202) sko(cid:241)czony zestaw danych X sk(cid:239)adaj(cid:200)cy si(cid:218) z k-wymiarowych wektorów rzeczywistych: X (cid:32) (cid:94) x x 1, 0 , (cid:21) , x N (cid:96) gdzie x i k (cid:143) R W przypadku uczenia nadzorowanego potrzebne nam równie(cid:285) b(cid:218)d(cid:200) odpowiednie etykiety (z t warto(cid:258)ci wyj(cid:258)ciowych): Y (cid:32) (cid:94) y y , 0 1 , (cid:21) , y N (cid:96) gdzie y i t (cid:143) R Gdy dane wyj(cid:258)ciowe zawieraj(cid:200) wi(cid:218)cej ni(cid:285) dwie klasy, mo(cid:285)emy skorzysta(cid:202) z ró(cid:285)nych strategii zarz(cid:200)dzania tym problemem. W przypadku klasycznego uczenia maszynowego jedn(cid:200) z naj- popularniejszych technik jest jeden-przeciw-wszystkim (ang. One-versus-All — OvA), która polega na uczeniu N ró(cid:285)nych klasyfikatorów binarnych, gdzie ka(cid:285)da etykieta jest oceniana w stosunku do wszystkich pozosta(cid:239)ych. W ten sposób do okre(cid:258)lenia prawid(cid:239)owej klasy wy- konywanych jest N-1 przebiegów. Z kolei w p(cid:239)ytkich i g(cid:239)(cid:218)bokich sieciach neuronowych u(cid:285)ywamy cz(cid:218)sto funkcji softmax okre(cid:258)laj(cid:200)cej wyj(cid:258)ciowy rozk(cid:239)ad prawdopodobie(cid:241)stwa dla wszystkich klas: y (cid:5) i (cid:167) (cid:32) (cid:168) (cid:168) (cid:169) z 0 e e (cid:166) (cid:166) e , z z 1 e , (cid:21) , z z e (cid:166) N z e (cid:183) (cid:184) (cid:184) (cid:185) Mo(cid:285)emy (cid:239)atwo zarz(cid:200)dza(cid:202) takim rodzajem danych wyj(cid:258)ciowych (zi symbolizuje warto(cid:258)ci po- (cid:258)rednie, a suma wszystkich cz(cid:239)onów jest normalizowana do warto(cid:258)ci 1) za pomoc(cid:200) specjal- nego rodzaju funkcji kosztu — entropii krzy(cid:285)owej (patrz odpowiedni akapit w podrozdziale „Funkcje straty i kosztu”). (cid:165)rodkowanie i wybielanie Wiele algorytmów wykazuje wi(cid:218)ksz(cid:200) skuteczno(cid:258)(cid:202) (przede wszystkim w kontek(cid:258)cie szybko(cid:258)ci uczenia), gdy zestaw danych jest symetryczny (o (cid:258)redniej równej 0). Zatem jednym z najwa(cid:285)- niejszych etapów wst(cid:218)pnego przetwarzania danych jest tzw. (cid:258)rodkowanie (ang. zero-centering), polegaj(cid:200)ce na odj(cid:218)ciu od wszystkich przyk(cid:239)adów (cid:258)redniej wyliczonej z cech Ex[X]: ˆi x (cid:32) (cid:62) x E X i (cid:16) x (cid:64) 21 Poleć książkęKup książkę Algorytmy uczenia maszynowego Zazwyczaj w razie potrzeby operacja ta jest odwracalna i nie wp(cid:239)ywa na relacje zarówno pomi(cid:218)dzy przyk(cid:239)adami, jak i sk(cid:239)adowymi danego przyk(cid:239)adu. W przypadku uczenia g(cid:239)(cid:218)bo- kiego wy(cid:258)rodkowany zestaw danych pozwala wykorzystywa(cid:202) symetri(cid:218) pewnych funkcji ak- tywacji, co przy(cid:258)piesza osi(cid:200)ganie zbie(cid:285)no(cid:258)ci (szczegó(cid:239)y omówimy w kolejnych rozdzia(cid:239)ach). Kolejnym bardzo wa(cid:285)nym etapem wst(cid:218)pnej obróbki danych jest wybielanie (ang. whitening), czyli operacja nak(cid:239)adania jednostkowej macierzy kowariancji na wy(cid:258)rodkowany zestaw danych: xE X X T (cid:170) (cid:172) (cid:186) (cid:32) (cid:188) I Macierz kowariancji Ex[XTX] jest rzeczywista i symetryczna, dlatego mo(cid:285)emy roz(cid:239)o(cid:285)y(cid:202) j(cid:200) na wektory i warto(cid:258)ci w(cid:239)asne bez konieczno(cid:258)ci odwracania macierzy wektorów w(cid:239)asnych: xE X X T (cid:170) (cid:172) V V (cid:186) (cid:32) (cid:58) (cid:188) T Macierz V zawiera wektory w(cid:239)asne (jako kolumny), a macierz diagonalna (cid:525) przechowuje warto(cid:258)ci w(cid:239)asne. Aby rozwi(cid:200)za(cid:202) ten problem, musimy znale(cid:283)(cid:202) tak(cid:200) macierz A, (cid:285)e: ˆ x i (cid:32) Ax i ˆ i E X X ˆ T x (cid:170) (cid:172) (cid:32) I (cid:186) (cid:188) Za pomoc(cid:200) rozk(cid:239)adu do wektorów i warto(cid:258)ci w(cid:239)asnych uzyskujemy: ˆT E X X x ˆ (cid:170) (cid:172) (cid:32) (cid:186) (cid:188) E AX XA T x T (cid:170) (cid:172) (cid:32) (cid:186) (cid:188) AE X X A T T (cid:32) AV V A T (cid:58) T (cid:32) I (cid:170) (cid:172) x (cid:186) (cid:188) Zatem macierz A przyjmuje posta(cid:202): AA T (cid:32) (cid:58) V V 1 (cid:16) T A V (cid:16) (cid:159) (cid:32) (cid:58) 1 2 Jedn(cid:200) z g(cid:239)ównych zalet wybielania jest dekorelacja zestawu danych, co u(cid:239)atwia nam roz- dzielanie sk(cid:239)adowych. Ponadto je(cid:258)li macierz X zostaje wybielona, ka(cid:285)de przekszta(cid:239)cenie or- togonalne powodowane przez macierz P równie(cid:285) jest wybielone: Y PX (cid:32) (cid:159) E Y Y T (cid:170) (cid:172) (cid:186) (cid:188) (cid:32) PE X X P T T (cid:32) T PP (cid:32) I (cid:170) (cid:172) (cid:186) (cid:188) Do tego wiele algorytmów, które wymagaj(cid:200) szacowania parametrów (cid:258)ci(cid:258)le powi(cid:200)zanych z wej(cid:258)ciow(cid:200) macierz(cid:200) kowariancji, równie(cid:285) korzysta na tym warunku, poniewa(cid:285) powoduje on zmniejszenie rzeczywistej liczby zmiennych niezale(cid:285)nych (generalnie algorytmy te dzia(cid:239)aj(cid:200) na macierzach, które po przeprowadzeniu wybielania staj(cid:200) si(cid:218) symetryczne). Kolejn(cid:200) wa(cid:285)n(cid:200) zalet(cid:200) w kontek(cid:258)cie uczenia g(cid:239)(cid:218)bokiego jest fakt, (cid:285)e gradienty s(cid:200) cz(cid:218)sto wi(cid:218)ksze w pobli(cid:285)u (cid:258)rodka uk(cid:239)adu wspó(cid:239)rz(cid:218)dnych, a malej(cid:200) w obszarach, w których funkcje aktywacji (np. tangens hi- perboliczny lub sigmoidalna) ulegaj(cid:200) nasyceniu (|x| (cid:314) (cid:146)). Z tego w(cid:239)a(cid:258)nie powodu modele uzyskuj(cid:200) zbie(cid:285)no(cid:258)(cid:202) szybciej wobec wybielonych (i wy(cid:258)rodkowanych) zestawów danych. 22 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego Na rysunku 1.2 porównujemy pierwotny zestaw danych z jego wy(cid:258)rodkowan(cid:200) i wybielon(cid:200) wersj(cid:200). Rysunek 1.2. Pierwotny zestaw danych (po lewej), jego wersja wy(cid:258)rodkowana (w (cid:258)rodku) i wybielona (po prawej) Je(cid:285)eli chcemy przeprowadzi(cid:202) wybielanie, musimy uwzgl(cid:218)dni(cid:202) kilka istotnych szczegó(cid:239)ów. Po pierwsze, istnieje ró(cid:285)nica w skali pomi(cid:218)dzy rzeczywist(cid:200) kowariancj(cid:200) przyk(cid:239)adu a oszaco- waniem XTX, cz(cid:218)sto przyjmowana w postaci rozk(cid:239)adu wed(cid:239)ug warto(cid:258)ci osobliwych (ang. singular value decomposition — SVD). Druga kwestia wi(cid:200)(cid:285)e si(cid:218) z pewnymi klasami zaim- plementowanymi w wielu (cid:258)rodowiskach, np. z klas(cid:200) StandardScaler biblioteki Scikit-Learn. W istocie (cid:258)rodkowanie jest operacj(cid:200) na cechach, natomiast filtr wybielaj(cid:200)cy nale(cid:285)y obliczy(cid:202) przy uwzgl(cid:218)dnieniu ca(cid:239)ej macierzy kowariancji (klasa StandardScaler implementuje jedynie skalowanie cech bazuj(cid:200)ce na wariancji jednostkowej). Na szcz(cid:218)(cid:258)cie wszystkie algorytmy zawarte w bibliotece Scikit-Learn, które czerpi(cid:200) korzy(cid:258)ci z wybielania lub go wymagaj(cid:200), zawieraj(cid:200) wbudowane odpowiednie funkcje, dzi(cid:218)ki czemu zazwyczaj nie wymagaj(cid:200) naszej interwencji. Dla Czytelników, którzy pragn(cid:200) implementowa(cid:202) algorytmy bezpo(cid:258)rednio, napisa(cid:239)em dwie funkcje u(cid:285)ywane do (cid:258)rodkowania i wybielania. Zak(cid:239)adam w nich, (cid:285)e macierz X ma wymiary [Nprzyk × n]. Ponadto funkcja whiten() przyj- muje parametr correct, pozwalaj(cid:200)cy przeprowadza(cid:202) korekcj(cid:218) skalowania (jej domy(cid:258)lna warto(cid:258)(cid:202) to True): import numpy as np def zero_center(X): return X - np.mean(X, axis=0) def whiten(X, correct=True): Xc = zero_center(X) _, L, V = np.linalg.svd(Xc) W = np.dot(V.T, np.diag(1.0 / L)) return np.dot(Xc, W) * np.sqrt(X.shape[0]) if correct else 1.0 23 Poleć książkęKup książkę Algorytmy uczenia maszynowego Zbiory ucz(cid:200)ce i walidacyjne W rzeczywistych sytuacjach liczba przyk(cid:239)adów jest ograniczona i zazwyczaj trzeba rozdziela(cid:202) pierwotny zestaw danych X (wraz z etykietami Y) na dwa nast(cid:218)puj(cid:200)ce podzbiory: (cid:81) zbiór ucz(cid:200)cy u(cid:285)ywany do uczenia modelu, (cid:81) zbiór walidacyjny stosowany do obiektywnego oceniania wyniku modelu za pomoc(cid:200) nieznanych przyk(cid:239)adów. W zale(cid:285)no(cid:258)ci od rodzaju problemu mo(cid:285)na dobra(cid:202) stosunek podzia(cid:239)u 70 – 30 (jest to do- bry kompromis w przypadku, gdy zestaw danych jest wzgl(cid:218)dnie ma(cid:239)y) lub przeznaczy(cid:202) wi(cid:218)- cej przyk(cid:239)adów na zbiór ucz(cid:200)cy (80 , 90 do 99 ) w zadaniach uczenia g(cid:239)(cid:218)bokiego, gdzie mamy znaczn(cid:200) liczb(cid:218) przyk(cid:239)adów ucz(cid:200)cych. Zak(cid:239)adamy w obydwu sytuacjach, (cid:285)e zbiór ucz(cid:200)cy zawiera wszystkie informacje wymagane do spójnego uogólniania. W wielu prostych przy- padkach jest to prawdziwe i (cid:239)atwe do zweryfikowania; jednak wraz ze wzrostem z(cid:239)o(cid:285)ono(cid:258)ci zestawu danych problem ten staje si(cid:218) coraz trudniejszy. Nawet je(cid:258)li chcemy wykorzysta(cid:202) przyk(cid:239)ady z tego samego rozk(cid:239)adu, mo(cid:285)e si(cid:218) tak zdarzy(cid:202), (cid:285)e losowo dobrany zbiór testowy zawiera cechy nieobecne w innych przyk(cid:239)adach ucz(cid:200)cych. Taki warunek mo(cid:285)e mie(cid:202) bardzo negatywny wp(cid:239)yw na dok(cid:239)adno(cid:258)(cid:202) globaln(cid:200) i bez u(cid:285)ywania innych metod mo(cid:285)e by(cid:202) równie(cid:285) bardzo trudny do zidentyfikowania. Jest to jeden z powodów stosowania olbrzymich zesta- wów danych w uczeniu g(cid:239)(cid:218)bokim: bior(cid:200)c pod uwag(cid:218) z(cid:239)o(cid:285)ono(cid:258)(cid:202) cech i struktur(cid:218) rozk(cid:239)adów generuj(cid:200)cych dane, wybór du(cid:285)ego zbioru testowego mo(cid:285)e ogranicza(cid:202) mo(cid:285)liwo(cid:258)(cid:202) poznawa- nia okre(cid:258)lonych powi(cid:200)za(cid:241). W bibliotece Scikit-Learn mo(cid:285)liwe jest rozdzielanie pierwotnego zestawu danych za pomoc(cid:200) funkcji train_test_split(), w której mo(cid:285)emy okre(cid:258)la(cid:202) rozmiar zbiorów ucz(cid:200)cego/testowego, a tak(cid:285)e decydujemy, czy przyk(cid:239)ady maj(cid:200) by(cid:202) losowo tasowane (domy(cid:258)lnie tak). Na przyk(cid:239)ad je(cid:258)li chcemy rozdzieli(cid:202) zestawy X i Y na 70 zbioru ucz(cid:200)cego i 30 zbioru testowego, mo(cid:285)emy napisa(cid:202): from sklearn.model_selection import train_test_split X_train, X_test, Y_train, Y_test = train_test_split(X, Y, train_size=0.7, (cid:180)random_state=1) Tasowanie zbiorów jest zawsze dobrym pomys(cid:239)em, gdy(cid:285) zmniejszamy korelacj(cid:218) pomi(cid:218)dzy przyk(cid:239)adami. W rzeczywisto(cid:258)ci za(cid:239)o(cid:285)yli(cid:258)my, (cid:285)e zestaw danych X sk(cid:239)ada si(cid:218) z przyk(cid:239)adów nie- zale(cid:285)nych i pochodz(cid:200)cych z tego samego rozk(cid:239)adu prawdopodobie(cid:241)stwa, ale w kilku przypad- kach nast(cid:218)puj(cid:200)ce po sobie przyk(cid:239)ady wykazuj(cid:200) siln(cid:200) korelacj(cid:218), co zmniejsza skuteczno(cid:258)(cid:202) uczenia. W pewnych przypadkach warto równie(cid:285) tasowa(cid:202) zbiór ucz(cid:200)cy po ka(cid:285)dej epoce, jednak(cid:285)e w wi(cid:218)kszo(cid:258)ci (cid:202)wicze(cid:241) b(cid:218)dziemy pracowa(cid:202) na zbiorze danych przetasowanym tylko raz — na pocz(cid:200)tku. Nale(cid:285)y unika(cid:202) tasowania w przypadku pracy z sekwencjami i modelami bazuj(cid:200)cymi na pami(cid:218)ci: w takich sytuacjach musimy wykorzystywa(cid:202) istniej(cid:200)c(cid:200) korelacj(cid:218) do okre(cid:258)lania rozk(cid:239)adu przysz(cid:239)ych przyk(cid:239)adów. Podczas pracy z bibliotekami NumPy i Scikit-Learn zawsze warto wyznaczy(cid:202) sta(cid:239)(cid:200) warto(cid:258)(cid:202) ziarna loso- wo(cid:258)ci, dzi(cid:218)ki czemu inne osoby b(cid:218)d(cid:200) w stanie odtworzy(cid:202) przebieg eksperymentu w tych samych warun- kach pocz(cid:200)tkowych. Wystarczy wywo(cid:239)a(cid:202) funkcj(cid:218) np.random.seed(…) i u(cid:285)y(cid:202) parametru random_state dost(cid:218)pnego w wielu metodach Scikit-Learn. 24 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego Sprawdzian krzy(cid:285)owy Dobrym sposobem wykrywania problemów z niew(cid:239)a(cid:258)ciwie dobranymi zbiorami testowymi jest technika sprawdzianu krzy(cid:285)owego (kroswalidacji; ang. cross-validation). W szczególno(cid:258)ci interesuje nas k-krotny sprawdzian krzy(cid:285)owy (ang. K-fold cross-validation). Mechanizm kro- swalidacji polega na podzieleniu zestawu danych X na zmienny zbiór testowy i zbiór ucz(cid:200)cy (pozosta(cid:239)e przyk(cid:239)ady). Rozmiar zbioru testowego jest uzale(cid:285)niony od liczby grup — w ci(cid:200)gu k przebiegów zbiór testowy wykorzystuje wszystkie przyk(cid:239)ady z zestawu danych. Proces ten zosta(cid:239) zaprezentowany na rysunku 1.3. Rysunek 1.3. Schemat k-krotnego sprawdzianu krzy(cid:285)owego W ten sposób mo(cid:285)liwa staje si(cid:218) ocena dok(cid:239)adno(cid:258)ci modelu za pomoc(cid:200) ró(cid:285)nych podzia(cid:239)ów próbkowania, a proces uczenia mo(cid:285)e by(cid:202) realizowany przy u(cid:285)yciu wi(cid:218)kszych zestawów da- nych, dok(cid:239)adniej za(cid:258) na (k–1)*N przyk(cid:239)adach. W idealnej sytuacji dok(cid:239)adno(cid:258)(cid:202) powinna by(cid:202) podobna we wszystkich przebiegach, w rzeczywisto(cid:258)ci jednak osi(cid:200)ga ona warto(cid:258)ci poni(cid:285)ej (cid:258)redniej. Oznacza to, (cid:285)e zbiór ucz(cid:200)cy tworz(cid:200) przyk(cid:239)ady niezawieraj(cid:200)ce cech potrzebnych do w(cid:239)a(cid:258)ciwego dopasowania hiperpowierzchni separuj(cid:200)cych modelu przy uwzgl(cid:218)dnieniu pdane. W dalszej cz(cid:218)(cid:258)ci rozdzia(cid:239)u przyjrzymy si(cid:218) uwa(cid:285)niej tym zagadnieniom, je(cid:258)li jednak odchy- lenie standardowe dok(cid:239)adno(cid:258)ci jest zbyt du(cid:285)e (warto(cid:258)(cid:202) progow(cid:200) ustalamy w zale(cid:285)no(cid:258)ci od natury problemu/modelu), to oznacza prawdopodobnie, (cid:285)e zestaw X nie zosta(cid:239) utworzony jednorodnie z pdane i na etapie wst(cid:218)pnego przetwarzania danych warto oceni(cid:202) wp(cid:239)yw ele- mentów odstaj(cid:200)cych. Rysunek 1.4 przedstawia wykres 15-krotnego sprawdzianu krzy(cid:285)owego wykonanego dla modelu regresji logistycznej. Przy (cid:258)redniej wynosz(cid:200)cej 0,91 (ci(cid:200)g(cid:239)a, szara linia po(cid:258)rodku) warto(cid:258)ci oscyluj(cid:200) w zakresie od 0,84 do 0,95. W tym konkretnym przypadku, bior(cid:200)c pod uwag(cid:218) to, (cid:285)e pocz(cid:200)tkowym celem by(cid:239)o u(cid:285)ycie klasyfikatora liniowego, mo(cid:285)emy stwierdzi(cid:202), i(cid:285) wszystkie grupy cechuj(cid:200) si(cid:218) du(cid:285)(cid:200) dok(cid:239)adno(cid:258)ci(cid:200). Stanowi to dowód, (cid:285)e zestaw danych jest rozdzielny liniowo; wyst(cid:218)puj(cid:200) tu jed- nak pewne przyk(cid:239)ady (grupa 9.) wymagane do uzyskania minimalnej dok(cid:239)adno(cid:258)ci rz(cid:218)du 0,88. 25 Poleć książkęKup książkę Algorytmy uczenia maszynowego Rysunek 1.4. Dok(cid:239)adno(cid:258)ci uzyskane za pomoc(cid:200) sprawdzianu krzy(cid:285)owego K-krotny sprawdzian krzy(cid:285)owy wyst(cid:218)puje w ró(cid:285)nych odmianach dostosowanych do rozwi(cid:200)- zywania okre(cid:258)lonych problemów: (cid:81) Warstwowy k-krotny sprawdzian krzy(cid:285)owy (ang. stratified k-fold): standardowy k-krotny sprawdzian krzy(cid:285)owy rozdziela zestaw danych bez uwzgl(cid:218)dniania rozk(cid:239)adu prawdopodobie(cid:241)stwa p(y | x), zatem niektóre grupy mog(cid:200) teoretycznie zawiera(cid:202) jedynie ograniczon(cid:200) liczb(cid:218) etykiet. Z kolei warstwowy k-krotny sprawdzian krzy(cid:285)owy stara si(cid:218) tak rozdzieli(cid:202) zestaw danych X, (cid:285)eby wszystkie etykiety by(cid:239)y roz(cid:239)o(cid:285)one równomiernie. (cid:81) Metoda LOO (ang. leave-one-out — pozostaw jeden): ta technika jest najbardziej drastyczna, poniewa(cid:285) generuje N grup, z których ka(cid:285)da zawiera N–1 przyk(cid:239)adów ucz(cid:200)cych i tylko jeden przyk(cid:239)ad testowy. W ten sposób maksymalna mo(cid:285)liwa liczba przyk(cid:239)adów zostaje u(cid:285)yta do uczenia i ca(cid:239)kiem (cid:239)atwo mo(cid:285)na sprawdzi(cid:202), czy algorytm jest zdolny do uzyskania wystarczaj(cid:200)cej dok(cid:239)adno(cid:258)ci lub czy mo(cid:285)e lepiej wybra(cid:202) inn(cid:200) strategi(cid:218). G(cid:239)ówn(cid:200) wad(cid:200) tego rozwi(cid:200)zania jest konieczno(cid:258)(cid:202) wyuczenia N modeli, a w przypadku du(cid:285)ej warto(cid:258)ci N mog(cid:200) pojawia(cid:202) si(cid:218) problemy ze skuteczno(cid:258)ci(cid:200). Poza tym przy du(cid:285)ej liczbie przyk(cid:239)adów wzrasta prawdopodobie(cid:241)stwo wyst(cid:218)powania podobie(cid:241)stwa pomi(cid:218)dzy dwoma losowymi przyk(cid:239)adami, dlatego wiele grup mo(cid:285)e dawa(cid:202) niemal identyczne rezultaty. Jednocze(cid:258)nie metoda LOO ogranicza mo(cid:285)liwo(cid:258)ci oceniania zdolno(cid:258)ci generalizacji, poniewa(cid:285) jeden przyk(cid:239)ad testowy nie wystarczy do uzyskania rzetelnego oszacowania. (cid:81) Metoda LPO (ang. leave-P-out — pozostaw P): w tym przypadku liczba przyk(cid:239)adów testowych wynosi p (zbiory pokrywaj(cid:200)ce si(cid:218)), zatem liczba grup jest równa warto(cid:258)ci wspó(cid:239)czynnika dwumianowego n po p. Unikamy w ten sposób wad techniki LOO; rozwi(cid:200)zanie to stanowi kompromis pomi(cid:218)dzy zwyk(cid:239)ym sprawdzianem krzy(cid:285)owym 26 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego a metod(cid:200) LOO. Liczba grup mo(cid:285)e by(cid:202) bardzo du(cid:285)a, mo(cid:285)emy j(cid:200) jednak kontrolowa(cid:202), dostosowuj(cid:200)c liczb(cid:218) p przyk(cid:239)adów testowych, je(cid:258)li jednak b(cid:218)dzie ona za ma(cid:239)a albo za du(cid:285)a, wspó(cid:239)czynnik dwumianowy mo(cid:285)e eksplodowa(cid:202). Istotnie, je(cid:258)li p zawiera oko(cid:239)o n/2 przyk(cid:239)adów, otrzymujemy maksymaln(cid:200) liczb(cid:218) grup: (cid:167) (cid:168) (cid:169) n p (cid:183) (cid:184) (cid:185) (cid:32) n ! (cid:11) p n ! (cid:16) (cid:124) p (cid:12) ! p (cid:150) t 1 (cid:32) n t (cid:16) t je(cid:286)li p (cid:124) n 2 i n 1 (cid:3646) Biblioteka Scikit-Learn zawiera wszystkie te metody (oraz ich odmiany), sugeruj(cid:218) jednak korzystanie zawsze z funkcji pomocniczej cross_val_score(), pozwalaj(cid:200)cej stosowa(cid:202) ró(cid:285)ne metody wobec okre(cid:258)lonego problemu. W poni(cid:285)szym fragmencie kodu, który bazuje na wielo- mianowej maszynie wektorów no(cid:258)nych i zestawie danych MNIST, wprowadzamy t(cid:218) funk- cj(cid:218), definiuj(cid:200)c liczb(cid:218) grup (parametr cv). W ten sposób biblioteka Scikit-Learn automatycznie wykorzysta warstwowy k-krotny sprawdzian krzy(cid:285)owy w klasyfikacji kategorialnej, a w pozo- sta(cid:239)ych sytuacjach standardow(cid:200) k-krotn(cid:200) kroswalidacj(cid:218): from sklearn.datasets import load_digits from sklearn.model_selection import cross_val_score from sklearn.svm import SVC data = load_digits() svm = SVC(kernel= poly ) skf_scores = cross_val_score(svm, data[ data ], data[ target ], cv=10) print(skf_scores) [ 0.96216216 1. 0.93922652 0.99444444 0.98882682 0.98882682 0.99441341 0.99438202 0.96045198 0.96590909] print(skf_scores.mean()) 0.978864325583 Ka(cid:285)da grupa cechuje si(cid:218) bardzo du(cid:285)(cid:200) dok(cid:239)adno(cid:258)ci(cid:200) ( 0,9), zatem spodziewamy si(cid:218), (cid:285)e metod(cid:200) LOO uzyskamy jeszcze wi(cid:218)ksz(cid:200) jej warto(cid:258)(cid:202). Korzystamy z 1797 przyk(cid:239)adów, dlatego powinni(cid:258)my uzyska(cid:202) tyle samo wyników: from sklearn.model_selection import cross_val_score, LeaveOneOut loo_scores = cross_val_score(svm, data[ data ], data[ target ], cv=LeaveOneOut()) print(loo_scores[0:100]) [ 1. 1. 1. 1. 1. 0. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.] print(loo_scores.mean()) 0.988870339455 27 Poleć książkęKup książkę Algorytmy uczenia maszynowego Zgodnie z oczekiwaniami uzyskana dok(cid:239)adno(cid:258)(cid:202) jest bardzo du(cid:285)a, jednak pewne przyk(cid:239)ady s(cid:200) nadal nieprawid(cid:239)owo klasyfikowane. Jak si(cid:218) wkrótce przekonamy, taka sytuacja mo(cid:285)e (cid:258)wiad- czy(cid:202) o przetrenowaniu, co oznacza, (cid:285)e model jest doskonale dopasowany do zbioru ucz(cid:200)cego, ale traci zdolno(cid:258)(cid:202) uogólniania. Metoda LOO nie nadaje si(cid:218) jednak zbytnio do pomiaru zdol- no(cid:258)ci uogólniania z powodu rozmiaru zbioru walidacyjnego. Sprawd(cid:283)my teraz algorytm przy u(cid:285)yciu techniki LPO. Uwzgl(cid:218)dniwszy dotychczas uzyskane informacje, wybrali(cid:258)my mniejszy zestaw danych Iris i klasyfikator bazuj(cid:200)cy na regresji logi- stycznej. Korzystamy ze 150 przyk(cid:239)adów (N=150), zatem po wyborze warto(cid:258)ci p=3 uzy- skujemy 551 300 grup: from sklearn.datasets import load_iris from sklearn.linear_model import LogisticRegression from sklearn.model_selection import cross_val_score, LeavePOut data = load_iris() p = 3 lr = LogisticRegression() lpo_scores = cross_val_score(lr, data[ data ], data[ target ], cv=LeavePOut(p)) print(lpo_scores[0:100]) [ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0.66666667 ... print(lpo_scores.mean()) 0.955668420098 Podobnie jak w poprzednim przyk(cid:239)adzie, wy(cid:258)wietlili(cid:258)my zaledwie pierwsze 100 wyników, jednak ju(cid:285) po kilku pierwszych warto(cid:258)ciach mo(cid:285)emy zauwa(cid:285)y(cid:202) ogóln(cid:200) tendencj(cid:218). 28 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego Technika sprawdzianu krzy(cid:285)owego stanowi pot(cid:218)(cid:285)ne narz(cid:218)dzie, które przydaje si(cid:218) szczegól- nie wtedy, gdy koszt skuteczno(cid:258)ci nie jest zbyt du(cid:285)y. Niestety, nie jest ona jednak najlep- szym rozwi(cid:200)zaniem w przypadku modeli uczenia g(cid:239)(cid:218)bokiego, cechuj(cid:200)cych si(cid:218) znacznym rozmiarem zestawu danych, a proces uczenia mo(cid:285)e trwa(cid:202) nawet wiele dni. Przekonamy si(cid:218) jednak, (cid:285)e w takich sytuacjach prawid(cid:239)owy wybór (wspó(cid:239)czynnika podzia(cid:239)u zestawu danych) wraz z dok(cid:239)adn(cid:200) analiz(cid:200) zestawów danych i wprowadzeniem takich technik jak regularyzacja czy normalizacja pozwala uzyskiwa(cid:202) modele wykazuj(cid:200)ce doskona(cid:239)(cid:200) zdolno(cid:258)(cid:202) uogólniania. Cechy modelu uczenia maszynowego W tym podrozdziale przyjrzymy si(cid:218) modelom nadzorowanym i zastanowimy si(cid:218), w jaki sposób mo(cid:285)na mierzy(cid:202) ich teoretyczn(cid:200), potencjaln(cid:200) dok(cid:239)adno(cid:258)(cid:202) i zdolno(cid:258)(cid:202) prawid(cid:239)owego uogólnia- nia dla wszystkich mo(cid:285)liwych przyk(cid:239)adów zawartych w pdane. Wi(cid:218)kszo(cid:258)(cid:202) omawianych tu kon- cepcji powsta(cid:239)a jeszcze przed nastaniem ery uczenia g(cid:239)(cid:218)bokiego, ci(cid:200)gle jednak maj(cid:200) ol- brzymi wp(cid:239)yw na projekty badawcze. Na przyk(cid:239)ad poj(cid:218)cie pojemno(cid:258)ci (ang. capacity) stanowi do dzisiaj otwarte pytanie, jakie neurobiolodzy zadaj(cid:200) w kontek(cid:258)cie ludzkiego mó- zgu. Wspó(cid:239)czesne modele uczenia g(cid:239)(cid:218)bokiego zawieraj(cid:200)ce dziesi(cid:200)tki warstw i miliony para- metrów ponownie o(cid:285)ywi(cid:239)y dyskusj(cid:218) w uj(cid:218)ciu matematycznym. Te oraz inne zagadnienia, ta- kie jak granice wariancji estymatora, znowu przyci(cid:200)gaj(cid:200) uwag(cid:218), poniewa(cid:285) algorytmy staj(cid:200) si(cid:218) coraz pot(cid:218)(cid:285)niejsze, a skuteczno(cid:258)(cid:202), która niegdy(cid:258) pozostawia(cid:239)a wiele do (cid:285)yczenia, daje teraz wielkie mo(cid:285)liwo(cid:258)ci. Wspó(cid:239)czesny in(cid:285)ynier g(cid:239)(cid:218)bokich sieci neuronowych oczekuje dzisiaj, (cid:285)e jego praca b(cid:218)dzie umo(cid:285)liwia(cid:202) uczenie modelu, a tak(cid:285)e pe(cid:239)ne wykorzystanie jego pojemno- (cid:258)ci, maksymalizacj(cid:218) zdolno(cid:258)ci uogólniania i zwi(cid:218)kszenie dok(cid:239)adno(cid:258)ci w stopniu przewy(cid:285)sza- j(cid:200)cym nawet mo(cid:285)liwo(cid:258)ci ludzkiego mózgu. Pojemno(cid:258)(cid:202) modelu Je(cid:285)eli b(cid:218)dziemy rozwa(cid:285)a(cid:202) model nadzorowany jako zbiór parametryzowanych funkcji, to przez du(cid:285)(cid:200) pojemno(cid:258)(cid:202) modelu (ang. representational capacity) rozumiemy, (cid:285)e w zbiorze tym znajdziemy du(cid:285)(cid:200) liczb(cid:218) bardzo ró(cid:285)nych rozk(cid:239)adów danych. Aby zrozumie(cid:202) to poj(cid:218)cie, we(cid:283)my funkcj(cid:218) f(x) ró(cid:285)niczkowaln(cid:200) dowolnie wiele razy w pewnym otoczeniu punktu x0 i rozpiszmy j(cid:200) w postaci szeregu Taylora: (cid:11) (cid:12) f x (cid:32) (cid:11) f x 0 (cid:12) (cid:14) f (cid:99) (cid:12) (cid:11) (cid:11) x 0 1! x (cid:16) x 0 (cid:12) (cid:14) f (cid:11) x (cid:99)(cid:99) 0 2! (cid:12) (cid:11) x (cid:16) x 0 2 (cid:12) (cid:14) (cid:102) (cid:166)(cid:21) (cid:32) n (cid:32) 0 f n (cid:11) (cid:12) (cid:11) x 0 n ! (cid:12) (cid:11) x (cid:16) x 0 n (cid:12) Mo(cid:285)emy postanowi(cid:202), aby korzysta(cid:202) z n pierwszych cz(cid:239)onów, dzi(cid:218)ki czemu otrzymamy wie- lomianow(cid:200) funkcj(cid:218) n-tego stopnia. Na rysunku 1.5 widzimy dwuwymiarowy przyk(cid:239)ad z sze- (cid:258)cioma funkcjami (pocz(cid:200)wszy od funkcji liniowej). Mo(cid:285)emy zobaczy(cid:202) zmian(cid:218) ich przebiegu dla ma(cid:239)ego zestawu punktów danych. 29 Poleć książkęKup książkę Algorytmy uczenia maszynowego Rysunek 1.5. Przebiegi sze(cid:258)ciu ró(cid:285)nych, wielomianowych krzywych rozdzielaj(cid:200)cych Zdolno(cid:258)(cid:202) szybkiego zmieniania krzywizny jest wprost proporcjonalna do stopnia wielomianu. Je(cid:285)eli wybierzemy klasyfikator liniowy, b(cid:218)dziemy mogli wp(cid:239)ywa(cid:202) jedynie na jego nachylenie (ca(cid:239)y czas omawiamy przyk(cid:239)ad w przestrzeni dwuwymiarowej) i punkt przeci(cid:218)cia z osi(cid:200) wspó(cid:239)rz(cid:218)dnych. Z kolei po wybraniu funkcji wy(cid:285)szego stopnia uzyskujemy wi(cid:218)ksz(cid:200) swobod(cid:218) w zaginaniu krzywizny. We(cid:283)my pod uwag(cid:218) funkcje o stopniach n=1 i n=2. W przypadku tej pierwszej mo(cid:285)emy uwzgl(cid:218)dni(cid:202) punkt (kropk(cid:218)) widniej(cid:200)cy w miejscu x=11, jednak ta de- cyzja b(cid:218)dzie mia(cid:239)a negatywny wp(cid:239)yw na punkt umieszczony w x=5. Jedynie parametryzowana funkcja nieliniowa jest w stanie skutecznie rozwi(cid:200)za(cid:202) ten pro- blem, poniewa(cid:285) wymaga on pojemno(cid:258)ci potencjalnej wi(cid:218)kszej od zapewnianej przez klasyfi- katory liniowe. Innym klasycznym przyk(cid:239)adem jest funkcja XOR. Badacze przez d(cid:239)ugi czas ignorowali koncepcj(cid:218) perceptronów (liniowych sieci neuronowych), poniewa(cid:285) nie potrafi(cid:239)y one klasyfikowa(cid:202) zestawów danych generowanych przy u(cid:285)yciu funkcji XOR. Na szcz(cid:218)(cid:258)cie problem ten (i wiele innych, których z(cid:239)o(cid:285)ono(cid:258)(cid:202) wykracza poza mo(cid:285)liwo(cid:258)ci klasycznych mo- deli uczenia maszynowego) zosta(cid:239) rozwi(cid:200)zany w momencie wprowadzenia perceptronów wielowarstwowych zawieraj(cid:200)cych funkcje nieliniowe. Pojemno(cid:258)(cid:202) Vapnika-Chervonenkisa Pojemno(cid:258)(cid:202) klasyfikatora zosta(cid:239)a matematycznie sformalizowana w postaci teorii Vapnika- -Chervonenkisa. Zanim przejdziemy do definicji, musimy najpierw wyja(cid:258)ni(cid:202) poj(cid:218)cie rozbijania (ang. shattering). Je(cid:285)eli mamy klas(cid:218) zbiorów C i zbiór M, to mówimy, (cid:285)e C rozbija M, je(cid:285)eli: (cid:5) (cid:142) (cid:7) (cid:143) (cid:159) (cid:32) (cid:136) m M c C j m c M i i j 30 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego Innymi s(cid:239)owy dowolny podzbiór M mo(cid:285)emy uzyska(cid:202) jako cz(cid:218)(cid:258)(cid:202) wspóln(cid:200) okre(cid:258)lonego wyst(cid:200)pienia zbioru C (cj) i samego zbioru M. Je(cid:258)li teraz rozwa(cid:285)ymy model jako funkcj(cid:218) parametryzowan(cid:200): C f (cid:32) (cid:12) (cid:11) (cid:84) gdzie (cid:84) (cid:143)R p Chcemy okre(cid:258)li(cid:202) jej pojemno(cid:258)(cid:202) w odniesieniu do sko(cid:241)czonego zestawu danych X: X (cid:32) (cid:94) x x 1, 0 , (cid:21) , x N (cid:96) gdzie x i k (cid:143) R Zgodnie z teori(cid:200) Vapnika-Chervonenkisa mo(cid:285)emy stwierdzi(cid:202), (cid:285)e model f rozbija zbiór X, je- (cid:285)eli nie ma b(cid:239)(cid:218)dów klasyfikacji dla ka(cid:285)dego mo(cid:285)liwego przydzia(cid:239)u etykiety. Mo(cid:285)emy wi(cid:218)c zdefiniowa(cid:202) pojemno(cid:258)(cid:202) Vapnika-Chervonenkisa (zwan(cid:200) tak(cid:285)e pojemno(cid:258)ci(cid:200) VC lub wymia- rem VC) jako maksymaln(cid:200) moc podzbioru X, jak(cid:200) mo(cid:285)e rozbi(cid:202) model f. Przyk(cid:239)adowo je(cid:258)li teraz rozwa(cid:285)ymy klasyfikator liniowy w przestrzeni dwuwymiarowej, po- jemno(cid:258)(cid:202) VC b(cid:218)dzie równa 3, poniewa(cid:285) zawsze mo(cid:285)emy oznaczy(cid:202) trzy przyk(cid:239)ady rozbijane przez model f; jest to jednak niemo(cid:285)liwe we wszystkich sytuacjach, gdzie N 3. Kwestia funkcji XOR stanowi przyk(cid:239)ad modelu wymagaj(cid:200)cego pojemno(cid:258)ci VC wi(cid:218)kszej ni(cid:285) 3. Spójrz na rysunek 1.6. Rysunek 1.6. Problem XOR z ukazanymi ró(cid:285)nymi krzywymi rozdzielaj(cid:200)cymi 31 Poleć książkęKup książkę Algorytmy uczenia maszynowego Taki okre(cid:258)lony dobór etykiet sprawia, (cid:285)e ten zestaw staje si(cid:218) nieliniowo rozdzielny. Jedynym sposobem rozwi(cid:200)zania tego problemu jest wprowadzenie funkcji wielomianowych wy(cid:285)szego rz(cid:218)du (lub funkcji nieliniowych). Krzywe (przynale(cid:285)ne do klasyfikatora, którego pojemno(cid:258)(cid:202) VC jest wi(cid:218)ksza od 3) mog(cid:200) rozdziela(cid:202) obszary w lewym górnym i prawym dolnym rogu wy- kresu, co jest niewykonalne w przypadku prostej (mo(cid:285)e ona zawsze oddziela(cid:202) jeden punkt od trzech pozosta(cid:239)ych). Obci(cid:200)(cid:285)enie estymatora Przyjrzyjmy si(cid:218) teraz parametryzowanemu modelowi zawieraj(cid:200)cemu jeden parametr wekto- rowy (nie jest to (cid:285)adne ograniczenie, lecz wy(cid:239)(cid:200)cznie nasz wybór w celach dydaktycznych): (cid:11) (cid:12) p X (cid:84) ; Celem procesu uczenia jest takie oszacowanie parametru (cid:537), (cid:285)eby (na przyk(cid:239)ad) zmaksymali- zowa(cid:202) dok(cid:239)adno(cid:258)(cid:202) klasyfikacji. Zdefiniujmy obci(cid:200)(cid:285)enie (ang. bias) estymatora (w odniesieniu do parametru (cid:537)): Obci(cid:261)(cid:298)enie (cid:170) (cid:186) (cid:84) (cid:5) (cid:172) (cid:188) (cid:32) E x | (cid:84) (cid:170) (cid:186) (cid:84) (cid:84) (cid:5) (cid:172) (cid:188) (cid:16) (cid:32) (cid:167) (cid:168) (cid:169) (cid:166) x (cid:84) (cid:84) (cid:84) (cid:5) (cid:16) | (cid:11) p x (cid:12) (cid:183) (cid:184) (cid:185) Innymi s(cid:239)owy obci(cid:200)(cid:285)enie stanowi ró(cid:285)nic(cid:218) pomi(cid:218)dzy warto(cid:258)ci(cid:200) oczekiwan(cid:200) oszacowania a rzeczywist(cid:200) warto(cid:258)ci(cid:200) parametru. Pami(cid:218)taj, (cid:285)e oszacowanie jest funkcj(cid:200) zestawu danych X i nie mo(cid:285)na go tu rozpatrywa(cid:202) jako sta(cid:239)ej. Estymator jest nieobci(cid:200)(cid:285)ony (ang. unbiased), je(cid:285)eli: Obci(cid:261)(cid:298)enie (cid:170) (cid:186) (cid:84) (cid:5) (cid:172) (cid:188) (cid:32) (cid:159) 0 E (cid:170) (cid:186) (cid:84) (cid:84) (cid:5) (cid:172) (cid:188) (cid:32) Co wi(cid:218)cej, estymator jest spójny (ang. consistent), je(cid:285)eli sekwencja oszacowa(cid:241) jest zbie(cid:285)na (przynajmniej z prawdopodobie(cid:241)stwem równym 1) z warto(cid:258)ci(cid:200) rzeczywist(cid:200), gdy k (cid:314) (cid:146): (cid:5) (cid:33) (cid:72) 0 P (cid:11) (cid:12) (cid:84) (cid:84) (cid:72) (cid:31) (cid:111) (cid:16) (cid:5) k 1 kiedy k (cid:111) (cid:102) Maj(cid:200)c dany zestaw danych X, którego przyk(cid:239)ady pochodz(cid:200) z pdane, dok(cid:239)adno(cid:258)(cid:202) estymatora jest odwrotnie proporcjonalna do jego obci(cid:200)(cid:285)enia. Estymatory nieobci(cid:200)(cid:285)one (lub o ma(cid:239)ym obci(cid:200)(cid:285)eniu) s(cid:200) w stanie odwzorowywa(cid:202) zestaw danych X z du(cid:285)(cid:200) precyzj(cid:200), natomiast esty- matory o du(cid:285)ym obci(cid:200)(cid:285)eniu b(cid:218)d(cid:200) mia(cid:239)y prawdopodobnie zbyt ma(cid:239)(cid:200) pojemno(cid:258)(cid:202), aby rozwi(cid:200)- za(cid:202) dany problem, dlatego ich umiej(cid:218)tno(cid:258)(cid:202) wykrywania wzorców jest niewielka. 32 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego Obliczmy teraz pochodn(cid:200) obci(cid:200)(cid:285)enia w odniesieniu do wektora (cid:537) (przyda nam si(cid:218) to w dal- szej cz(cid:218)(cid:258)ci ksi(cid:200)(cid:285)ki): Obci(cid:261)(cid:298)enie (cid:119) (cid:170) (cid:186) (cid:84) (cid:5) (cid:172) (cid:188) (cid:84) (cid:119) (cid:32) (cid:32) (cid:167) (cid:168) (cid:168) (cid:169) (cid:166) (cid:12) (cid:84) (cid:84) (cid:5) (cid:11) p x | x (cid:119) log (cid:166) x (cid:12) | (cid:84) (cid:119) (cid:84) (cid:119) (cid:167) (cid:167) (cid:168) (cid:168) (cid:169) (cid:169) (cid:11) p x (cid:84) (cid:119) | (cid:12) (cid:16) (cid:183) (cid:184) (cid:185) (cid:11) p x (cid:183) (cid:84) (cid:84) (cid:84) (cid:5) (cid:184) (cid:185) (cid:119) 1 (cid:16) (cid:32) E (cid:84) x | (cid:170) (cid:84) (cid:171) (cid:5) (cid:171) (cid:172) (cid:183) (cid:184) (cid:184) (cid:185) 1 (cid:16) (cid:32) (cid:183) (cid:184) (cid:184) (cid:185) (cid:32) (cid:167) (cid:168) (cid:168) (cid:169) log x (cid:166) (cid:84) (cid:5) (cid:11) p x (cid:84) (cid:119) (cid:11) (cid:12) p x | (cid:84) (cid:119) (cid:84) (cid:119) (cid:12) | (cid:84) (cid:16) 1 (cid:186) (cid:187) (cid:187) (cid:188) (cid:62) (cid:64)E (cid:120) jest prawdziwe równie(cid:285) wtedy, gdy Zauwa(cid:285), (cid:285)e ostatnie równanie dzi(cid:218)ki liniowo(cid:258)ci do oszacowania (cid:537) dodamy cz(cid:239)on niezale(cid:285)ny od x. Istotnie zgodnie z prawami prawdopodo- bie(cid:241)stwa mo(cid:285)emy (cid:239)atwo sprawdzi(cid:202), (cid:285)e: (cid:166) (cid:12) (cid:84) (cid:84) (cid:5) (cid:12) (cid:11) a p x (cid:12) (cid:84) (cid:84) (cid:5) (cid:11) p x (cid:11) (cid:84) (cid:14) (cid:5) (cid:11) p x (cid:11) p x (cid:12) | (cid:84) (cid:12) (cid:84) (cid:166) (cid:166) (cid:166) (cid:32) (cid:32) (cid:14) a | | | x x x x Niedotrenowanie Model o du(cid:285)ym obci(cid:200)(cid:285)eniu prawdopodobnie b(cid:218)dzie niedotrenowany wobec zbioru ucz(cid:200)cego. Rozwa(cid:285)my scenariusz zaprezentowany na rysunku 1.7. Rysunek 1.7. Klasyfikator niedotrenowany: nie jest w stanie prawid(cid:239)owo rozdzieli(cid:202) obydwu klas 33 Poleć książkęKup książkę Algorytmy uczenia maszynowego Nawet je(cid:258)li problem jest bardzo trudny do rozwi(cid:200)zania, mo(cid:285)emy spróbowa(cid:202) dostosowa(cid:202) model liniowy. Na koniec procesu uczenia nachylenie i punkt przeci(cid:218)cia z osi(cid:200) uk(cid:239)adu wspó(cid:239)rz(cid:218)d- nych wynosz(cid:200) mniej wi(cid:218)cej odpowiednio: –1 i 0 (co wida(cid:202) na rysunku 1.7). Je(cid:285)eli jednak zmierzymy dok(cid:239)adno(cid:258)(cid:202), oka(cid:285)e si(cid:218), (cid:285)e jest ona niemal równa 0! Bez wzgl(cid:218)du na liczb(cid:218) prze- biegów model ten nigdy nie rozpozna powi(cid:200)za(cid:241) pomi(cid:218)dzy zbiorami X i Y. Zjawisko to na- zywamy niedotrenowaniem (lub niedopasowaniem; ang. underfitting) i stanowi ono g(cid:239)ówny wska(cid:283)nik bardzo niskiej dok(cid:239)adno(cid:258)ci uczenia. Nawet je(cid:258)li pewne czynno(cid:258)ci wst(cid:218)pnego prze- twarzania danych mog(cid:200) j(cid:200) poprawi(cid:202), jedynym rozwi(cid:200)zaniem w przypadku niedotrenowanego modelu jest dobór modelu o wi(cid:218)kszej pojemno(cid:258)ci. W zadaniach uczenia maszynowego naszym celem jest uzyskanie maksymalnej dok(cid:239)adno(cid:258)ci, pocz(cid:200)wszy od zbioru ucz(cid:200)cego a(cid:285) do zbioru walidacyjnego. W bardziej formalnym uj(cid:218)ciu mo(cid:285)emy powiedzie(cid:202), (cid:285)e chcemy tak usprawnia(cid:202) modele, aby osi(cid:200)gn(cid:200)(cid:202) dok(cid:239)adno(cid:258)(cid:202) jak naj- bardziej zbli(cid:285)on(cid:200) do dok(cid:239)adno(cid:258)ci Bayesa (ang. Bayes accuracy). Nie jest to wyra(cid:283)nie zde- finiowana warto(cid:258)(cid:202), lecz teoretyczna górna granica dok(cid:239)adno(cid:258)ci, jak(cid:200) mo(cid:285)e osi(cid:200)gn(cid:200)(cid:202) dany es- tymator. Zosta(cid:239)o to zilustrowane na rysunku 1.8. Rysunek 1.8. Schemat poziomów dok(cid:239)adno(cid:258)ci Dok(cid:239)adno(cid:258)(cid:202) Bayesa cz(cid:218)sto stanowi czysto teoretyczn(cid:200) granic(cid:218) i w wielu przypadkach nie mo(cid:285)na jej osi(cid:200)gn(cid:200)(cid:202) nawet za pomoc(cid:200) uk(cid:239)adów biologicznych, jednak post(cid:218)py w dziedzinie uczenia g(cid:239)(cid:218)bokiego pozwalaj(cid:200) tworzy(cid:202) modele, których dok(cid:239)adno(cid:258)(cid:202) jest tylko nieco gorsza od dok(cid:239)adno(cid:258)ci Bayesa. Generalnie nie istnieje jawny wzór pozwalaj(cid:200)cy wyznaczy(cid:202) dok(cid:239)adno(cid:258)(cid:202) Bayesa, dlatego za wyznacznik s(cid:239)u(cid:285)(cid:200) mo(cid:285)liwo(cid:258)ci ludzkiego mózgu. W poprzednim przy- k(cid:239)adzie klasyfikacji cz(cid:239)owiek b(cid:239)yskawicznie rozró(cid:285)nia ró(cid:285)ne typy punktów danych, jednak dla klasyfikatorów o ograniczonej pojemno(cid:258)ci problem ten mo(cid:285)e by(cid:202) bardzo skomplikowany. Niektóre z omawianych w tej ksi(cid:200)(cid:285)ce modeli rozwi(cid:200)zuj(cid:200) go, osi(cid:200)gaj(cid:200)c bardzo du(cid:285)(cid:200) warto(cid:258)(cid:202) dok(cid:239)adno(cid:258)ci. W tym momencie natrafiamy jednak na kolejne wyzwanie, które stanie si(cid:218) dla nas bardziej zrozumia(cid:239)e po zdefiniowaniu poj(cid:218)cia wariancji estymatora. 34 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego Wariancja estymatora Na pocz(cid:200)tku rozdzia(cid:239)u zdefiniowali(cid:258)my proces generowania danych pdane i za(cid:239)o(cid:285)yli(cid:258)my, (cid:285)e nasz zestaw danych X korzysta z tego rozk(cid:239)adu. Nie chcemy jednak poznawa(cid:202) istniej(cid:200)cych zwi(cid:200)zków, ograniczaj(cid:200)c si(cid:218) wy(cid:239)(cid:200)cznie do tego zestawu danych, oczekujemy natomiast, (cid:285)e nasz model b(cid:218)dzie sprawnie uogólnia(cid:239) prognozy wobec dowolnego podzbioru wygenerowa- nego za pomoc(cid:200) pdane. Dobr(cid:200) miar(cid:200) tego zjawiska jest wariancja (ang. variance) estymatora: War (cid:170) (cid:186) (cid:84) (cid:5) (cid:172) (cid:188) (cid:32) B(cid:225)dStd 2 (cid:170) (cid:186) (cid:84) (cid:5) (cid:172) (cid:188) (cid:32) E (cid:11) (cid:170) (cid:186) (cid:84) (cid:84) (cid:5) (cid:5) (cid:172) (cid:188) E (cid:170) (cid:171) (cid:172) (cid:16) (cid:12)2 (cid:186) (cid:187) (cid:188) Mo(cid:285)emy równie(cid:285) zdefiniowa(cid:202) wariancj(cid:218) jako kwadrat b(cid:239)(cid:218)du standardowego (na drodze analogii z odchyleniem standardowym). Du(cid:285)a wariancja sugeruje znaczne zmiany w dok(cid:239)ad- no(cid:258)ci podczas pojawiania si(cid:218) nowych podzbiorów, poniewa(cid:285) model prawdopodobnie uzyska(cid:239) bardzo wysok(cid:200) dok(cid:239)adno(cid:258)(cid:202) uczenia poprzez przetrenowanie na ograniczonym zestawie rela- cji i niemal ca(cid:239)kowicie zatraci(cid:239) umiej(cid:218)tno(cid:258)(cid:202) uogólniania. Przetrenowanie Je(cid:285)eli niedotrenowanie stanowi(cid:239)o konsekwencj(cid:218) ma(cid:239)ej pojemno(cid:258)ci i du(cid:285)ego obci(cid:200)(cid:285)enia, to przetrenowanie (lub nadmierne dopasowanie; ang. overfitting) jest zjawiskiem powi(cid:200)zanym z du(cid:285)(cid:200) warto(cid:258)ci(cid:200) wariancji. Generalnie mo(cid:285)emy obserwowa(cid:202) bardzo du(cid:285)(cid:200) dok(cid:239)adno(cid:258)(cid:202) ucze- nia (by(cid:202) mo(cid:285)e blisk(cid:200) nawet dok(cid:239)adno(cid:258)ci Bayesa), która jednak bardzo maleje wobec zbioru walidacyjnego. Oznacza to, (cid:285)e pojemno(cid:258)(cid:202) modelu jest wystarczaj(cid:200)co (a mo(cid:285)e nawet zbyt) du(cid:285)a do danego zadania (wraz ze wzrostem pojemno(cid:258)ci zwi(cid:218)ksza si(cid:218) warto(cid:258)(cid:202) wariancji), a tak(cid:285)e (cid:285)e zbiór ucz(cid:200)cy nie jest wystarczaj(cid:200)co reprezentatywny dla pdane. Aby lepiej zrozumie(cid:202) to zagadnienie, przeanalizuj rysunek 1.9. Rysunek 1.9. Prawid(cid:239)owe dopasowanie (po lewej), klasyfikator przetrenowany (po prawej) 35 Poleć książkęKup książkę Algorytmy uczenia maszynowego W wykresie po lewej u(cid:285)yli(cid:258)my modelu regresji logistycznej, natomiast wykres po prawej uzyskali(cid:258)my za pomoc(cid:200) modelu maszyny wektorów no(cid:258)nych z j(cid:200)drem wielomianowym szó- stego stopnia. Je(cid:285)eli przyjrzymy si(cid:218) temu drugiemu modelowi, zauwa(cid:285)ymy, (cid:285)e granice decy- zyjne s(cid:200) znacznie precyzyjniejsze i odstaje od nich tylko kilka przyk(cid:239)adów. Bior(cid:200)c pod uwag(cid:218) wymiary obydwu zbiorów danych, mogliby(cid:258)my stwierdzi(cid:202), (cid:285)e nieliniowa maszyna wektorów no(cid:258)nych lepiej wychwytuje ich dynamik(cid:218). Je(cid:258)li jednak stworzymy kolejny zestaw danych za pomoc(cid:200) procesu pdane, a diagonalny ogon stanie si(cid:218) szerszy, model regresji logistycznej nadal b(cid:218)dzie prawid(cid:239)owo klasyfikowa(cid:202) punkty danych, natomiast drastycznie zmaleje dok(cid:239)adno(cid:258)(cid:202) maszyny wektorów no(cid:258)nych. Drugi model jest bardzo podatny na przetrenowanie i wyma- gane jest wprowadzanie pewnych poprawek. Gdy dok(cid:239)adno(cid:258)(cid:202) dla zbioru walidacyjnego jest znacznie ni(cid:285)sza ni(cid:285) dla zbioru ucz(cid:200)cego, dobrym rozwi(cid:200)zaniem staje si(cid:218) zwi(cid:218)kszenie liczby przyk(cid:239)adów ucz(cid:200)cych, aby mo(cid:285)na by(cid:239)o uwzgl(cid:218)dnia(cid:202) rzeczywisty proces pdane. W rzeczywisto- (cid:258)ci bywa czasami tak, (cid:285)e zbiór ucz(cid:200)cy jest od pocz(cid:200)tku generowany za pomoc(cid:200) hipotetycz- nego rozk(cid:239)adu maj(cid:200)cego niewiele wspólnego z rzeczywisto(cid:258)ci(cid:200), ewentualnie liczba przyk(cid:239)adów u(cid:285)ywanych do walidacji jest zbyt du(cid:285)a, co zmniejsza ilo(cid:258)(cid:202) informacji zawartych w pozosta- (cid:239)ych przyk(cid:239)adach. Sprawdzian krzy(cid:285)owy jest warto(cid:258)ciowym sposobem oceniania jako(cid:258)ci ze- stawów danych, zawsze jednak mo(cid:285)emy odkry(cid:202) zupe(cid:239)nie nowe podzbiory (na przyk(cid:239)ad ge- nerowane po wdro(cid:285)eniu aplikacji do (cid:258)rodowiska produkcyjnego), które b(cid:218)d(cid:200) nieprawid(cid:239)owo klasyfikowane pomimo rzekomej przynale(cid:285)no(cid:258)ci do pdane. Je(cid:285)eli nie mamy mo(cid:285)liwo(cid:258)ci po- wi(cid:218)kszenia zbioru testowego, przydatne mo(cid:285)e by(cid:202) dogenerowanie danych, poniewa(cid:285) meto- da ta pozwala tworzy(cid:202) sztuczne przyk(cid:239)ady (w przypadku obrazów przeprowadzane s(cid:200) opera- cje odwracania, obracania lub rozmywania) za pomoc(cid:200) informacji zawartych w istniej(cid:200)cych punktach danych. Inne strategie zapobiegaj(cid:200)ce przetrenowaniu bazuj(cid:200) na technice zwanej regularyzacj(cid:200), do której powrócimy pod koniec rozdzia(cid:239)u. Na razie wystarczy nam informacja, (cid:285)e skutek regularyzacji przypomina cz(cid:218)(cid:258)ciow(cid:200) linearyzacj(cid:218), co wi(cid:200)(cid:285)e si(cid:218) ze zmniejszaniem pojemno(cid:258)ci, a zatem równie(cid:285) redukcj(cid:200) wariancji. Granica Craméra—Rao Je(cid:285)eli istnieje teoretyczna mo(cid:285)liwo(cid:258)(cid:202) stworzenia modelu nieobci(cid:200)(cid:285)onego (nawet asympto- tycznie), nie mo(cid:285)na tego samego powiedzie(cid:202) o wariancji. Aby zrozumie(cid:202) t(cid:218) koncepcj(cid:218), mu- simy wprowadzi(cid:202) istotn(cid:200) definicj(cid:218): informacj(cid:218) Fishera. Je(cid:258)li mamy parametryzowany model i proces generowania danych pdane, mo(cid:285)emy wyznaczy(cid:202) funkcj(cid:218) prawdopodobie(cid:241)stwa przy uwzgl(cid:218)dnieniu nast(cid:218)puj(cid:200)cych parametrów: L (cid:11) (cid:84) | X (cid:12) (cid:32) (cid:11) p X | (cid:12) (cid:84) Funkcja ta pozwala mierzy(cid:202) dopasowanie modelu do pierwotnego procesu generowania da- nych. Przebieg tej funkcji mo(cid:285)e przyjmowa(cid:202) ró(cid:285)ne kszta(cid:239)ty, od wyra(cid:283)nie zarysowanych krzywych wypuk(cid:239)ych a(cid:285) do niemal zupe(cid:239)nych wyp(cid:239)aszcze(cid:241). Na rysunku 1.10 widzimy dwa przyk(cid:239)ady zale(cid:285)ne od jednego parametru. 36 Poleć książkęKup książkę Rozdzia(cid:225) 1. • Podstawy modelu uczenia maszynowego Rysunek 1.10. Spiczasty (po lewej) i sp(cid:239)aszczony (po prawej) przebieg prawdopodobie(cid:241)stwa Od razu widzimy, (cid:285)e w pierwszym przypadku mo(cid:285)emy (cid:239)atwo osi(cid:200)gn(cid:200)(cid:202) prawdopodobie(cid:241)stwo maksymalne za pomoc(cid:200) wzrostu wzd(cid:239)u(cid:285) gradientu, gdy(cid:285) wykres funkcji jest bardzo stromy. Jednak(cid:285)e w drugiej sytuacji rozmiar gradientu jest mniejszy i szybciej mo(cid:285)na zatrzyma(cid:202) si(cid:218) przed osi(cid:200)gni(cid:218)ciem maksimum globalnego z powodu nie(cid:258)cis(cid:239)o(cid:258)ci numerycznych lub tole- rancji. W najgorszym wypadku przebieg funkcji mo(cid:285)e by(cid:202) niemal p(cid:239)aski na d(cid:239)ugich odcinkach, co oznacza warto(cid:258)(cid:202) gradientu zbli(cid:285)on(cid:200) do zera. Chcieliby(cid:258)my, oczywi(cid:258)cie, zawsze pracowa(cid:202) na bardzo wyrazistych i stromych funkcjach prawdopodobie(cid:241)stwa, poniewa(cid:285) zawieraj(cid:200) one wi(cid:218)cej informacji na temat ich maksimum. Informacja Fishera wyznacza t(cid:218) warto(cid:258)(cid:202) w spo- sób ilo(cid:258)ciowy. Definiujemy j(cid:200) nast(cid:218)puj(cid:200)co dla pojedynczego parametru: I (cid:11) (cid:12) (cid:84) (cid:32) E x | (cid:84) (cid:170) (cid:171) (cid:171) (cid:172) (cid:119)(cid:167) (cid:168) (cid:119)(cid:169) (cid:84) log (cid:11) p x | (cid:12) (cid:84) 2 (cid:183) (cid:184) (cid:185) (cid:186) (cid:187) (cid:187) (cid:188) Informacja Fishera jest nieograniczon(cid:200), nieujemn(cid:200) liczb(cid:200) wprost proporcjonaln(cid:200) do ilo(cid:258)ci informacji przenoszonej przez logarytm prawdopodobie(cid:241)stwa. Wprowadzenie logarytmu nie ma wp(cid:239)ywu na wzrost gradientu, ale upraszcza poszczególne wyra(cid:285)enia, gdy(cid:285) przekszta(cid:239)ca iloczyny w sumy. Warto(cid:258)(cid:202) t(cid:218) mo(cid:285)emy interpretowa(cid:202) jako szybko(cid:258)(cid:202) gradientu w d(cid:200)(cid:285)eniu funkcji do maksimum. Jej wi(cid:218)ksze warto(cid:258)ci
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Algorytmy uczenia maszynowego. Zaawansowane techniki implementacji
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: