Mašinsko učenje uz PyTorch i Scikit-Learn
Razvoj modela mašinskog učenja i dubokog učenja pomoću programskog jezika Python Mašinsko učenje uz PyTorch i Scikit-Learn je kompletan vodič za mašinsko učenje i duboko učenje pomoću biblioteke PyTorch. Služiće vam i kao prirunik za učenje i kao referenca koju ćete uvek koristiti dok gradite sisteme mašinskog učenja. Naučićete sve osnovne tehnike mašinskog...
Vidi više
Razvoj modela mašinskog učenja i dubokog učenja pomoću programskog jezika Python Mašinsko učenje uz PyTorch i Scikit-Learn je kompletan vodič za mašinsko učenje i duboko učenje pomoću biblioteke PyTorch. Služiće vam i kao prirunik za učenje i kao referenca koju ćete uvek koristiti dok gradite sisteme mašinskog učenja. Naučićete sve osnovne tehnike mašinskog
Cena:
3.300 RSD
Na stanju
Razvoj modela mašinskog učenja i dubokog učenja pomoću programskog jezika Python
Mašinsko učenje uz PyTorch i Scikit-Learn je kompletan vodič za mašinsko učenje i duboko učenje pomoću biblioteke PyTorch. Služiće vam i kao prirunik za učenje i kao referenca koju ćete uvek koristiti dok gradite sisteme mašinskog učenja.
Naučićete sve osnovne tehnike mašinskog učenja zahvaljujući jasnim objašnjenjima, vizuelizacijama i primerima. Dok ste uz neke knjige primorani da slepo sledite uputstva, uz ovu knjigu o mašinskom učenju shvatićete principe koji vam omogućavaju da sami gradite modele i aplikacije.
Ova knjiga je ažurirana tako da obuhvata duboko učenje upotrebom biblioteke PyTorch i predstavlja čitaocima najnovije dodatke biblioteci scikit-learn. Uz to, ova knjiga objašnjava različite tehnike mašinskog učenja i dubokog učenja za klasifikaciju teksta i slika. Takođe ćete učiti o generativnim suparničkim mrežama (GAN) za generisanje novih podataka i inteligentnim agentima za obuku uz učenje uslovljavanjem. Konačno, ovo novo, prošireno, izdanje obuhvata najnovije trendove dubokog učenja, uključujući grafovske neuronske mreže i transformatore velikih razmera koji služe za obradu govornog jezika (NLP).
Ova knjiga o biblioteci PyTorch biće vaš kompanjon za mašinsko učenje u programskom jeziku Python, bilo da ste Python programer koji tek počinje da se bavi mašinskim učenjem ili želite da produbite svoje znanje o najnovijim dostignućima.
Uveren sam da će vam ova knjiga biti od neprocenjive vrednosti i kao opširan pregled uzbudljive oblasti mašinskog učenja i kao riznica praktičnih uvida. Nadam se da će vas inspirisati da primenite mašinsko učenje za opšte dobro u bilo kom području koje vam zadaje probleme.
Dmitro Dzhulgakov
PyTorch Core Maintainer
Šta ćete naučiti
- Istraživanje radnih okvira, modela i tehnika za mašinsko 'učenje' iz podataka
- Upotrebu biblioteke scikit-learn za mašinsko učenje i biblioteke PyTorch za duboko učenje
- Obučavanje klasifikatora mašinskog učenja slikama, tekstom i drugim
- Izgradnju i obučavanje neuronskih mreža, transformatora i grafovskih neuronskih mreža
- Najbolju praksu za procenu i podešavanje modela
- Predviđanje kontinuiranih ciljnih ishoda pomoću regresione analize
- Otkrivanje detalja tekstualnih podataka i podataka društvenih medija pomoću analize mišljenja
Kratak sadržaj
Kako da računarima pružite mogućnost da uče iz podataka
Obučavanje jednostavnih algoritama mašinskog učenja za klasifikaciju
Predstavljanje klasifikatora mašinskog učenja pomoću biblioteke scikit-learn
Izgradnja dobrih skupova podataka za obuku – pretproceriranje podataka
Kompresovanje podataka upotrebom redukcije dimenzionalnosti
Učenje najbolje prakse za procenu modela i podešavanje hiperparametara
Kombinovanje različitih modela za učenje u ansamblu
Primena mašinskog učenja na analizu mišljenja
Predviđanje kontinuiranih ciljnih promenljivih pomoću regresione analize
Upotreba neoznačenih podataka – analiza klasterovanja
Implementiranje višeslojnih veštačkih neuronskih mreža od nule
Paralelizacija obuke neuronske mreže pomoću radnig okvira PyTorch
Detaljnije - mehanika radnog okvira PyTorch
Klasifikacija slika pomoću dubokih konvolutivnih neuronskih mreža
Modelovanje sekvencijalnih podataka korišćenjem rekurentnih neuronskih mreža
Transformatori - Poboljšanje obrade govornog jezika pomoću mehanizma pažnje
Generativne suparničke mreže za sintetizovanje novih podataka
Grafovske neuronske mreže za otkrivanje zavisnosti u grafički strukturiranim podacima
19. Učenje uslovljavanjem za donošenje odluka u kompleksnim okruženjima
Mašinsko učenje korišćenjem radnog okvira PyTorch i biblioteke Scikit-Learn
-- *nova* Python knjiga o mašinskom učenju
Knjiga Mašinsko učenje korišćenjem radnog okvira PyTorch i biblioteke Scikit-Learn je dugo nastajala i uzbuđen sam što konačno mogu da pričam o objavljivanju moje nove knjige. Ovaj projekat je započet kao 4. izdanje knjige Python mašinsko učenje. Međutim, napravili smo toliko izmena u knjizi da smo shvatili da zaslužuje novi naslov koji će to odražavati. Možda se pitate šta ima novo? Veoma sam uzbuđen što ću vam reći sve o tome.
Kako je ova knjiga strukturirana
Pre nego što pređem na uzbudljive delove, dozvolite da ukratko objasnim kako je knjiga strukturirana. Sve u svemu, ova knjiga je sveobuhvatan uvod u mašinsko učenje. To uključuje „tradicionalno“ mašinsko učenje – odnosno, mašinsko učenje bez neuronskih mreža – i duboko učenje.
U prvih deset poglavlja vas upoznajemo sa mašinskim učenjem korišćenjem biblioteke scikit-learn, koja je verovatno najpopularnija biblioteka za mašinsko učenje. U prvom delu ove knjige naučićete sve osnovne koncepte u vezi sa mašinskim učenjem, uključujući pretprocesiranje podataka, evaluaciju modela i podešavanje hiperparametara.
Poglavlje 11 je prekretnica ove knjige. U tom poglavlju vam pokazujem kako možemo da implementiramo višeslojnu neuronsku mrežu, od nule, u biblioteci NumPi, i opisujem povratnu propagaciju – popularan i široko korišćen algoritam za obuku neuronskih mreža – korak po korak.
U drugoj polovini ove knjige fokusirani smo na duboko učenje. Opisujemo teme kao što su klasifikacija i generisanje slika i teksta. Takođe, postoji poglavlje koje se bavi grafički strukturiranim podacima, što je uzbudljivo jer proširuje ono što možete da uradite korišćenjem dubokog učenja. Knjigu završavamo učenjem uslovljavanjem, koje je u suštini posebna pod-oblast (ali postoji i deo koji koristi duboko učenje.)
Trebalo bi da napomenem da ovo odražava ukupnu strukturu knjige Python mašinsko učenje, 3. izdanje. Međutim, u narednim odeljcima ću vam govoriti o nekoliko prepisanih tekstova, proširenih odeljaka i dva potpuno nova poglavlja. Sa više od 770 stranica smo dostigli granicu u pogledu količine sadržaja koju možemo da imamo a da zadržimo mogućnost štampane verzije.
Korišćenje radnog okvira PyTorch
Kao što vidite čitajući naslov, jedna od velikih promena je to što smo preneli primer koda poglavlja o dubokom učenju iz biblioteke TensorFlow u PyTorch. To je bio veliki poduhvat i zaista cenim to što mi je Yuxi (Hayden) Liu pomogao u tome, tako što je preuzeo vođstvo u ovoj tranziciji.
PyTorch je objavljen 2016. godine i prošle su četiri godine otkako sam ga u potpunosti usvojio i za istraživanje i za podučavanje. Ono što volim kod radnog okvira PyTorch je to što je dobro dizajniran i veoma pogodan za korišćenje, a istovremeno je dovoljno fleksibilan da mogu lako da ga prilagodim svojim istraživačkim projektima.
Ali zapravo, nisam jedini koji voli da koristi PyTorch. Prema najnovijim trendovima, PyTorch se koristi u oko 60% svih implementacija koda u nedavnim publikacijama dubokih neuronskih mreža.
Kao mali bonus, dodao sam i odeljak o korišćenju biblioteke PyTorch Lightning, koja pomaže u organizovanju koda i projekata. Takođe, olakšava mnoge komplikovane aspekte, kao što je obuka sa više GPU-a. Pošto sada bliže sarađujem sa PyTorchLightning timom očekujte još PyTorch Lightning sadržaja u budućnosti.
Bez obzira na to da li ste potpuno novi u dubokom učenju ili ste počeli svoj put korišćenjem drugog radnog okvira za duboko učenje, siguran sam da ćete uživati u korišćenju radnog okvira PyTorch.
Transformatori za obradu govornog jezika
Kao što ste možda čuli, transformatori su sada vodeća arhitektura dubokog učenja za najsavremeniju obradu govornog jezika. U ovom poglavlju ćete naučiti kako su transformatori evoluirali iz rekurentnih neuronskih mreža. Objašnjavamo mehanizam samopažnje, korak po korak, sve do originalne arhitekture transformatora. Međutim, ovo poglavlje sadrži mnogo više od toga.
Takođe opisujemo razne GPT arhitekture (transformatori tipa dekodera usmereni na generisanje tekstova) i BERT (transformatori tipa enkodera fokusirani na klasifikaciju teksta) i pokazaćemo vam kako da koristite ove arhitekture u praksi. Bez brige, za to vam nije potreban superkompjuter, jer vam pokazujemo kako da usvojite besplatno dostupne, unapred obučene modele koje možete dodatno da podesite za nove zadatke.
Prošle godine, nakon veoma dugog predavanja o transformatorima bio sam veoma uzbuđen što sam napisao ovo novo poglavlje. Uz veliku pomoć Jitiana Zhaoa, reorganizovali smo ove sadržaje i učinili ih dostupnijim. Posebno sam ponosan na poboljšani tok i nove slike koje pomažu da ovi koncepti budu bolje ilustrovani.
Grafovske neuronske mreže
Na osnovu prethodnog odeljka, možda vam se čini da transformatori dobijaju svu pažnju. Međutim, takođe sam veoma uzbuđen zbog ovog drugog novog poglavlja o grafovskim neuronskim mrežama. Ova tema je usko povezana sa mojim istraživačkim interesovanjima i uzbudljivim novim smerom za duboko učenje.
Ono što je zaista sjajno kod grafovskih neuronskih mreža je to što nam omogućavaju da koristimo grafički strukturirane podatke (umesto tabela, slika ili teksta). Na primer, neki problemi iz stvarnog sveta predstavljeni su kao grafovi, uključujući grafove društvenih mreža i grafove molekula (hemikalije).
U ovom poglavlju objašnjavamo, korak po korak, kako grafovske neuronske mreže funkcionišu. Ovo poglavlje počinjemo objašnjenjem kako možemo da strukturiramo grafove kao ulazne podatke u duboke neuronske mreže. Zatim, prelazimo na motivaciju koja stoji iza korišćenja konvolucija grafa, implementiramo grafovsku neuronsku mrežu od nule i, na kraju, koristimo PyTorch Geometric za zadatak predviđanja molekularnih svojstava.
Za ovo poglavlje imao sam zadovoljstvo da sarađujem sa Benom Kaufmanom, studentom doktorskih studija kome sam trenutno mentor. Trenutno radim na nekoliko uzbudljivih istraživačkih projekata sa Benom i zahvalan sam njegovom entuzijazmu za pisanje ovog poglavlja.
Ovo poglavlje je proizašlo iz našeg zajedničkog interesovanja za korišćenje grafovskih neuronskih mreža u kontekstu virtuelnog skrininga – računske procedure koja se često koristi za otkrivanje bioaktivnih molekula i (farmaceutskih) lekova. (Ako ste zainteresovani za više detalja o ovoj temi, možda će vam se dopasti i naš sveobuhvatni članak Machine Learning and AI-based Approaches for Bioactive Ligand Discovery and GPCR-ligand Recognition.)
Svež novi izgled
Ovo je moja peta knjiga sa izdavačkom kućom Packt (često zaboravim da sam davno napisao knjigu Heatmaps in R, davno), i veoma sam uzbuđen zbog novog rasporeda! Ovaj novi raspored ima tanje margine (jedini način da se sav sadržaj uklopi u ograničenje stranice) i postoje natpisi na slikama, koje možete da vidite na snimcima ekrana iz knjige.
Ono što je najvažnije, ovaj novi izgled bolje funkcioniše za matematičke delove knjige: veličina fonta matematičkih simbola je sada konačno konzistentna.
Štaviše, bonus je to što knjiga sada podržava boje sintakse. Smatram da to može da olakša čitanje određenog koda.
Jedno malo upozorenje je da umetnut kod ima tamnu pozadinu, što pomalo otežava štampanje, ali će prijati mnogim programerima koji biraju tamnu pozadinu u svom uređivaču koda ili terminalu komandne linije.
Na kraju, trebalo bi da kažem da je štampana verzija dostupna samo u sivim tonovima kako bi knjiga imala razumnu cenu. Još nisam dobio štampani primerak i stoga ne mogu da prikažem sliku kako to izgleda. Međutim, čitao sam svoju knjigu na crno-belome-čitaču i, čini mi se, izgleda sasvim dobro.
Zapravo, zbog mogućnosti da bez žaljenja škrabam po njima, e-čitači su odnedavno postali moj omiljeni izbor za čitanje knjiga. Naravno, ako više volite boju, uvek možete da razmislite o tabletu bez elektronskog mastila ili da pogledate GitHub skladište knjige gde ćete pronaći sve slike u boji, a takođe sam ih ugradio u Jupyter notebook za lakšu referencu.
Šta se još promenilo
Pored dva nova poglavlja i premeštanja svih poglavlja zasnovanih na biblioteci TensorFlow na PyTorch, postoji i nekoliko izmena u prvom delu knjige.
Na primer, prepisao sam poglavlje 11 – implementacija neuronske mreže od nule – skoro od nule da bih ponudio bolje objašnjenje povratne propagacije. Takođe su prepravljeni i drugi odeljci, kao što je logistička regresija. Iako ne želim da nabrajam sve manje promene, takođe sam revidirao nekoliko slika.
Sve u svemu, postoji mnogo malih dodataka raštrkanih po celoj knjizi. Mali dodaci, kao što su PCA faktorska težina ili nasumična pretraga – relativno mali dodaci koje jedva da vredi pominjati, ali mogu da imaju veliki uticaj u praktičnoj primeni.
Najznačajniji novi odeljak je odeljak u kom objašnjavamo gradijentno pojačavanje za klasifikaciju. Na predavanjima sam obično objašnjavao gradijentno pojačavanje sa primerom regresije, zato što je jednostavnije i zgodnije u poređenju sa klasifikacijom. Međutim, studenti su me pitali kako to funkcioniše za klasifikaciju i svideo mi se izazov da to zapišem. (I da, drago mi je što ste pitali, vrlo sažeto je obuhvaćen i XGBoost.)
Uživajte
Sve u svemu, veoma sam uzbuđen zbog ove knjige. Od prvog izdanja nisam se toliko zabavljao radeći na projektu knjige. Drago mi je što smo konačno prešli na PyTorch – alat koji svakodnevno koristim za istraživanje i za svoje hobi projekte. I rad na poglavljima o transformatorima i grafovskim neuronskim mrežama bio je veoma prijatan.
Stvaranje tog novog sadržaja od nule je bio veliki posao. Vodite beleške, kreirate strukturu, kreirate figure, a zatim na kraju popunjavate pasuse jedan po jedan. Puno je posla, ali to je ono što volim.
Biće mi drago da čujem pitanja ili povratne informacije. Slobodno mi se obratite! Najbolje mesto za to je Forum za diskusiju (na GitHub-u).
Nadam se da ćete uživati u ovoj knjizi!
Linkovi
GitHub skladište
stranica Amazon.com
stranica knjige na Packt veb sajtu