یادگیری ماشین شاخهای از هوش مصنوعی (AI) و علوم کامپیوتر است که بر روی استفاده از دادهها و الگوریتمها به منظور تقلید از روش یادگیری انسانها و بهبود تدریجی دقت و عملکرد آنها تمرکز دارد.
اولین بار آرتور ساموئل اصطلاح “یادگیری ماشین” را در زمان تحقیق در مورد بازی چکرز ابداع کرد. شخصی به نام رابرت نیلی که ادعا می کرد در چکرز استاد است، در سال ۱۹۶۲ مقابل کامپیوتر IBM 7094 بازی کرد و به کامپیوتر باخت. این موضوع ممکن است در مقایسه با دستاوردهای فناوری یادگیری ماشین که امروزه به کار میروند بی اهمیت به نظر برسد، اما نقطه عطف مهمی در زمینه هوش مصنوعی محسوب میشود. در طول چند دهه، فناوری یادگیری ماشین در زمینههای مختلف پیشرفتهای قابل توجهی کرده است، و مجموعهای از محصولات نوآورانه که امروزه میشناسیم، مانند خودروهای خودران، حاصل بکارگیری این فناوری هستند.
یادگیری ماشین بخش مهمی از زمینه رو به رشد “علم داده” است که با استفاده از روشهای آماری و الگوریتمها برای طبقهبندی یا پیشبینی، آموزش داده میشوند و بینشهای کلیدی در پروژههای داده کاوی را آشکار میکنند. این بینشها میتوانند تصمیمگیری در برنامهها و کسب و کارها را هدایت و رهبری کنند و به طور موثر بر شاخصهای رشد کلیدی تأثیر بگذارند. با گسترش و رشد مستمر کلان دادهها، تقاضای بازار برای متخصصان علم داده نیز افزایش یافته است و آنها را ملزم به کمک در شناسایی مرتبط ترین مسائل تجاری و سپس ارائه دادهها برای به دست آوردن پاسخ میکند.
یادگیری ماشین، یادگیری عمیق، شبکه عصبی
از آنجایی که اصطلاحات یادگیری عمیق و یادگیری ماشین اغلب به جای یکدیگر استفاده میشوند، تفاوتهای ظریف بین این دو باید مورد توجه قرار گیرد. یادگیری ماشینی، یادگیری عمیق و شبکههای عصبی همگی زیر شاخههای هوش مصنوعی هستند. با این حال، یادگیری عمیق در واقع زیر شاخهای از علم یادگیری ماشین بوده و شبکههای عصبی نیز زیر شاخهای از یادگیری عمیق است.
تفاوت بین یادگیری عمیق و یادگیری ماشین در نحوه یادگیری هر الگوریتم است. یادگیری عمیق می تواند به طور خودکار اکثر استخراج ویژگیها را در فرآیند انجام دهد، برخی از مداخلات دستی ضروری را حذف کند و استفاده از مجموعه دادههای بزرگتر را امکانپذیر کند. لکس فریدمن (محقق در زمینه هوش مصنوعی در MIT) یادگیری عمیق را بصورت “یادگیری ماشینی مقیاسپذیر” تعریف میکند. یادگیری ماشین مرسوم یا یادگیری ماشینی “غیر عمیق” برای یادگیری بیشتر به مداخله دستی نیاز دارد و متخصصان انسانی مجموعهای از ویژگیها را برای درک تفاوتهای بین ورودیهای داده تعیین میکنند و معمولاً به دادههای ساختارمندتری برای یادگیری نیاز دارند.
یادگیری عمیق میتواند از مجموعه دادههای برچسبگذاری شده، که به عنوان یادگیری نظارتشده نیز شناخته میشود، برای تعیین الگوریتمها استفاده کند، اما استفاده از مجموعه دادههای برچسبگذاری شده ضروری نیست، چراکه می تواند دادههای بدون ساختار را در قالب اصلی (مانند متن، تصویر) جمع آوری کند و میتواند به طور خودکار مجموعه ویژگیهایی را که انواع مختلف دادهها را متمایز میکند، تعیین کند. یادگیری عمیق نیازی به مداخله انسان در پردازش دادهها ندارد و به ما امکان میدهد یادگیری ماشین را با روشهای جالبتری گسترش دهیم. دستاوردهای فعلی یادگیری عمیق و شبکههای عصبی عمدتاً شامل پیشرفتهای سریع در بینایی رایانهای، پردازش زبان طبیعی و تشخیص گفتار است.
شبکه عصبی که شبکه عصبی مصنوعی (ANN) نیز نامیده میشود، از لایهای از گرهها شامل یک لایه ورودی، یک یا چند لایه پنهان و یک لایه خروجی تشکیل شده است. به هر گره یک نورون مصنوعی نیز گفته میشود. آنها به گره دیگری متصل هستند. اگر خروجی هر گره منفرد بالاتر از آستانه تعیین شده باشد، آن گره فعال میشود و دادهها را به لایه بعدی شبکه ارسال میکند. در غیر این صورت دادهها به لایه بعدی شبکه منتقل نمیشوند. “عمق” در یادگیری عمیق به عمق لایهها در شبکه عصبی اشاره دارد. یک شبکه عصبی متشکل از بیش از سه لایه (شامل ورودی و خروجی) را می توان به عنوان یک الگوریتم یادگیری عمیق یا شبکه عصبی عمیق در نظر گرفت. یک شبکه عصبی با تنها دو یا سه لایه فقط یک شبکه عصبی اولیه است.
یادگیری ماشین چگونه کار می کند؟
دانشگاه برکلی سیستم یادگیری الگوریتمهای یادگیری ماشین را به سه بخش اصلی تقسیم میکند.
فرآیند تصمیم گیری: به طور کلی، الگوریتمهای یادگیری ماشین برای پیشبینی یا طبقهبندی استفاده میشوند. الگوریتمها میتوانند تخمینهایی از الگوهای موجود در دادهها را براساس برخی دادههای ورودی برچسبدار یا بدون برچسب ایجاد کنند.
تابع خطا: از تابع خطا برای ارزیابی پیشبینی مدل استفاده میشود. اگر نمونههای شناخته شده وجود داشته باشد، میتوان توابع خطا را برای ارزیابی دقت مدل مقایسه کرد.
فرآیند بهینهسازی مدل: اگر مدل بتواند نقاط داده را در مجموعه آموزشی بهتر تطبیق دهد، وزنها برای کاهش تفاوت بین مثالهای شناخته شده و تخمینهای مدل تنظیم میشوند. الگوریتم این فرآیند ارزیابی و بهینهسازی را تکرار میکند و به طور خودکار وزنها را تا رسیدن به آستانه دقت به روز میکند.
روشهای یادگیری ماشینی
متخصصان یادگیری ماشینی به سه دسته اصلی تقسیم میشوند.
یادگیری ماشینی نظارت شده
یادگیری نظارت شده از مجموعه دادههای برچسبگذاری شده برای آموزش الگوریتمها به منظور طبقهبندی دقیق دادهها یا پیشبینی نتایج استفاده میکند. پس از ورود دادههای ورودی به مدل، روش وزنها را تا زمانی که مدل متناسب شود تنظیم میکند. این بخشی از فرآیند اعتبارسنجی متقابل است تا اطمینان حاصل شود که مدل از برازش بیش از حد یا عدم تناسب اجتناب میکند. یادگیری تحت نظارت به سازمانها کمک میکند تا مشکلات مختلف دنیای واقعی را در مقیاس بزرگ حل کنند، مانند طبقهبندی هرزنامهها در پوشههای جداگانه در صندوق ورودی! روشهای مورد استفاده در یادگیری نظارت شده شامل شبکههای عصبی، بیز ساده، رگرسیون خطی، رگرسیون لجستیک، جنگلهای تصادفی، ماشینهای بردار پشتیبان (SVM) است.
یادگیری ماشینی بدون نظارت
یادگیری بدون نظارت از الگوریتمهای یادگیری ماشین برای تجزیه و تحلیل مجموعه دادههای بدون برچسب و تشکیل خوشهها استفاده میکند. این الگوریتمها الگوهای پنهان یا بستههای داده را بدون دخالت دستی کشف میکنند. این روش میتواند شباهتها و تفاوتهایی را در اطلاعات پیدا کند، بنابراین راهحلی ایدهآل برای تحلیل دادههای اکتشافی، استراتژیهای فروش متقابل، تقسیمبندی مشتری، تشخیص تصویر و الگو است. همچنین این روش تعداد ویژگیهای مدل را از طریق فرآیند کاهش ابعاد تقلیل میدهد که تحلیل مولفه اصلی (PCA) و تجزیه مقادیر منفرد (SVD) دو روش رایج هستند. سایر الگوریتمهای مورد استفاده در یادگیری بدون نظارت شامل شبکههای عصبی، خوشهبندی k-means و روشهای خوشهبندی احتمالی است.
یادگیری نیمه نظارتی
یادگیری نیمه نظارتی ترکیبی هوشمندانه بین یادگیری تحت نظارت و یادگیری بدون نظارت است. در طول آموزش، از یک مجموعه داده برچسبدار کوچکتر برای هدایت طبقهبندی و استخراج ویژگی از یک مجموعه داده بدون برچسب بزرگتر استفاده میکند. یادگیری نیمه نظارتی میتواند مشکل ناکافی بودن دادههای برچسبدار و ناتوانی در آموزش الگوریتم یادگیری نظارت شده را حل کند.
یادگیری تقویتی
یادگیری تقویتی یک مدل یادگیری ماشین رفتاری است، شبیه به یادگیری نظارت شده، اما الگوریتم از دادههای نمونه برای آموزش استفاده نمیکند. این مدل از طریق آزمون و خطا یاد میگیرد. یک سری از نتایج موفقیتآمیز تقویت میشود و بهترین پیشنهادها یا استراتژیها برای یک مشکل خاص ایجاد میشود.
موارد استفاده از یادگیری ماشین در دنیای واقعی
در اینجا فقط چند نمونه از یادگیری ماشینی وجود دارد که ممکن است به صورت روزانه با آنها روبرو شوید:
تشخیص گفتار: میتواند از پردازش زبان طبیعی (NLP) برای پردازش گفتار انسان در قالب نوشتاری استفاده کند. بسیاری از دستگاههای تلفن همراه برای جستجوی صوتی، تشخیص صدا را در سیستم گنجانده اند یا عملکردهای کمکی بیشتری را در ارتباط با متن ارائه میدهند.
خدمات مشتری: چت رباتهای آنلاین به تدریج جایگزین خدمات مشتری انسانی در تعامل با مشتری میشوند. آنها به سؤالات متداول (FAQ) در مورد موضوعات مختلف، مانند حمل و نقل، یا ارائه توصیههای شخصی به کاربران، فروش متقابل محصولات، پاسخ میدهند. به عنوان مثال می توان به رباتهای چت در سایتهای تجارت الکترونیک با خدمات آنلاین مشتری، برنامههای پیامرسانی و کارهایی که معمولاً توسط دستیاران مجازی و دستیاران صوتی انجام می شود، اشاره کرد.
بینایی رایانهای: این فناوری هوش مصنوعی رایانهها و سیستمها را قادر میسازد تا اطلاعات معنیداری را از تصاویر دیجیتال، ویدیوها و سایر ورودیهای بصری به دست آورند و براساس این ورودیها اقداماتی را انجام دهند. بینایی کامپیوتری توسط شبکههای عصبی کانولوشن پشتیبانی میشود و در برچسبگذاری عکس رسانههای اجتماعی، رادیوگرافی در مراقبتهای بهداشتی و وسایل نقلیه خودران در صنعت خودرو استفاده میشود.
معاملات خودکار سهام: با هدف بهینهسازی پرتفوی سرمایهگذاری سهام، پلتفرم معاملاتی با فرکانس بالا مبتنی بر هوش مصنوعی میتواند روزانه هزاران یا حتی میلیونها تراکنش را بدون دخالت انسان ایجاد کند.