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

shabake-mag.jpg

اگر در نظر دارید یادگیری ماشین را با پایتون یاد بگیرید، باید اطلاعات کافی در ارتباط با مفاهیم زیر داشته باشید:

  • متغیرها
  • عملگرهای ریاضی
  • اظهارات کنترلی
  • ساختارهای داده (فهرست، مجموعه، لغت‌نامه و غیره)
  • نحوه کار با فایل‌ها
  • توابع
  • برنامه‌نویسی شی‌گرا

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

روش اول

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

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

روش دوم

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

حساب دیفرانسیل و انتگرال

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

  • توابع و مسائل مربوط به توابع.
  • حد و پیوستگی
  • مشتق و دیفرانسیل

انتگرال

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

احتمال و آمار

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

  • محاسبات عددی و دسته‌بندی
  • میانگین به همراه مباحث مرتبط
  • انحراف معیار و واریانس
  • کوواریانس
  • همبستگی
  • چولگی
  • متغیرهای تصادفی
  • توزیع‌ها
  • احتمال کلاسیک
  • احتمال شرطی

جبر خطی

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

Numpy و Pandas

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

  • خواندن داده‌ها
  • محاسبه میانگین، واریانس، انحراف استاندارد، میانه و غیره.
  • محاسبه همبستگی و ماتریس همبستگی
  • ضرب ماتریس
  • معکوس ماتریس
  • کار با ماتریس‌ها
  • گروه‌بندی داده‌ها

کتابخانه‌های مصورسازی داده‌ها

همان‌گونه که اشاره شد برای استخراج حقایق مهم در مورد داده‌ها دو کتابخانه Pandas و Numpy ارزشمند هستند. اما، اگر می‌خواهید داده‌هایی که به دست آوردید را به افراد یا شرکت‌ها نشان دهید، در این حالت باید از نمودارها و چارت‌ها استفاده کنید. خوشبختانه طیف گسترده‌ای از کتابخانه‌ها در این زمینه وجود دارند از مهم‌ترین آن‌ها باید به Matplotlib و Seaborn اشاره کرد. به‌طور کلی در این زمینه باید به فکر یادگیری مفاهیم زیر باشید:

  • هیستوگرام
  • هیستوگرام انباشته شده
  • نمودار میله‌ای
  • نمودار پراکنده
  • نمودار جعبه
  • نمودار سه بعدی
  • نمودار KDE
  • نمودار ازدحام
  • نقشه حرارت
  • قطعه توزیع
  • سفارشی‌سازی نقشه‌ها
  • نظریه یادگیری ماشین

به عنوان یک مهندس یادگیری ماشین، باید در ارتباط با درک مفاهیم زیر مشکل خاصی نداشته باشید:

  • پاک کردن داده‌ها
  • پر کردن مقادیر از دست رفته
  • حذف برخی ویژگی‌های غیر ضروری
  • انتخاب ویژگی
  • مقیاس‌بندی ویژگی‌ها
  • منظم‌سازی
  • مهندسی ویژگی
  • الگوریتم‌های رگرسیون
  • رگرسیون خطی ساده
  • ‌Ridge & Lasso
  • رگرسیون خطی چندگانه
  • رگرسیون چند جمله‌ای
  • XGB Regressor
  • الگوریتم‌های طبقه‌بندی
  • K نزدیکترین همسایه (KNN)
  • رگرسیون لجستیک
  • درخت تصمیم‌گیری
  • جنگل تصادفی
  • بیز ساده
  • XGBClassifier
  • الگوریتم‌های خوشه بندی
  • K-Means
  • DBSCAN (خوشه‌بندی فضایی برنامه‌های کاربردی مبتنی بر تراکم)
  • کاهش ابعاد
  • PCA (تجزیه و تحلیل اجزای اصلی)
  • LDA
  • t-SNE

برخی منابع پیشنهاد می‌کنند به فکر یادگیری اسکیت‌لرن (scikit-learn) باشید. دوره‌ها و آموزش‌های زیادی وجود دارند که در یادگیری اسکیت‌لرن به شما کمک می‌کنند. Scikit-learn که برخی منابع از واژه sklearn برای توصیف آن استفاده می‌کنند یک کتابخانه یادگیری ماشین رایگان است که برای زبان برنامه‌نویسی پایتون توسعه داده شده است. این کتابخانه دارای الگوریتم‌های طبقه‌بندی، رگرسیون و خوشه‌بندی مختلف از جمله ماشین‌های بردار پشتیبان، جنگل‌های تصادفی، تقویت گرادیان، k-means و DBSCAN است و برای تعامل با کتابخانه‌های عددی و علمی پایتون NumPy و SciPy طراحی شده است.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟