نقشه راه یادگیری ماشین لرنینگ

برای یادگیری ماشین لرنینگ دو راه وجود دارد که در ادامه این پست با نقشه راه، مزایا و معایب هرکدام آشنا می‌شوید. من شما را با مفاهیم آشنا می‌کنم ولی انتخاب را به خودتان واگذار می‌کنم. البته قبل از انتخاب دقت کنید که باید با یک زبان برنامه‌نویسی مناسب (مثل پایتون) آشنایی کامل را داشته باشید.


اگر زبان مورد نظر شما پایتون می‌باشد، انتظار می‌رود باسرفصل‌های زیر در پایتون به طور کامل آشنا باشید.

  • منطق ریاضی (Logic)
  • متغیرها (Variables)
  • عملگرهای ریاضیاتی (Mathematical Operators)
  • دستورات شرطی (Conditional Statement)
  • حلقه‌های تکرار (Loops)
  • لیست‌‌ها (Lists)
  • مجموعه‌‌ها (Sets)
  • لغت‌نامه‌ها (Dictionaries)
  • محدوده‌ و فضای نام (Namespace & Scope)
  • توابع (Functions)
  • کلاس‌ها (Classes)

اگر آشنایی کافی با زبان برنامه‌نویسی پایتون ندارید راه‌های مختلفی برای یادگیری این زبان قدرتمند و در عین حال ساده وجود دارد. می‌توانید از فیلم‌های آموزش و دوره‌های آموزش تعاملی و ... استفاده کنید. اگر نیاز به راهنمایی بیشتری داشتید به این آیدی در تلگرام مراجعه کنید. درضمن نقشه راه یادگیری پایتون به زودی در پستی دیگر منتشر می‌شود.

نقشه راه اول

در این روش لازم است با گذراندن یک دوره جامع ماشین لرنینگ به هدف خود برسید. در نتیجه شما باید با مفاهیم ماشین لرنینگ آشنا شوید. برای این کار دوره‌های متنوعی وجود دارد که توسط موسسه‌‌های معتبر و بزرگ مانند لیندا، کورسرا، یودمی و ... منتشر شده‌اند. در این روش شما باید دوره‌هایی را بگذرانید که در آن‌ها مفهوم ماشین لرنینگ به کمک زبان برنامه‌نویسی ارائه می‌شوند. همچنین در این بین شما باید با کتابخانه‌های مربوط به داده و ماشین لرنینگ زبان پایتون را فرا بگیرید. هرچند دوره‌‌های وجود دارد که همه‌ی مطالب را درون خودشان گنجانده‌اند. در نقشه راه دوم به توضیح و معرفی این کتابخانه‌ها پرداخته‌ایم.

معایب و مزایا

در این روش شما بدون اتلاف وقت روی یادگیری سایر مفاهیم مثل آمار، احتمال، ریاضیات پیوسته و گسسته و ... به طور مستقیم سراغ یادگیری ماشین لرنینگ می‌روید. در نتیجه در طول یک الی سه ماه ماشین لرنینگ را فرا می‌گیرید.

در این بین شما تنها چیزی که اصولی یاد گرفته‌اید زبان پایتون می‌باشد و از لذت درک کامل و قدرت پیاده‌سازی الگوریتم‌های ماشین لرنینگ و همچنین درک ارتباط آن‌ها بین آمار، احتمال و ریاضیات را از دست می‌دهید.

نقشه راه دوم

این راه بر خلاف راه قبلی دارای پیش‌نیازهای متعددی می‌باشد. قبل از یادگیری ماشین لرنینگ باید با مفاهیم زیر به طور کامل آشنا باشید.

ریاضی حسابان (Calculus)

این درس همان ریاضی عمومی ۱ در دانشگاه می‌باشد. الگوریتم‌های متعددی در ماشین‌لرنینگ با مفهوم مشتق و انتگرال سروکار دارند. همچنین برای درک آمار و احتمال باید با مفاهیم حد و پیوستگی، مشتق و اتگرال آشنا باشید. به طور کلی می‌توانید از سرفصل‌های زیر برای یادگیری حسابان استفاده کنید.

  • تابع و انواع آن (Functions)
  • حد و پیوستگی (Limit & Continuity)
  • مشتق و مشتق‌پذیری (Derivative & Differentiability)
  • انتگرال (Integral)


منابع زیادی برای یادگیری حسابان وجود دارد. اما بهترین منبع برای یادگیری عمیق و مفهومی این سرفصل‌ها دوره حسابان موسسه خان‌آکادمی می‌باشد. این آموزش توسط یکی از اساتید برجسته دنیا و دانشگاه‌های آمریکا تهیه شده و به صورت رایگان در اختیار عموم قرار دارد. پیشنهادی که در یادگیری حسابان می‌توان داد یادگیری آن به صورت مفهومی و عمیق باشد نه به صورت تستی و کنکوری!

آمار و احتمال (Statistics & Probability)

از آنجایی که پایه مفاهیم ماشین لرنینگ از آمار و احتمال گرفته شده‌است آشنایی و تسلط به آمار و احتمال کمک زیادی به درک مفاهیم آن می‌کند. الگوریتم‌های هوشمند معمولا وقتی بین چندراهی قرار می‌گیرند و نیاز به انتخاب یکی از آن‌ها را دارند طبیعتا راهی را انتخاب می‌کنند که احتمال مطلوب بودن آن از بقیه بیشتر است و با این وجود نیاز به درک احتمال برای پیاده‌سازی بخش عظیمی از الگوریتم‌ها بوجود می‌آید. برای جمع‌آوری و تحلیل داد‌ه‌ها از علم آمار کمک می‌گیریم. البته گاهی احتمال و آمار هردو به حل یک مسئله کمک می‌کنند.


از نظر من بهترین منبع زبان فارسی برای یادگیری آمار و احتمال دوره استاد شریفی زارچی مدرس علوم رایانه در دانشگاه شریف (مکتبخونه) و همین‌طور دوره آمار و احتمال خان‌آکادمی نیز بسیار مفید می‌باشد. پیشنهاد می‌کنم در کنار دوره‌های آموزشی، کتاب آمار و احتمال انتشارات زیر ذره‌بین را نیز مطالعه فرمایید. سرفصل‌های پیشنهای برای یادگیری آمار و احتمال به این شکل می‌باشد.

مفهوم ماشین لرنینگ (Theoretical Machine Learning)

بعد از آشنایی با حسابان و آمار و احتمال وقت آن رسیده که به ماشین لرنینگ سلام کنید. برای درک بهتر ابتدا با مفهوم ماشین لرنینگ آشنا شوید. برای یادگیری مفوم و تئوری ماشین لرنینگ این دوره به شدت پیشنهاد می‌شود.

کتابخانه‌ها ضروری پایتون (Necessary Python Libraries)

برای وارد شدن به ماشین لرنینگ به صورت عملی (Practical) لازم است با کتابخانه‌های زیر به نسبت خوبی آشنا باشید. البته ممکن است در یک دوره کتابخانه‌های دیگری نیز معرفی شوند و کتابخانه‌های زیر همه مهم و در همه دوره‌ها مشترک می‌باشند.

  • محسابات علمی (Numpy)
  • مصورسازی (Matplotlib)
  • مصورسازی (Scipy)
  • ذخیره، طبقه‌بندی و دستکاری داده‌ها (Pandas)

ماشین لرنینگ در عمل (Practical Machine Learning)

اگر به این مکان از نقشه رسیده‌اید یعنی پایه‌های شما برای حل مسائل واقعی آماده شده است و به این بابت به شما تبریک می‌گویم. احتمالا خودتان ادامه راه را می‌دانید. یک دوره ماشین لرنینگ با پایتون می‌تواند به طور عجیبی تاثیر گذار باشد. چراکه با تمام مفاهیم از قبل آشنا شده‌اید و کافی است آن‌ها را به صورت عملی به کار ببرید.

تمرین، تمرین، تمرین

در اینجا شما باید به شدت تمرین کرده و از داده‌های موجود در اطرافتان (مثل وبسایت کگل) برای تحلیل و حل مسائل استفاده کنید. چند مورد از این مسائل را می‌توانید در زیر ببینید.

  • تشخیص سرطان
  • مسافران کشتی تایتانیک
  • تشخیص میوه‌های سالم
  • تشخیص چهره

راهنمایی

اگر نیاز به راهنمایی بیشتری دارید یا این‌که حس می‌کنید قدرت انتخاب بین دو راه موجود را ندارید می‌توانید به این آیدی در تلگرام مراجعه کنید.