کنج صمیمی کامپیوتریا | Debug Valley
کنج صمیمی کامپیوتریا | Debug Valley
خواندن ۶ دقیقه·۳ سال پیش

راهنمای مبتدی برای یادگیری ماشین

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

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

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

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

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

اگر تنها یک چیز وجود داشته باشد که باید از این مقاله بیاموزید، آن این است که:

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

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

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

«یادگیری = یافتن الگوهای داده» «ماشین = کامپیوتر یا ماشین شما»

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

ایجاد الگوریتم‌هایی که از توابع پیچیده‌ی (الگوها) داده‌ها یاد می‌گیرند چگونه آن داده را پیش‌بینی کنند.

اساسا می‌توان آن را در سه مرحله خلاصه کرد:

1. گرفتن داده به عنوان ورودی

2. پیدا کردن الگو از روی داده ورودی

3. پیش‌بینی الگوهای جدید

کاربردهای یادگیری ماشین:

پیش از آن که شروع کنیم؛ مروری کلی بر روی برخی توانایی‌هایی که یادگیری ماشین امکان آن‌ها را به ما می‌دهد داشته باشیم:

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


ماشین‌ها چگونه یاد می‌‎گیرند؟

برای سادگی فقط بدانید که ماشین‎‌ها با پیدا کردن الگو‎ها در داده‌های مشابه «یاد می‌گیرند». داده‌ها را به عنوان اطلاعاتی که از دنیا بدست می‌آورید، در نظر بگیرید. هرچه داده‌های بیشتری به ماشین داده شود، ماشین هوشمندتر می‌شود.

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

هرچه اطلاعات/داده‌های بهتری به دست آید، عدم اطمینان کمتر می‌شود و بالعکس. بنابراین در نظر داشتن نوع داده‌ای که برای یادگیری به ماشین خود می‌دهید، امری مهم است.

«داده‌های بیشتر مدل‌های بهتر را شکست می‎‌دهند. داده‌های بهتر، داده‌های بیشتر را شکست می‎‌دهند.»
Riley Newman


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

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

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

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

سه دسته اصلی برای یادگیری ماشین وجود دارد:

یادگیری نظارت‌شده (Supervised learning): ماشین از داده‏‌های برچسب‌گذاری شده یاد می‌گیرد. به طور معمول، داده‌ها توسط انسان برچسب‌گذاری می‌شوند.

یادگیری بدون نظارت (Unsupervised learning): ماشین از داده‌های بدون برچسب یاد می‌گیرد. به این معنی که هیچ پاسخ درستی برای یادگیری به ماشین داده نشده است، اما ماشین الگو‎هایی را از داده‌ها پیدا می‌کند تا بتواند به یک جواب برسد.

یادگیری تقویتی یا کمکی (Reinforcement learning): ماشین از طریق یک سیستم مبتنی بر پاداش یاد می‌گیرد.


1. Supervised Machine Learning

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

Regression:

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

Classification:

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

برای مثال مشکلی مانند: «آیا اون این خرید را انجام خواهد داد؟» پاسخی خواهد داشت که به دو دسته تقسیم می‌شود: بله یا خیر که گسسته هستند، به این مشکل binary classification نیز می‌گویند.


2. Unsupervised Machine Learning

از آنجایی که هیچ داده‌ی برچسب‌‎گذاری شده‌ای برای یادگیری ماشین‌ها وجود ندارد، هدف یادگیری ماشینی بدون نظارت، شناسایی الگو‎ها در داده‌ها و گروه‌بندی آن‌ها است. یادگیری بدون نظارت مختص ماشین‌هایی است که سعی می‌کنند به تنهایی و بدون کمک یاد بگیرند. تصور کنید کسی انبوهی از داده‌ها را به شما می‌دهد و می‌گوید: «برو پسر، چند الگو پیدا کن و آن‌ها را برای من گروه‌بندی کن. با تشکر.» بسته به آنچه می‌خواهید با هم گروه‌بندی کنید، یادگیری بدون نظارت می‌تواند توسط دو روش داده‌ها را گروه‌بندی کند: خوشه بندی (clustering) و association.

Clustering:

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


Association:

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


3. Reinforcement Machine Learning

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

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

مثال‌هایی از Reinforcement Learning:

  • آموزش ماشین برای یادگیری نحوه بازی (برای مثال آموزش شطرنج)
  • آموزش ماشین برای یادگیری و بازی سوپرماریو به تنهایی
  • خودرو‎های خودران (Self-driving cars)


یادداشت‌های پایانی:

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


متنی که خواندید ترجمه این مقاله است.

ما را در تلگرام دنبال کنید.

یادگیری ماشینماشین لرنینگهوش مصنوعیبرنامه نویسی
در دیباگ‌ولی ما سعی می‌کنیم از دغدغه‌ها حرف بزنیم و برای ادامه مسیر بینش کسب کنیم | لینک کانال تلگرامی ما: https://t.me/debugvalley
شاید از این پست‌ها خوشتان بیاید