یادگیری ماشین

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

یادگیری ماشین یک علم یا هنر از برنامه نویسی کامپیوتر است که سیستم ها می توانند از داده ها بیاموزند.

برخی از مثال ها:

  • پیشبینی اینکه یک اس ام اس، تبلیغاتی است یا خیر.
  • پیشبینی اینکه یک کارت عابربانک تقلبی است یا خیر.
  • پیشبینی احتمال اینکه مشتری جنس بعدی چه چیزی را خریداری می کند.
  • پیشبینی احتمال اینکه در جام جهانی امسال احتمال به پیروزی رسیدن کدام تیم با توجه به شرایط از همه بیشتر است.



انواع یادگیری ماشین

یادگیری با نظارت: این مدل ماشین با استفاده از داده های برچسب گذاری شده و داشتن جواب های درست یاد می گیرند که در لاتین به آن Supervised learning می گویند.

الگوریتم های یادگیری با نظارت:

  • K-Nearest Neighbors
  • Linear Regression
  • Logistic Regression
  • Support Vector Machine
  • Decision Trees and Random Forests
  • Neural Networks


یادگیری بی نظارت: این مدل ماشین بدون استفاده از داده های برچسب گذاری شده و بدون هیچ معلمی می آموزد که در لاتین به آن Unsupervised Learning می گویند.

الگوریتم های یادگیری بدون نظارت:

  • K-Means
  • Hierarchical cluster Analysis (HCA)
  • Expectation Maximization
  • Principal Component Analysis (PCA)
  • Kernel PCA
  • Locally-Linear Embedding (LLE)
  • t-distributed Stochastic Neighbor Embedding (t-SNE)
  • Apriori
  • Eclat


یادگیری نیمه نظارتی: این مدل ماشین برخی از داده هایی که دارد برچسب گذاری شده است که در لاتین به آن Semi-SupervisedLearning می گویند.

یادگیری تقویتی: در این مدل ماشین ابتدا به محیط نگاه می کند اتفاقات را انتخاب و اجرا می کند، بسته به رفتاری که از خود نشان می دهد به ماشین جایزه داده می شود و یا برعکس تنبیه می شود. سپس خودش می آموزد که کدام استراتژی از همه بهتر است. اینگونه به مرور زمان متوجه می شود که در چه موقعیتی چه رفتاری از خود نشان دهد. در لاتین به این مدل یادگیری Reinforcement Learning می گویند.

یادگیری بسته ای: در این مدل ماشین با استفاده از افزایش داده به مرور زمان می آموزد. به عبارتی باید با استفاده از داده های موجودی که در حال حاضر دارد بیاموزد. البته این مدل یادگیری زمان و منابع زیادی را مصرف می کند و معمولا هم به صورت offline کار خود را انجام می دهد. ابتدا ماشین می آموزد، سپس اجرا می شود تا به عرصه بازار برسد و به گونه ای اجرا می شود که دیگر چیزی نیاموزد. در لاتین به آن Batch Learning یا Offline Learning می گویند.

یادگیری آنلاین: در این مدل ماشین با استفاده از داده هایی که به صورت بسته های کوچک (mini-batch) به آن داده می شود می آموزد. هر مرحله یادگیری سریع و هزینه ارزانی دارد بنابراین ماشین داده را به می گیرد و به سرعت آن را می آموزد که در لاتین به آن Online Learning می گویند.




در پست های بعدی مثال هایی از این مدل یادگیری های ماشین خواهیم داشت.

از دیدگاه شما، کدام مدل یادگیری ماشین از همه جذاب تر است؟