Men o'zimni mashinada o'qishni o'rgatishda ishlatgan eng yaxshi manbalar

Mashinalarni o'qitish sohasi har yili tobora ko'proq ommalashmoqda. Ushbu o'sish bilan ko'plab kutubxonalar va yangi boshlanayotgan odamlar uchun hayotga tatbiq etilishi mumkin bo'lgan eng qiyin tushunchalarni olib tashlash uchun vositalar paydo bo'ldi.

Ko'pchilik sizga ushbu sohada ishlash uchun ML darajasidan yuqori darajaga ega bo'lishingiz kerakligini aytadi. Agar siz ma'lumotlar va amaliy matematika bilan ishlashni yaxshi ko'rsangiz, unda men bu noto'g'ri deb aytardim. Men kollejni "Machine Learning" yoki ma'lumot darajasi bilan tugatmadim, ammo men hozir boshlanganda ML bilan ishlayapman. Men avval o'rgangan narsalarim va bu erda qanday qilib bu boshqa birovga yordam berishiga umid qilib qanday qilib olganimni aytib bermoqchiman.

Ishni boshlash

Pythonni men boshlaganimda bilgan edim, lekin agar shunday bo'lmasa, avval Python-ning asosiy va oraliq bilimlarini o'rganishni maslahat beraman. Boshqalar bilan solishtirganda tilni o'rganish juda oson. Python, shuningdek, eng katta ma'lumot fanlari / ML hamjamiyatining uyidir, shuning uchun o'rganishda yordam beradigan ko'plab vositalar mavjud.

Python-ni o'rganing: freeCodeCamp Python Crash Course

Shunday qilib, birinchi narsa, OCDevel (overcast.fm, iTunes) tomonidan yaratilgan "Mashinani o'rganish podkastini" sevimli podcast ilovangizga yuklab olishdir. Dastlabki 10-15 epizodlarni tinglang. Ular mashinani o'rganish ekotizimi haqida umumiy ma'lumot berishda juda yaxshi va shuningdek, OCDevel saytida bog'langan tavsiya etilgan manbalar mavjud.

Uskunalar

Anaconda & Jupyter daftarchasi - bu ML va ma'lumotlar ilmi uchun zarur bo'lgan narsalar. Ularni o'rnatish va sozlash uchun ko'rsatmalarga amal qiling.

Python plagin bilan vizual studiya kodi - Men Microsoft mahsulotini tavsiya qilaman deb hech o'ylamagan edim, ammo so'nggi paytlarda ularning ochiq manbali manfaati meni hayratda qoldiradi. Endi bu Python-da ba'zi narsalarni bajarganim uchun - kodni disk raskadrovka qilish kabi mening eng sevimli kod muharriri.

Kaggle.com - boshlanganda ma'lumotlar to'plamini topish uchun eng yaxshi joy. Oldinga o'ting va qayd yozuvini ro'yxatdan o'tkazing va saytni to'ldiring. Turli xil darajadagi odamlar uchun ko'plab musobaqalar va hatto ular bilan birga borish uchun darsliklar borligini sezasiz (Titanik haqida yangi boshlanuvchilar uchun bu kabi). Python kutubxonalarini o'rganayotganda ushbu ma'lumotlar to'plamlari bilan ishlash juda foydali bo'ladi.

Python kutubxonalari

Keyinchalik ma'lumotlar bilan ishlash uchun keng tarqalgan Python kutubxonalarini o'rganish juda muhim: Numpy, Matplotlib, Pandas, Scikit-Learn va boshqalar. Men ushbu kursni datacampdan boshlashni maslahat beraman. Bu o'tish mumkin yoki ko'rib chiqish uchun foydalanishingiz mumkin bo'lgan ba'zi bir asoslardan oshib ketadi va Numpy bo'limi yaxshi tanishtiradi.

Pandas o'rganish kerak, lekin u juda ko'p narsalarni amalga oshirgani uchun tushunish uchun biroz vaqt talab etiladi. U Numpy tepasida qurilgan va ma'lumotlarni tozalash, tayyorlash va tahlil qilish uchun ishlatiladi. Shuningdek, unda vizualizatsiya kabi narsalar uchun o'rnatilgan vositalar mavjud. Pandasni o'rganish va u bilan mashq qilish uchun juda ko'p manbalardan foydalandim. Bu erda bir nechta:

  1. Kaggldagi Pandalarni o'rganing
  2. Pandas video kursini o'rganing | Kurs uchun daftar
  3. Jupyter daftarchasi Qo'shimcha misollar: asoslar | Matplotlib va ​​Pandas bilan fitna | Va yana ko'p narsalar

Pandasdan keyin Scikit-Learn keladi. Bu erda narsalar haqiqiy mashina o'rganish algoritmlariga ko'proq tatbiq etila boshlaydi. Scikit-Learn - bu Python-ning mashinalarni o'rganish uchun ilmiy kutubxonasi.

Hozirgacha men topgan eng yaxshi manba bu "Scikit-Learn va Tensorflow yordamida mashinalarni o'rganishda qo'llar" kitobidir. Men sizga amaliy misollar bilan bosqichma-bosqich o'rgatish juda yaxshi ish deb o'ylayman. Birinchi bo'lim - bu Skikit-O'rganish haqida, shuning uchun men birinchi qismini qildim va keyin Tensorflow bo'limiga qaytib keldim.

Keras va PyTorch kabi ko'plab Python kutubxonalari mavjud, ammo men keyinroq ularga kirishga kirishaman. Bu allaqachon o'rganish uchun juda ko'p narsa :)

Shallow o'rganish

Bu mashinani o'rganishdagi birinchi qadam. Scikit-Learn kutubxonaga o'rnatilgan chiziqli regressiya kabi sayoz o'rganish funktsiyalariga ega. Yuqorida men aytib o'tgan "Scikit-Learn" kitobi oddiy mashina o'rganish algoritmlarining ko'p turlari haqida o'rgatadi va sizga misollar bilan mashq qilish imkonini beradi.

Bu yaxshi bo'lsa-da, men hali ham Stenforddan Endryu Ngning Mashinani O'qitish kursidan o'tishni foydali deb topdim. Uni Coursera-da bepul tekshirish mumkin (iTunes-da bu kurs uchun podkast mavjud, ammo uni kuzatish biroz qiyin va o'n yildan oshiqroq). Ta'lim berishning sifati juda ajoyib va ​​bu Internetdagi eng tavsiya etilgan manbalardan biridir (bu orqali topish oson emas, shuning uchun men bu erda buni tavsiya qilaman).

Sekin-asta Andrew Ng kursidan o'tishni boshlang va agar biror narsani tushunmasangiz, asabiylashmang. Men uni qo'yib, bir necha bor olib ketishim kerak edi. Men Matlabni kollejda o'qirdim, u dars jarayonida foydalanadigan til edi, shuning uchun bu qism bilan qiynalmadim. Ammo agar siz uning o'rniga Python-dan foydalanmoqchi bo'lsangiz, Internetda tarjima qilingan misollarni topishingiz mumkin.

Matematik :)

Ha, matematika kerak. Ammo, men matematikani birinchi marotaba o'rganishning eng yaxshi usuli deb bilmayman; bu ko'pchilikni qo'rqitadi. OCDevel o'zining podkastida (yuqorida ko'rsatilgan) ta'kidlaganidek, ko'p vaqtingizni amaliy mashina o'rganishga va ehtimol 15-20% matematikani o'rganishga sarflang.

Menimcha, bu erda birinchi qadam statistikani o'rganish / o'rganish. Bu hazm qilishni osonlashtirishi va juda qiziqarli va amaliy bo'lishi mumkin. Statistikadan so'ng, chuqur o'rganishda nimalar bo'layotganini bilish uchun, albatta, chiziqli algebrani va ba'zi hisoblarni o'rganishingiz kerak bo'ladi. Bu biroz vaqt talab etadi, ammo men buni tavsiya qilgan ba'zi manbalar.

Statistika manbalari:

  1. Menimcha, Udacity bo'yicha statistika kurslari juda yaxshi. Siz shu bilan boshlashingiz va keyin taklif qilganlarini o'rganishingiz mumkin.
  2. Menga "Yalang'och statistika" kitobi juda yoqdi. Bu amaliy misollar bilan to'la va o'qish yoqimli.
  3. Bayesiya statistikasini va Frequentist va Klassik modellarni qanday farqlashini tushunish ham foydalidir. Ushbu Coursera kursi ushbu tushunchalarni ochib beradigan juda yaxshi ish qiladi - bu erda kursning 2 qismi ham mavjud.

Chiziqli algebra manbalari:

  1. "Chiziqli algebra, qadam-qadam" kitobi juda zo'r. Bu o'rta maktab / kollej darsligi kabi, ammo juda yaxshi yozilgan va ularga rioya qilish oson. Shuningdek, har bir bob uchun ko'plab mashqlar mavjud, ularning orqa qismida javoblar mavjud.
  2. Chiziqli algebra video seriyasining mohiyati - 3blue1brown tomonidan matematik tushuntirishlar ajoyib. Men uning matematik tarkibini juda tavsiya qilaman.
  3. Andrew Ng kursida ham chiziqli algebraga umumiy nuqtai nazar mavjud, ammo men yuqoridagi ro'yxatdagi ikkita manbani ushbu mavzuni o'rganish uchun ishlatish biroz osonroq deb o'ylayman.

Hisoblash manbalari:

Men bundan oldin bir necha yil hisob-kitoblarni olib borganman, ammo baribir biroz chayqashim kerak edi. Men Calc uchun ishlatilgan darslikni oldim. 1 mahalliy kitob do'konida boshlash uchun. Bu erda menga yordam bergan ba'zi onlayn manbalar mavjud.

  1. Hisoblash video seriyasining mohiyati
  2. Katta Kurslar Plyusidan hisoblashni tushunish

Boshqa foydali matematik ma'lumotlar:

  1. Matematik Qaror Katta Kurslardan Plyus

Chuqur o'rganish

Matematikani va ma'lumotlarni o'rganish va mashinani o'rganish asoslarini o'rganganingizdan so'ng, ko'proq algoritmlar va neyron tarmoqlariga o'tish vaqti keldi.

Ehtimol siz 1-bo'limda aytib o'tgan ba'zi manbalar bilan allaqachon chuqur bilimga ega bo'lgandirsiz, ammo sizni neyron tarmoqlari bilan tanishtirish uchun juda yaxshi manbalar mavjud. Hech bo'lmaganda ular yaxshi ko'rib chiqiladi va siz uchun ba'zi bo'shliqlarni to'ldiradi.

  1. Neyron tarmoqlarini tushuntiruvchi 3blue1brown seriyasi
  2. Deeplizardning Deep Learning pleylisti bilan tanishtirish

Endryu Ng Stenford kursida ishlayotganingizda, fast.ai-ni tekshirib ko'rishni maslahat beraman. Ularda ushbu tushunchalarni o'rganish va mustahkamlashga yordam beradigan bir nechta yuqori sifatli, amaliy video kurslar mavjud. Birinchisi - Koderlar uchun amaliy chuqur o'rganish, ikkinchisi - endigina chiqarilgan - bu Coders uchun qirralarni chuqur o'rganish. 2-qism. Men ushbu videolarni tomosha qilish va qayta ko'rib chiqish uchun juda ko'p narsalarni to'pladim. Fast.ai-ning yana bir ajoyib xususiyati bu jamoat forumidir; ehtimol Internetdagi eng faol forumlardan biri.

Pythonda chuqur o'rganish kutubxonalari

Ushbu uchta kutubxonadan ozgina narsa o'rganish yaxshi deb o'ylayman. Keras - boshlash uchun yaxshi joy, chunki bu API sodda va intuitivroq. Hozirda men deyarli butunlay PyTorch-dan foydalanaman, bu mening shaxsiy sevimlilarim, lekin ularning barchasi yaxshi va yoqimli. Turli vaziyatlarda qaysi birini tanlashni bilish yaxshi.

Keras

  • Deeplizard Keras pleylisti - Ushbu kanalda juda yaxshi tushuntirishlar va misollar mavjud. Siz videolar bilan birga bepul tomosha qilishingiz yoki kodli noutbuklardan foydalanishingiz, shuningdek Patreonga $ 3 (USD) darajasida obuna bo'lishingiz mumkin.
  • Shuningdek, Keras uchun hujjatlar juda yaxshi ekanligini topdim
  • Datacampda ML va Keras uchun juda ko'p yozilgan darsliklar mavjud

Tensor oqimi

  • Kitobning "Tensorflow" bo'limi, "Scikit-Learn va Tensorflow yordamida mashinalarni o'rganishda qo'llar" (yuqorida aytib o'tilgan)
  • Deeplizard Tensorflow seriyasi

PyTorch

  • Deeplizard Pytorch seriyasi
  • Udacity Pytorch Bootcamp - Men hozirda Udacity-ning chuqur kuchaytirishni o'rganish nanodagrini olayapman va ularning PyTorch qismini oldinroq kurs juda yaxshi deb o'ylardim. Ular uni bepul ommaga taqdim etish arafasida! Mana, ularning Github-dagi PyTorch daftarlari.
  • Fast.ai shuningdek PyTorch-da yaratilgan - agar siz ularning kurslaridan o'tsangiz, ushbu kutubxonani bilib olasiz.

Bloglar va ilmiy maqolalar

Men o'rganganim kabi hozirgi tadqiqotlarni o'qish juda foydali deb topdim. Murakkab tushunchalarni yaratishga yordam beradigan ko'plab manbalar mavjud va ularning ortida joylashgan matematik, hazm qilishni osonlashtiradi. Ushbu qog'ozlarni o'qish juda ham qiziqarli bo'ladi, keyin tushunasiz.

  1. fast.ai blogi
  2. Distil .pub - Mashinani o'rganish bo'yicha tadqiqotlar aniq tushuntirilgan
  3. Ikki daqiqali hujjat - AI va boshqa ilmiy ishlarning qisqa video parchalari
  4. Arvix Sanity - tadqiqot ishlarini qidirish, saralash va saqlash uchun ko'proq intuitiv vosita
  5. Chuqur o'quv qo'llanmalarining yo'l xaritasi
  6. Machine Learning Subreddit - ularda "nima o'qiyapsizlar" mavzulari bor, ular ilmiy maqolalarni muhokama qiladilar
  7. Arxiv Insights - Ushbu kanalda AI tadqiqot ishlarida juda katta tanaffuslar mavjud

Ovoz-qo'shimcha ta'lim

  1. Data Skeptic - Ular juda qisqa qisqaroq epizodlarga ega, ular [mini] deb nomlanadi va bu erda ular mashinalarni o'rganish tushunchalarini qamrab oladi
  2. Dasturiy ta'minot muhandislik kundalik mashina o'rganish
  3. OCDevel Machine Learning Podcast - Men buni allaqachon aytib o'tgan edim, lekin uni o'tkazib yuborgan bo'lsangiz, men yana ro'yxat qilaman.

Qo'shimcha o'quv manbalari

  • Neyron tarmoqlari va chuqur o'rganish bo'yicha elektron kitob
  • Endryu Ng tomonidan Mashinada O'rganish Haqiqati (bepul qoralama)

Tamom

Iltimos, agar bu foydali bo'lsa, chapak chaling :)

Ijtimoiy media: @gwen_faraday

Agar siz boshqa yaxshi manbalarni bilsangiz yoki men biron bir narsani etishmayotganimni ko'rsangiz, iltimos, izohlarda havolalarni qoldiring. Rahmat.