مقدمه‌ای ساده بر یادگیری ماشین

مقدمه‌ای ساده بر یادگیری ماشین

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


یادگیری ماشین در همه زمینه‌ها، از اتوماسیون کارهای معمولی گرفته تا ارائه سیستم‌های بینایی هوشمند مورد استفاده قرار می‌گیرد و صنایع در هر زمینه‌ای سعی می‌کنند از آن بهره‌مند شوند. شما هم ممکن است همین حالا در حال استفاده از دستگاهی باشید که از یادگیری ماشین بهره‌ می‌برد. به عنوان مثال، یک ردیاب تناسب اندام پوشیدنی مانند Fitbit، یا یک دستیار هوشمند خانه مانند Google Home. اما نمونه‌های بسیار بیشتری از یادگیری ماشین در حال استفاده است.

 

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

 

مروری سریع بر تاریخچه‌ی یادگیری ماشین

 

تاریخچه‌ی یادگیری ماشین


در دهه 1940 بود که اولین سیستم رایانه‌ای دستی، ENIAC (محاسبه‌گر و یکپارچه‌ساز عددی الکترونیکی) اختراع شد. در آن زمان از کلمه "کامپیوتر" بعنوان نامی برای انسانی با قابلیت محاسبات عددی بالا استفاده می‌شد، بنابراین، ENIAC را یک ماشین محاسباتی عددی می نامیدند! خوب، ممکن است بگویید این چه ارتباطی به یادگیری ماشبن دارد؟ جالب است که بگوییم این ایده از ابتدا به دنبال ساخت دستگاهی بود که بتواند از تفکر و یادگیری انسان تقلید کند.

 

اولین سیستم رایانه‌ای دستی


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

 

به لطف علم آمار، یادگیری ماشین در دهه 1990 بسیار مشهور شد. تقاطع علوم کامپیوتر و آمار باعث بوجو آمدن رویکردهای احتمالاتی در هوش مصنوعی شد. با این اتفاق، این زمینه بیشتر به سمت رویکردهای داده‌محور سوق پیدا کرد. دانشمندان با در دسترس داشتن داده‌هایی با مقیاس بسیار بزرگ، شروع به ساخت سیستم‌های هوشمندی کردند که قادر به تجزیه و تحلیل و آموختن بودند. به عنوان یک نکته برجسته، سیستم IBM’s Deep Blue قهرمان شطرنج جهان، استادبزرگ گری کاسپاروف را شکست داد. البته که می‌دانیم کاسپاروف IBM را به تقلب متهم کرد، اما این اتفاق دیگر یک قسمت از تاریخ شده است.


یادگیری ماشین چیست؟


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


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

 

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

 

یادگیری ماشین را می‌توان در 3 نوع الگوریتم طبقه‌بندی کرد.

  1. یادگیری تحت نظارت
  2. یادگیری بدون نظارت
  3. یادگیری تقویتی

 

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

سه نوع یادگیری

 

بررسی اجمالی الگوریتم یادگیری تحت نظارت

 

در یادگیری تحت نظارت، یک سیستم هوش مصنوعی با داده هایی ارائه می‌شود که دارای برچسب هستند، به این معنی که هر داده با برچسب صحیح برچسب‌گذاری می‌شود.


هدف این است که عملکرد نگاشت را به خوبی برآورد کنیم به طورى که وقتی داده ورودی جدیدی مانند (x) دارید، می‌توانید متغیرهای خروجی (Y) را برای آن داده پیش‌بینی کنید.

 

مثالی از یادگیری تحت نظارت

مثالی از یادگیری تحت نظارت

 

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


پس از آموزش، ما می‌توانیم مدل خود را با چند ایمیل آزمایشى جدید تست کنیم و بررسی کنیم که آیا مدل قادر به پیش‌بینی خروجی مناسب است یا خیر؟

 

انواع یادگیری تحت نظارت

 

طبقه‌بندی: یک مسئله طبقه بندی است هرگاه متغیر خروجی یک دسته باشد، مانند "قرمز" یا "آبی" یا "بیماری" و "بدون بیماری".

رگرسیون: مسئله رگرسیون است هرگاه متغیر خروجی یک مقدار حقیقى مانند "دلار" یا "وزن" باشد.

 


بررسى اجمالى الگوریتم یادگیری بدون نظارت

 

در یادگیری بدون نظارت، یک سیستم هوش مصنوعی با داده‌های بدون برچسب و دسته‌بندی‌نشده ارائه می‌شود و الگوریتم‌های سیستم بدون آموزش قبلی بر روی داده‌ها عمل می‌کنند. خروجی به الگوریتم‌های کدنویسى شده بستگی دارد. قرار دادن سیستم در معرض یادگیری بدون نظارت یکی از روش‌های آزمایش هوش مصنوعی است.