A legjobb források, amelyeket a gépi tanulás tanítására használtam

A gépi tanulás területe évről évre egyre általánosabbá válik. Ezzel a növekedéssel számos könyvtár és eszköz eljut a legnehezebben megvalósítható koncepciók elvonatkoztatásához a kezdő emberek számára.

A legtöbb ember azt állítja, hogy magasabb szintű ML-fokozatra van szükséged ahhoz, hogy az iparban dolgozz. Ha szeretsz az adatokkal és a gyakorlati matematikával dolgozni, akkor azt mondanám, hogy ez nem igaz. Gépi tanulás vagy adat szakon nem végeztem el az egyetemet, mégis az ML-vel dolgozom egy indításkor. Szeretném megosztani, amit korábban megtanultam, és hogyan kerültem ide, abban a reményben, hogy másnak is segít.

Elkezdeni

A Pythont már akkor ismertem, amikor elkezdtem, de ha mégsem, akkor először az alap és a középhaladó Python elsajátítását javaslom. A nyelvet másokhoz képest elég könnyen elsajátíthatjuk. A Python a legnagyobb adattudományi / ML közösségnek is otthont ad, így rengeteg eszköz segíti a tanulást.

Ismerje meg a Pythont: freeCodeCamp Python összeomlási tanfolyam

Ennek hiányában az első dolog, amit meg kell tennie, az OCDevel (overcast.fm, iTunes) által készített „The Machine Learning Podcast” letöltése a kedvenc podcast alkalmazásába. Hallgassa meg az első 10–15 részt. Nagyon jól áttekintik a gépi tanulás ökoszisztémáját, és vannak olyan ajánlott források, amelyek az OCDevel webhelyén találhatók.

Szerszámozás

Anaconda & Jupyter Notebook - Ezek elengedhetetlenek az ML és az adattudomány számára. Kövesse az itt található utasításokat a telepítéshez és beállításhoz.

Visual Studio Code Python beépülő modullal - soha nem gondoltam volna, hogy Microsoft-terméket fogok ajánlani, de őszintén lenyűgöz a nyílt forráskódú elkötelezettségük az utóbbi időben. Ez most a kedvenc kódszerkesztőm, még néhány dolog Pythonban történő végrehajtására is - például a hibakeresési kód.

A Kaggle.com a legjobb hely az adatkészletek megtalálásához, amikor elindul. Menj előre, regisztrálj egy fiókot, és piszkáld a webhelyet. Észre fogja venni, hogy sok verseny folyik minden tapasztalati szintű ember számára, sőt oktatóanyagok is készülnek velük (például ez a kezdőbarát verseny a Titanicról). Ezek az adatkészletek nagyon hasznosak lesznek a gyakorláshoz, miközben a Python könyvtárakat tanulja.

Python könyvtárak

Ezután fontos megtanulni a közös Python könyvtárakat az adatok kezeléséhez: Numpy, Matplotlib, Pandas, Scikit-Learn stb. Áttekint néhány alapismeretet, amelyeket átugorhat vagy áttekintésre használhat, és a Numpy szakasz jó bevezető.

A pandákat kötelező megtanulni, de egy kis időbe is beletelik, mire felfogják, mivel sok mindent megtesz. A Numpy tetejére épült, és az adatok tisztítására, előkészítésére és elemzésére szolgál. Beépített eszközei vannak például a vizualizációhoz is. Sok forrást használtam fel a Pandák megtanulására és gyakorlására. Íme néhány:

  1. Ismerje meg a pandákat a Kaggle-n
  2. Ismerje meg a Pandas videó tanfolyamot Jegyzetfüzet a tanfolyamhoz
  3. Jupyter Notebook Extra Példák: Alapok | Tervezés a Matplotlib & Pandas | És még sok más

Panda után jön a Scikit-Learn. Itt kezdik jobban alkalmazni a dolgokat a tényleges gépi tanulási algoritmusok. A Scikit-Learn egy tudományos Python könyvtár gépi tanuláshoz.

A legjobb erőforrás, amit erre eddig találtam, a „Kezek a gépi tanuláshoz a Scikit-Learn és a Tensorflow segítségével” című könyv. Szerintem nagyon jó munkát végez, amikor gyakorlati példákkal lépésről lépésre megtanít. Az első félidő a Scikit-Learn-ről szól, így először azt a részt csináltam, majd visszatértem a Tensorflow részhez.

Sok más Python könyvtár található, mint a Keras és a PyTorch, de később belemegyek. Ezt már sok tanulni kell :)

Sekély tanulás

Ez a gépi tanulás első lépése. A Scikit-Learn sekély tanulási funkciókkal rendelkezik, mint például a lineáris regresszió beépítve a könyvtárba. A fent említett Scikit-Learn könyv sokféle általános gépi tanulási algoritmusról tanít, és lehetővé teszi a példákkal való gyakorlást.

Bár ez jó, mégis hasznosnak tartottam Andrew Ng gépi tanulási tanfolyamát végigvinni Stanfordból. Ingyenesen ellenőrizhető a Coursera webhelyén (van egy podcast erre a tanfolyamra az iTunes-on, de egy kicsit nehéz követni, és jóval több mint egy évtizede). Az oktatás minősége elképesztő, és ez az egyik legtöbbet ajánlott online forrás (nem ez a legkönnyebb átjutni, ezért ajánlom itt lent).

Kezdje lassan végigjárni az Andrew Ng tanfolyamot, és ne csalódjon, ha valamit nem ért. Többször le kellett tennem és fel kellett vennem. Az egyetemen Matlabot is felvettem, ezt a nyelvet használja a tanfolyamon, így ezzel a részemmel nem volt bajom. De ha inkább Python-t akarja használni, megtalálja a példákat az interneten lefordítva.

Matek :)

Igen, matematika szükséges. Azonban nem érzem úgy, hogy az intenzív, a matematika előtt történő megközelítés a legjobb módszer a tanulásra; sok ember számára megfélemlítő. Ahogy az OCDevel podcastjében (a fentiekben hivatkozva) javasolja, töltse idejének nagy részét a gyakorlati gépi tanulással, és talán 15–20% -ot a matematika tanulásával.

Szerintem itt az első lépés a statisztikák elsajátítása / felfrissítése. Könnyebben emészthető, és nagyon szórakoztató és praktikus is lehet. A statisztikák után mindenképpen meg kell tanulnod egy kis lineáris algebrát és néhány kalkulust, hogy valóban tudd, mi folyik a mély tanulásban. Ez eltart egy ideig, de itt van néhány forrás, amelyet erre ajánlok.

Statisztikai források:

  1. Szerintem az Udacity statisztikai tanfolyamai elég jók. Kezdheti ezzel, majd felfedezheti a többi kínálatot.
  2. Imádtam a „Meztelen statisztikák” című könyvet. Tele van gyakorlati példákkal és élvezetes olvasni.
  3. Hasznos megérteni a Bayesi statisztikákat és azok különbségeit a frekvencia és a klasszikus modellekben. Ez a Coursera tanfolyam nagyszerű munkát végez ezen fogalmak elmagyarázásában - itt is van a kurzus 2. része.

Lineáris algebrai források:

  1. A „Lineáris algebra, lépésről lépésre” című könyv kiváló. Olyan, mint egy középiskolai / főiskolai tankönyv, de jól megírt és könnyen követhető. Rengeteg gyakorlat található minden fejezethez, válaszokkal a hátulján.
  2. A Lineáris Algebra videósorozat lényege - A 3blue1brown matematikai magyarázata elképesztő. Nagyon ajánlom a matematikai tartalmát.
  3. Van egy áttekintés a lineáris algebráról az Andrew Ng tanfolyamon is, de azt gondolom, hogy a fent felsorolt ​​két forrást egy kicsit könnyebb használni a tantárgy elsajátításához.

Számítási források:

Korábban vettem néhány évet a Kalkulusból, de még mindig elég sokat kellett ecsetelnem. Felvettem egy használt tankönyvet a Calchoz. 1 a helyi könyvesboltban. Íme néhány online forrás, amely nekem is segített.

  1. A Calculus videósorozat lényege
  2. A kalkulus megértése a The Great Courses Plus-ból

Egyéb hasznos matematika:

  1. Matematikai döntéshozatal a nagy tanfolyamokból

Mély tanulás

Miután megtanult néhány matematikát, valamint az adattudomány és a gépi tanulás alapjait, itt az ideje több algoritmusra és ideghálózatra ugrani.

Valószínűleg már belekóstolt a mély tanulásba az 1. részben említett források némelyikével, de itt van néhány nagyon jó forrás, hogy mindenképpen megismertesse Önt az ideghálózatokkal. Legalább jó áttekintés lesz, és pótol néhány hiányosságot az Ön számára.

  1. A 3blue1brown neurális hálózatok magyarázata című sorozat
  2. A Deeplizard bevezetője a mély tanulási lejátszási listához

Amíg végigmegy az Andrew Ng Stanford tanfolyamon, azt javaslom, hogy nézze meg a fast.ai oldalt. Számos kiváló minőségű, praktikus videotanfolyammal rendelkeznek, amelyek valóban hozzájárulhatnak e fogalmak elsajátításához és megerősítéséhez. Az első a Praktikus mély tanulás a kódolók számára, a második - most megjelent - a Cutting Edge Deep Learning For Coders, 2. rész. Annyi dolgot vettem fel, hogy megnéztem ezeket a videókat. A fast.ai másik csodálatos tulajdonsága a közösségi fórum; valószínűleg az egyik legaktívabb AI fórum online.

Mély tanulási könyvtárak a Pythonban

Úgy gondolom, hogy jó ötlet egy kicsit tanulni mindhárom könyvtárból. A Keras jó kiindulópont, mivel az API-t egyszerűbbé és intuitívabbá teszik. Jelenleg szinte teljes egészében a PyTorch-ot használom, ami a személyes kedvencem, de mindegyiknek vannak pro és kontra. Ezért jó, ha különböző helyzetekben melyiket választhatja.

Keras

  • Deeplizard Keras lejátszási lista - Ez a csatorna néhány nagyon jó magyarázattal és példával rendelkezik. Ingyenesen követheti a videókat, vagy hozzáférhet a kódfüzetekhez, ha feliratkozik a Patreonra a 3 USD (USD) szinten.
  • A Keras dokumentációját is elég jónak találtam
  • A Datacamp számos jól megírt oktatóanyagot tartalmaz az ML-hez és a Keras-hoz, mint ez

Tensorflow

  • A Tensorflow című rész, „Kezek a gépi tanuláshoz a Scikit-Learn és a Tensorflow segítségével” (szintén fent említett)
  • Deeplizard Tensorflow sorozat

PyTorch

  • Deeplizard Pytorch sorozat
  • Udacity Pytorch Bootcamp - Jelenleg az Udacity Deep Reinforcement Learning nanodegree-jét veszem figyelembe, és úgy gondoltam, hogy a tanfolyam elején a PyTorch részük nagyon jó volt. Mindjárt ingyenesen bevezetik a nyilvánosság elé! Íme néhány PyTorch jegyzetfüzetük a Githubról.
  • A Fast.ai a PyTorch-szal is felépül - Megtanulja ezt a könyvtárat, ha végigmegy a tanfolyamokon.

Blogok és kutatási cikkek

Nagyon hasznosnak találtam a jelenlegi kutatások elolvasását a tanulás során. Rengeteg erőforrás segíti a bonyolult fogalmak és a mögöttük álló matematika könnyebb megemésztését. Ezeket a cikkeket sokkal szórakoztatóbb olvasni, akkor rájöhet.

  1. fast.ai blog
  2. Distill .pub - A gépi tanulás kutatását világosan elmagyarázta
  3. Kétperces cikkek - Az AI és más kutatási cikkek rövid videofelvételei
  4. Arvix Sanity - Intuitívabb eszköz a kutatási cikkek átkutatásához, rendezéséhez és mentéséhez
  5. Mély tanulási papírok ütemterve
  6. Gépi tanulás Subreddit - Vannak "mit olvasol" szálak, amelyek kutatási cikkeket tárgyalnak
  7. Arxiv Insights - Ez a csatorna nagyszerű lebontásban tartalmazza az AI kutatási cikkeket

Audio-kiegészítő oktatás

  1. Az adatszkeptikus - Sok jó rövidebb epizódjuk van, úgynevezett [mini] -ek, ahol a gépi tanulás fogalmait tárgyalják
  2. Szoftvertechnika Napi gépi tanulás
  3. OCDevel Machine Learning Podcast - Ezt már említettem, de újból felsorolom, hátha elmulasztotta

További tanulási források

  • Ideghálózatok és mély tanulási e-könyv
  • Gépi tanulási tanulás (ingyenes vázlat), Andrew Ng

Vége

Kérlek tapsolj, ha ez hasznos volt :)

Közösségi média: @gwen_faraday

Ha tudsz más jó forrásokról, vagy úgy látod, hogy hiányzik valami, kérlek, hagyj linkeket a megjegyzésekben. Köszönöm.