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

در دنیایی زندگی می‌کنیم که رشد تکنولوژی به حدی زیاد شده که بسیاری از افراد نمی‌توانند خود را با آن همراه کنند و از قافله جا می‌مانند. هوش مصنوعی یا Artificial Intelligent گرایش نسبتا جدیدی در علوم است که می‌خواهد تحولات اساسی در زندگی مردم ایجاد کند. تعریف هوش مصنوعی کمی دشوار است، اما می‌توانیم بگوییم هوش مصنوعی ترکیبی از علوم مختلف برای هوشمند کردن ماشین‌ها است. یکی از زیرشاخه‌های معروف هوش مصنوعی یادگیری ماشین یا Machine Learning می‌باشد که این روزها به شدت مورد بحث قرار می‌گیرد. تاثیر ماشین لرنینگ را هر روز در زندگی روزمره خود احساس می‌کنید و این علم تا حدودی در زندگی روزمره ما حضور دارد.

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

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

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

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

  • چه زمانی زمین نیاز به تمیز کردن دارد؟
  • تا چه زمانی باید تمیز کردن زمین ادامه داشته باشد؟
  • و غیره

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

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

  • چه زمانی زمین نیاز به تمیز کردن دارد یا چه زمانی تمیز است
  • این تمیز کردن تا چه زمانی باید ادامه داشته باشد
  • و غیره

یادگیری ماشین یک زیرشاخه معروف در هوش مصنوعی است که کمک می‌کند ماشین‌ها یا کامپیوترها بتوانند چیزهای جدید یاد بگیرند

یادگیری ماشین در کدام بخش‌های زندگی ما دیده می‌شود؟

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

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

مثال‌های بالا تنها اشاره کوتاهی به کاربردهای یادگیری ماشین داشتند و این حوزه بسیار گسترده‌تر است.

یادگیری ماشین به چند دسته تقسیم می‌شود؟

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

  • یادگیری با نظارت (Supervised Learning)
  • یادگیری بدون نظارت (Unsupervised Learning)
  • یادگیری تقویتی (Reinforcement Learning)
  • یادگیری با نظارت چیست؟

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

    یادگیری بدون نظارت چیست؟

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

    یادگیری تقویتی چیست؟

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