Parimad ressursid, mida ma ise masinõppe õpetamiseks kasutasin

Masinõppe valdkond muutub iga aastaga üha enam peavooluks. Selle kasvuga kaasnevad paljud raamatukogud ja tööriistad, et eraldada mõned kõige raskemad rakendatavad mõisted alustavatele inimestele.

Enamik inimesi ütleb, et tööstuses töötamiseks vajate kõrgemat taset ML-is. Kui teile meeldib töötada andmete ja praktilise matemaatikaga, siis ma ütleksin, et see pole tõsi. Ma ei lõpetanud kõrgkooli masinõppe ega andmekraadiga, kuid töötan praegu ML-ga käivitamisel. Tahan jagada seda, mida varem õppisin ja kuidas siia jõudsin, lootes, et see aitab kedagi teist.

Alustamine

Teadsin Pythoni juba alustades, kuid kui te seda ei tee, soovitan kõigepealt õppida Pythoni põhi- ja kesktaset. Keelt on teistega võrreldes üsna lihtne õppida. Pythonis asub ka suurim andmeteaduse / ML kogukond, nii et õppimise ajal on palju tööriistu.

Õpi Pythoni: freeCodeCamp Pythoni krahhikursus

Kui see pole nii, peate kõigepealt alla laadima OCDeveli (overcast.fm, iTunes) "The Machine Learning Podcast" oma lemmik podcast-rakendusse. Kuulake esimesi 10–15 jagu. Nad oskavad väga hästi masinõppe ökosüsteemist ülevaadet anda ning OCDeveli saidil on ka soovitatud ressursse.

Tööriistad

Anaconda & Jupyteri märkmik - need on ML-i ja andmeteaduse jaoks hädavajalikud. Nende installimiseks ja seadistamiseks järgige siin toodud juhiseid.

Visual Studio kood koos Pythoni pistikprogrammiga - ma ei arvanud kunagi, et soovitan Microsofti toodet, kuid olen ausalt avaldanud muljet nende avatud lähtekoodiga pühendumisest viimasel ajal. See on nüüd minu lemmikkoodiredaktor, isegi selleks, et teha Pythonis mõningaid asju - näiteks koodi silumine.

Kaggle.com on parim koht andmekogumite leidmiseks, kui olete alustanud. Jätkake ja registreeruge konto saamiseks ning torkige saidil ringi. Märkate, et seal on palju võistlusi igasuguse kogemustasemega inimestele ja isegi nendega tutvumiseks mõeldud õpetused (nagu see Titanicu jaoks mõeldud algajale sõbralik). Need andmekogumid on Pythoni teekide õppimise ajal väga kasulikud.

Pythoni raamatukogud

Järgmisena on oluline õppida tavalisi Pythoni teeke andmetega töötamiseks: Numpy, Matplotlib, Pandas, Scikit-Learn jne. Soovitan alustada selle kursusega datacampist. See sisaldab mõningaid põhitõdesid, mille saate vahele jätta või ülevaatamiseks kasutada, ja Numpy jaotis on hea sissejuhatus.

Pandad peavad õppima, kuid neist võtab ka natuke aega aru, kuna see teeb nii palju asju. See on ehitatud Numpy peale ja seda kasutatakse andmete puhastamiseks, ettevalmistamiseks ja analüüsimiseks. Sellel on ka sisseehitatud tööriistad näiteks visualiseerimiseks. Kasutasin palju ressursse pandade õppimiseks ja sellega harjutamiseks. Siin on mõned:

  1. Õpi pandasid Kaggle'is
  2. Õpi pandade videokursust | Kursuse märkmik
  3. Jupyteri märkmiku lisanäited: põhitõed | Planeerimine Matplotlibi ja pandadega | Ja paljud teised

Pärast pandasid tuleb Scikit-Learn. Siin hakatakse asju tegelike masinõppe algoritmide jaoks rohkem rakendama. Scikit-Learn on teaduslik Pythoni raamatukogu masinõppeks.

Parim ressurss, mille selle jaoks siiani leidsin, on raamat “Hands on Machine Learning with Scikit-Learn and Tensorflow”. Ma arvan, et see teeb väga head tööd, õpetades teile samm-sammult praktiliste näidete abil. Esimene pool on umbes Scikit-Learn, nii et ma tegin selle osa kõigepealt ära ja tulin siis tagasi Tensorflow osa juurde.

Seal on palju muid Pythoni raamatukogusid nagu Keras ja PyTorch, kuid nendesse lähen hiljem. Seda on juba palju õppida :)

Madal õppimine

See on esimene samm masinõppesse. Scikit-Learnil on teeki sisse ehitatud madalad õppefunktsioonid, näiteks lineaarne regressioon. Scikit-Learn raamat, mida ma eespool mainisin, õpetab mitut tüüpi tavalisi masinõppe algoritme ja võimaldab teil harjutada näiteid.

Kuigi see on hea, pidasin siiski kasulikuks läbida ka Andrew Ng'i masinõppe kursus Stanfordist. See on saadaval tasuta auditeerimiseks saidil Coursera (selle kursuse jaoks on iTunes'is podcast, kuid seda on natuke raske jälgida ja see on juba üle kümne aasta vana). Juhendamise kvaliteet on hämmastav ja see on üks kõige soovitatumaid ressursse veebis (see pole kõige lihtsam läbi saada, mistõttu soovitan seda siin allpool).

Alustage Andrew Ng kursuse läbimist aeglaselt ja ärge pettuge, kui te millestki aru ei saa. Pidin selle mitu korda maha panema ja üles võtma. Võtsin Matlabi ka ülikoolis, mis on keel, mida ta kursusel kasutab, nii et selle osaga ei olnud mul probleeme. Aga kui soovite selle asemel kasutada Pythoni, leiate näited tõlgitud veebist.

Matemaatika :)

Jah, matemaatika on vajalik. Kuid ma ei tunne, et intensiivne, kõigepealt matemaatika lähenemine on parim viis õppida; see on paljude inimeste jaoks hirmutav. Nagu OCDevel oma podcastis (ülal lingitud) soovitab, kulutage suurema osa ajast praktilise masinõppe õppimisele ja võib-olla 15–20% matemaatika õppimisele.

Ma arvan, et esimene samm on siin statistika õppimine / täiendamine. See võib olla kergemini seeditav ja olla nii lõbus kui ka praktiline. Pärast statistikat peate kindlasti õppima natuke lineaarset algebrat ja mõnda arvutust, et tõepoolest teada, mis sügavas õppes toimub. See võtab natuke aega, kuid siin on mõned ressursid, mida ma selleks soovitan.

Statistika ressursid:

  1. Ma arvan, et Udacity statistikakursused on üsna head. Võite alustada sellest ja seejärel uurida teisi, mida nad pakuvad.
  2. Mulle meeldis raamat “Alasti statistika”. See on täis praktilisi näiteid ja on mõnus lugeda.
  3. Samuti on kasulik mõista Bayesi statistikat ja seda, kuidas see erineb sagedasematest ja klassikalistest mudelitest. See kurssera kursus teeb nende mõistete selgitamiseks suurepärase töö - siin on ka kursuse 2. osa.

Lineaaralgebra ressursid:

  1. Raamat “Lineaaralgebra, samm-sammult” on suurepärane. See on nagu keskkooli / kõrgkooli õpik, kuid hästi kirjutatud ja hõlpsasti jälgitav. Iga peatüki jaoks on ka palju harjutusi, mille taga on vastused.
  2. Lineaaralgebra videosarja olemus - 3blue1browni matemaatilised selgitused on hämmastavad. Soovitan soojalt tema matemaatikasisu.
  3. Lineaarse algebra kohta on ülevaade ka Andrew Ng kursusel, kuid arvan, et kahte ülaltoodud ressurssi on aine õppimiseks veidi lihtsam kasutada.

Arvestusressursid:

Olin juba paar aastat Calculust võtnud, kuid mul oli siiski vaja seda üsna palju harjata. Võtsin kätte Calci jaoks kasutatud õpiku. 1 kohalikus raamatupoes alustamiseks. Siin on mõned veebiavarused, mis aitasid ka mind.

  1. Calculuse videosarja olemus
  2. Suurte kursuste plussist arvutuse mõistmine

Muu kasulik matemaatika:

  1. Matemaatiline otsustamine suurtest kursustest Plus

Sügav õppimine

Pärast matemaatika õppimist ning andmeteaduse ja masinõppe põhitõdesid on aeg hüpata rohkematesse algoritmidesse ja närvivõrkudesse.

Tõenäoliselt saite sügava õppimise maitset juba mõnede ressursside abil, mida ma mainisin 1. osas, kuid siin on mõned väga head ressursid, et teid ikkagi närvivõrkudega tutvustada. Vähemalt on need hea ülevaade ja täidavad teie jaoks mõned lüngad.

  1. 3blue1browni seeria närvivõrkude selgitamiseks
  2. Deeplizardi sissejuhatus sügava õppimise esitusloendisse

Andrew Ng Stanfordi kursuse läbimise ajal soovitan vaadata lehte fast.ai. Neil on mitu kvaliteetset ja praktilist videokursust, mis aitavad neid mõisteid õppida ja kinnistada. Esimene neist on Praktiline sügavõppimine kooderitele ja teine ​​- äsja välja antud - Cutting Edge Deep Learning For Coders, 2. osa. Nii mõnegi asja tõstsin üles nende videote vaatamisest ja uuesti vaatamisest. Veel üks fast.ai hämmastav omadus on kogukonna foorum; ilmselt üks aktiivsemaid tehisintellekti foorumeid veebis.

Süvasti õppivad raamatukogud Pythonis

Minu arvates on hea mõte kõigist kolmest raamatukogust natuke õppida. Keras on hea koht alustamiseks, kuna selle API on tehtud lihtsamaks ja intuitiivsemaks. Praegu kasutan peaaegu täielikult PyTorchi, mis on minu isiklik lemmik, kuid neil kõigil on nii profid kui ka plussid. Seega on hea, kui saate erinevates olukordades valida, kumma valida.

Keras

  • Deeplizard Kerase esitusloend - sellel kanalil on mõned tõsiselt head selgitused ja näited. Võite videoid tasuta jälgida või pääseda juurde ka koodimärkmikele, tellides Patreoni teenuse $ 3 (USD) astmel.
  • Samuti leidsin Kerase dokumentatsiooni üsna heaks
  • Datacampil on palju sarnaste ML-i ja Kerase jaoks hästi kirjutatud õpetusi

Tensorivoog

  • Raamatu Tensorflow osa „Käed masinõppes koos Scikit-Learni ja Tensorflowiga“ (mainitud ka eespool)
  • Deeplizard Tensorflow seeria

PyTorch

  • Deeplizard Pytorchi seeria
  • Udacity Pytorch Bootcamp - praegu võtan Udacity's Deep Reinforcement Learning nanodegree ja arvasin, et nende PyTorchi osa kursuse alguses oli väga hea. Nad hakkavad seda avalikkusele tasuta esitama! Siin on mõned nende PyTorchi märkmikud Githubis.
  • Fast.ai on üles ehitatud ka PyTorchiga - õpite seda teeki õppima, kui läbite nende kursused.

Blogid ja teadustööd

Minu arvates on praeguste uuringute lugemine õppimise ajal väga kasulik. Seal on palju ressursse, mis aitavad keerulisi kontseptsioone ja nende taga olevat matemaatikat hõlpsamini seedida. Neid pabereid on ka palju toredam lugeda, siis võite aru saada.

  1. fast.ai ajaveeb
  2. Distill .pub - masinõppe uuringud on selgitatud selgelt
  3. Two Minute Papers - tehisintellekti ja muude uurimistööde lühidad videolõigud
  4. Arvix Sanity - intuitiivsem tööriist uurimistööde otsimiseks, sortimiseks ja salvestamiseks
  5. Sügavate õppimistööde teekaart
  6. Masinõppe subreddit - neil on teemasid "mida sa loed" uurimistööde arutamiseks
  7. Arxiv Insights - sellel kanalil on tehisintellekti uurimistööde suurepäraseid jaotusi

Heli täiendav haridus

  1. Andmete skeptik - neil on palju häid lühemaid episoode, mida nimetatakse [mini] -deks, kus need hõlmavad masinõppe kontseptsioone
  2. Tarkvaratehnika Igapäevane masinõpe
  3. OCDevel Machine Learning Podcast - mainisin seda juba, aga panen selle igaks juhuks uuesti kirja, kui te sellest ilma jäite

Täiendavad õppevahendid

  • Närvivõrgud ja süvaõppimise e-raamat
  • Masinõppe õppimine (tasuta mustand), autor Andrew Ng

Lõpp

Plaksutage, kui sellest oli abi :)

Sotsiaalmeedia: @gwen_faraday

Kui teate mõnda muud head ressurssi või näete, et mul on midagi puudu, jätke palun lingid kommentaaridesse. Aitäh.