แหล่งข้อมูลที่ดีที่สุดที่ฉันเคยสอนการเรียนรู้ด้วยตนเอง

สาขาการเรียนรู้ของเครื่องจักรกำลังเป็นที่นิยมมากขึ้นทุกปี ด้วยการเติบโตนี้มีห้องสมุดและเครื่องมือมากมายที่ช่วยขจัดแนวคิดที่ยากที่สุดที่จะนำไปใช้กับผู้คนที่เริ่มต้น

คนส่วนใหญ่จะบอกว่าคุณต้องการระดับ ML ในระดับที่สูงขึ้นเพื่อทำงานในอุตสาหกรรม ถ้าคุณชอบทำงานกับข้อมูลและคณิตศาสตร์ในทางปฏิบัติฉันก็จะบอกว่ามันไม่เป็นความจริง ฉันไม่ได้เรียนจบวิทยาลัยด้วยการเรียนรู้ของเครื่องหรือระดับข้อมูล แต่ฉันกำลังทำงานกับ ML ตอนเริ่มต้น ฉันต้องการแบ่งปันสิ่งที่ฉันเคยเรียนรู้และฉันมาที่นี่ด้วยความหวังได้อย่างไรว่าจะช่วยคนอื่น

เริ่มต้นใช้งาน

ฉันรู้จัก Python มาก่อนแล้ว แต่ถ้าคุณไม่แนะนำให้เรียน Python พื้นฐานและระดับกลางก่อน ภาษาค่อนข้างง่ายต่อการเรียนรู้เมื่อเทียบกับคนอื่น Python เป็นที่ตั้งของชุมชนข้อมูลวิทยาศาสตร์ / ML ที่ใหญ่ที่สุดดังนั้นจึงมีเครื่องมือมากมายที่จะช่วยให้คุณเรียนรู้

เรียนรู้ Python: freeCodeCamp Python Crash Course

สิ่งแรกที่คุณควรทำคือดาวน์โหลด“ The Machine Learning Podcast” โดย OCDevel (overcast.fm, iTunes) ลงในแอพพอดคาสต์ที่คุณชื่นชอบ ฟังตอนแรก 10–15 ตอน พวกเขาเก่งมากในการให้ภาพรวมของระบบนิเวศการเรียนรู้ของเครื่องและยังมีทรัพยากรที่แนะนำซึ่งเชื่อมโยงกับเว็บไซต์ OCDevel

การขับรถ

Anaconda & Jupyter Notebook - สิ่งที่ต้องมีสำหรับ ML & data science ทำตามคำแนะนำที่นี่เพื่อติดตั้งและตั้งค่า

Visual Studio Code พร้อม Python Plugin - ฉันไม่เคยคิดเลยว่าจะแนะนำผลิตภัณฑ์ของ Microsoft แต่ฉันรู้สึกประทับใจอย่างยิ่งกับความมุ่งมั่นของโอเพ่นซอร์สเมื่อไม่นานมานี้ ตอนนี้เป็นโปรแกรมแก้ไขรหัสที่ฉันโปรดปรานแม้กระทั่งการทำบางสิ่งใน Python เช่นรหัสการดีบัก

Kaggle.com เป็นสถานที่ที่ดีที่สุดในการค้นหาชุดข้อมูลเมื่อคุณเริ่มต้น ไปข้างหน้าและลงทะเบียนสำหรับบัญชีและกระตุ้นรอบไซต์ คุณจะสังเกตเห็นว่ามีการแข่งขันมากมายสำหรับผู้คนทุกระดับประสบการณ์และแม้กระทั่งแบบฝึกหัดที่จะไปกับพวกเขา (เช่นเดียวกับผู้เริ่มต้นที่เป็นมิตรกับไททานิค) ชุดข้อมูลเหล่านี้จะเป็นประโยชน์อย่างมากในการฝึกฝนในขณะที่คุณกำลังเรียนรู้ห้องสมุด Python

Python ไลบรารี่

ต่อไปสิ่งสำคัญคือการเรียนรู้ห้องสมุด Python ทั่วไปสำหรับการทำงานกับข้อมูล: Numpy, Matplotlib, Pandas, Scikit-Learn ฯลฯ ฉันขอแนะนำให้เริ่มต้นด้วยหลักสูตรนี้จาก datacamp มันไปมากกว่าพื้นฐานบางอย่างที่คุณสามารถข้ามหรือใช้สำหรับการตรวจสอบและส่วน Numpy เป็นบทนำที่ดี

นุ่นเป็นต้องเรียนรู้ แต่ยังต้องใช้เวลาสักครู่ที่จะเข้าใจเพราะมันทำสิ่งต่าง ๆ มากมาย มันถูกสร้างขึ้นบน Numpy และใช้สำหรับทำความสะอาดเตรียมและวิเคราะห์ข้อมูล นอกจากนี้ยังมีเครื่องมือในตัวสำหรับสิ่งต่าง ๆ เช่นการสร้างภาพข้อมูล ฉันใช้ทรัพยากรมากมายในการเรียนรู้แพนด้าและฝึกฝนด้วย นี่คือบางส่วน:

  1. เรียนรู้ Pandas ใน Kaggle
  2. เรียนรู้หลักสูตรวิดีโอของหมีแพนด้า โน๊ตบุ๊คสำหรับหลักสูตร
  3. Jupyter Notebook ตัวอย่างพิเศษ: พื้นฐาน | การพล็อตด้วย Matplotlib & Pandas | และอื่น ๆ อีกมากมาย

หลังจาก Pandas มา Scikit-Learn นี่คือสิ่งที่เริ่มนำไปใช้กับอัลกอริทึมการเรียนรู้ของเครื่องจริงมากขึ้น Scikit-Learn เป็นห้องสมุด Python ทางวิทยาศาสตร์สำหรับการเรียนรู้ของเครื่อง

แหล่งข้อมูลที่ดีที่สุดที่ฉันพบในตอนนี้คือหนังสือ“ Hands on Machine Learning with Scikit-Learn และ Tensorflow” ฉันคิดว่ามันทำงานได้ดีมากในการสอนคุณอย่างเป็นขั้นเป็นตอนพร้อมด้วยตัวอย่างที่ใช้งานได้จริง ครึ่งแรกนั้นเกี่ยวกับ Scikit-Learn ฉันเลยทำส่วนนั้นก่อนแล้วจึงกลับมาที่ส่วนของ Tensorflow

มีห้องสมุดไพ ธ อนอื่น ๆ อีกมากมายเช่น Keras และ PyTorch แต่ฉันจะเข้าไปในภายหลัง นี่เป็นเรื่องที่เรียนรู้มากมายอยู่แล้ว :)

การเรียนรู้ตื้น

นี่เป็นขั้นตอนแรกในการเรียนรู้ของเครื่อง Scikit-Learn มีฟังก์ชั่นการเรียนรู้แบบตื้นเช่นการถดถอยเชิงเส้นในห้องสมุด หนังสือ Scikit-Learn ที่ฉันพูดถึงข้างต้นสอนเกี่ยวกับอัลกอริทึมการเรียนรู้ของเครื่องทั่วไปหลายประเภทและให้คุณฝึกฝนด้วยมือตัวอย่าง

แม้ว่ามันจะเป็นสิ่งที่ดี แต่ฉันก็ยังพบว่ามีประโยชน์เช่นกันที่จะต้องผ่านหลักสูตรการเรียนรู้ด้วยเครื่องของ Andrew Ng จาก Stanford สามารถตรวจสอบได้ฟรีที่ Coursera (มีพอดคาสต์สำหรับหลักสูตรนี้บน iTunes แต่มันก็ยากที่จะติดตามและดีไปกว่าทศวรรษ) คุณภาพการเรียนการสอนนั้นยอดเยี่ยมมากและเป็นหนึ่งในแหล่งข้อมูลที่แนะนำมากที่สุดทางออนไลน์ (ไม่ใช่วิธีที่ง่ายที่สุดในการผ่านซึ่งเป็นสาเหตุที่ฉันแนะนำไว้ที่นี่)

เริ่มต้นด้วยหลักสูตร Andrew Ng อย่างช้าๆและจะไม่หงุดหงิดถ้าคุณไม่เข้าใจอะไรสักอย่าง ฉันต้องวางมันลงแล้วหยิบมันหลาย ๆ ครั้ง ฉันยังใช้ Matlab ในวิทยาลัยซึ่งเป็นภาษาที่เขาใช้ในหลักสูตรดังนั้นฉันจึงไม่ได้มีปัญหากับส่วนนั้น แต่ถ้าคุณต้องการใช้ Python แทนคุณสามารถค้นหาตัวอย่างที่แปลออนไลน์ได้

คณิตศาสตร์ :)

ใช่คณิตศาสตร์เป็นสิ่งจำเป็น อย่างไรก็ตามฉันไม่รู้สึกว่าวิธีการทางคณิตศาสตร์ที่เข้มข้นเป็นวิธีที่ดีที่สุดในการเรียนรู้ มันน่ากลัวสำหรับหลาย ๆ คน ตามที่ OCDevel แนะนำในพอดคาสต์ของเขา (เชื่อมโยงด้านบน) ใช้เวลาส่วนใหญ่ในการเรียนรู้การเรียนรู้ด้วยเครื่องเชิงปฏิบัติและอาจใช้เวลาเรียนคณิตศาสตร์ประมาณ 15-20%

ฉันคิดว่าขั้นตอนแรกที่นี่คือการเรียนรู้ / แปรงสถิติ มันง่ายกว่าที่จะแยกแยะและทั้งสนุกและใช้งานได้จริง หลังจากสถิติคุณจะต้องเรียนรู้พีชคณิตเชิงเส้นเล็กน้อยและแคลคูลัสบางส่วนเพื่อให้รู้ว่าเกิดอะไรขึ้นในการเรียนรู้เชิงลึก อาจใช้เวลาสักครู่ แต่ต่อไปนี้เป็นแหล่งข้อมูลบางส่วนที่ฉันแนะนำให้ทำ

ทรัพยากรสถิติ:

  1. ฉันคิดว่าหลักสูตรสถิติเกี่ยวกับ Udacity ค่อนข้างดี คุณสามารถเริ่มด้วยสิ่งนี้แล้วสำรวจสิ่งที่พวกเขาเสนอ
  2. ฉันรักหนังสือเล่มนี้“ Naked Statistics” เต็มไปด้วยตัวอย่างที่ใช้งานได้จริงและน่าอ่าน
  3. นอกจากนี้ยังมีประโยชน์ในการทำความเข้าใจสถิติของ Bayesian และความแตกต่างของแบบจำลองของผู้ใช้บ่อยและคลาสสิค หลักสูตรรายวิชานี้ใช้งานได้ดีในการอธิบายแนวคิดเหล่านี้ - นอกจากนี้ยังมีส่วนที่ 2 ของหลักสูตรที่นี่

ทรัพยากรพีชคณิตเชิงเส้น:

  1. หนังสือ“ พีชคณิตเชิงเส้นทีละขั้น” เป็นเลิศ มันเหมือนหนังสือเรียนมัธยม / วิทยาลัย แต่เขียนได้ดีและง่ายต่อการติดตาม นอกจากนี้ยังมีแบบฝึกหัดมากมายสำหรับแต่ละบทที่มีคำตอบอยู่ด้านหลัง
  2. สาระสำคัญของวิดีโอซีรี่ส์พีชคณิตเชิงเส้น - คำอธิบายทางคณิตศาสตร์ของ 3blue1brown นั้นน่าทึ่งมาก ฉันขอแนะนำเนื้อหาคณิตศาสตร์ของเขา
  3. มีภาพรวมของพีชคณิตเชิงเส้นในหลักสูตร Andrew Ng ด้วยเช่นกัน แต่ฉันคิดว่าแหล่งข้อมูลทั้งสองที่ฉันเขียนไว้ด้านบนนั้นใช้ง่ายกว่าเล็กน้อยสำหรับการเรียนรู้เรื่องนี้

ทรัพยากรแคลคูลัส:

ก่อนหน้านี้ฉันใช้แคลคูลัสมาสองสามปีแล้ว แต่ฉันก็ยังต้องแปรงขึ้นมาซักหน่อย ฉันหยิบตำราเรียนที่ใช้แล้วสำหรับ Calc 1 ที่ร้านหนังสือในท้องถิ่นเพื่อเริ่มต้น นี่คือแหล่งข้อมูลออนไลน์ที่ช่วยฉันด้วย

  1. สาระสำคัญของชุดวิดีโอแคลคูลัส
  2. ทำความเข้าใจแคลคูลัสจาก The Great Courses Plus

คณิตศาสตร์ที่เป็นประโยชน์อื่น ๆ :

  1. การตัดสินใจเชิงคณิตศาสตร์จากหลักสูตรมหานิยมพลัส

การเรียนรู้อย่างลึกซึ้ง

หลังจากเรียนรู้คณิตศาสตร์และพื้นฐานของวิทยาศาสตร์ข้อมูลและการเรียนรู้ของเครื่องแล้วก็ถึงเวลาที่จะข้ามไปยังอัลกอริทึมและเครือข่ายประสาทเทียมเพิ่มเติม

คุณอาจได้รับการเรียนรู้อย่างลึกซึ้งจากแหล่งข้อมูลบางส่วนที่ฉันกล่าวถึงในส่วนที่ 1 แต่นี่เป็นแหล่งข้อมูลที่ดีจริงๆที่จะแนะนำคุณกับเครือข่ายประสาทอย่างไรก็ตาม อย่างน้อยพวกเขาก็จะได้รับการตรวจสอบที่ดีและเติมช่องว่างให้คุณ

  1. ซีรี่ส์ 3blue1brown ของการอธิบายโครงข่ายประสาทเทียม
  2. Deeplizard’s Intro to Deep Playlist

ในขณะที่คุณกำลังทำงานผ่านหลักสูตร Andrew Ng Stanford ฉันขอแนะนำให้เช็คเอาท์อย่างรวดเร็ว พวกเขามีหลักสูตรวิดีโอเชิงปฏิบัติที่มีคุณภาพสูงจำนวนมากซึ่งสามารถช่วยในการเรียนรู้และเชื่อมโยงแนวคิดเหล่านี้ อย่างแรกคือการเรียนรู้เชิงลึกเชิงปฏิบัติสำหรับนักเขียนและที่สอง - เพิ่งเปิดตัว - คือการเรียนรู้ที่ล้ำสมัยสำหรับนักเขียนตอนที่ 2 ฉันเลือกหลายสิ่งหลายอย่างตั้งแต่การดูและการดูวิดีโอเหล่านี้อีกครั้ง ฟีเจอร์ที่น่าทึ่งอีกอย่างของ fast.ai คือฟอรัมชุมชน อาจเป็นหนึ่งในฟอรัม AI ที่ออนไลน์มากที่สุด

ห้องสมุดการเรียนรู้ลึกในงูหลาม

ฉันคิดว่าเป็นความคิดที่ดีที่จะเรียนรู้เล็กน้อยจากห้องสมุดทั้งสามนี้ Keras เป็นจุดเริ่มต้นที่ดีเนื่องจาก API ถูกสร้างขึ้นให้ใช้งานได้ง่ายขึ้นและใช้งานง่ายขึ้น ตอนนี้ฉันใช้ PyTorch เกือบทั้งหมดซึ่งเป็นรายการโปรดส่วนตัวของฉัน แต่พวกเขาทุกคนมีโปรและคอน ดังนั้นจึงเป็นเรื่องดีที่จะเลือกได้ในสถานการณ์ที่แตกต่างกัน

Keras

  • Deeplizard Keras Playlist - ช่องนี้มีคำอธิบายและตัวอย่างที่ดี คุณสามารถติดตามพร้อมกับวิดีโอได้ฟรีหรือสามารถเข้าถึงสมุดบันทึกรหัสได้เช่นกันโดยสมัครรับข้อมูลที่ Patreon ในระดับ $ 3 (USD)
  • ฉันยังพบว่าเอกสารสำหรับ Keras นั้นค่อนข้างดี
  • Datacamp มีแบบฝึกหัดที่เขียนขึ้นอย่างดีสำหรับ ML และ Keras เช่นนี้

Tensorflow

  • หมวด Tensorflow ของหนังสือ“ Hands on Machine Learning พร้อม Scikit-Learn และ Tensorflow” (ดังที่ได้กล่าวไว้ข้างต้น)
  • ซีรี่ส์ Deeplizard Tensorflow

PyTorch

  • Deeplizard Pytorch Series
  • Udacity Pytorch Bootcamp - ตอนนี้ฉันเรียนรู้การเสริมแรงนาโนของ Udacity แล้วและฉันคิดว่าส่วน PyTorch ของพวกเขาในหลักสูตรก่อนหน้านี้ดีมาก พวกเขากำลังจะเปิดให้สาธารณชนเข้าชมฟรี! นี่คือบางส่วนของสมุดบันทึก PyTorch ของพวกเขาใน Github
  • Fast.ai สร้างขึ้นด้วย PyTorch - คุณจะได้เรียนรู้ห้องสมุดนี้ถ้าคุณผ่านหลักสูตรของพวกเขา

บล็อกและบทความวิจัย

ฉันพบว่ามันมีประโยชน์มากในการอ่านงานวิจัยในขณะที่ฉันเรียนรู้ มีทรัพยากรมากมายที่ช่วยสร้างแนวคิดที่ซับซ้อนและคณิตศาสตร์ที่อยู่เบื้องหลังย่อยง่ายขึ้น เอกสารเหล่านี้มีความสนุกสนานมากขึ้นในการอ่านแล้วคุณอาจตระหนักถึง

  1. บล็อก fast.ai
  2. Distill .pub - การวิจัยการเรียนรู้ของเครื่องอธิบายได้อย่างชัดเจน
  3. Two Minute Papers - รายงานวิดีโอสั้น ๆ เกี่ยวกับ AI และรายงานการวิจัยอื่น ๆ
  4. Arvix Sanity - เครื่องมือที่ใช้งานง่ายยิ่งขึ้นในการค้นหาเรียงลำดับและบันทึกงานวิจัย
  5. แผนการเรียนรู้ในเอกสารเชิงลึก
  6. เครื่องมือการเรียนรู้ Subreddit - พวกเขามีหัวข้อ threads คุณกำลังอ่านอะไร ’ที่พูดถึงงานวิจัย
  7. Arxiv Insights - ช่องนี้มีเอกสารการวิจัย AI ที่ยอดเยี่ยม

การศึกษาเสริมเสียง

  1. The Skeptic Data - พวกมันมีตอนที่สั้นกว่าเยอะมากเรียกว่า [mini] ซึ่งมันครอบคลุมแนวคิดการเรียนรู้ของเครื่อง
  2. การเรียนรู้วิศวกรรมซอฟต์แวร์ทุกวัน
  3. OCDevel Machine Learning Podcast - ฉันพูดถึงสิ่งนี้แล้ว แต่ฉันจะแสดงรายการอีกครั้งในกรณีที่คุณพลาด

แหล่งเรียนรู้เพิ่มเติม

  • E-book และ Neural Networks
  • Machine Learning Yearning (ฉบับร่างฟรี) โดย Andrew Ng

ตอนจบ

กรุณาปรบมือถ้าเป็นประโยชน์ :)

โซเชียลมีเดีย: @gwen_faraday

หากคุณรู้ว่ามีทรัพยากรอื่นใดที่ดีหรือเห็นว่าฉันขาดอะไรไปโปรดออกจากลิงก์ในความคิดเห็น ขอขอบคุณ.