زمان تخمینی مطالعه: 12 دقیقه
یادگیری ماشینی چیست؟
یادگیری ماشین شاخهای از هوش مصنوعی (AI) و علوم کامپیوتر است که بر استفاده از دادهها و الگوریتمها برای تقلید از روشی است که انسانها یاد میگیرند و به تدریج دقت یادگیری خود را بهبود میبخشد. شرکت آی بی ام(IBM) سابقهای غنی در زمینه یادگیری ماشین دارد. آرتور ساموئل، ابداع کننده عبارت “Machine Learning” است. طی پیشرفتهای رخ داده در چند دهه گذشته، پیشرفتهای تکنولوژیکی در زمینه ذخیرهسازی و قدرت پردازش، برخی از محصولات نوآورانه مبتنی بر یادگیری ماشین، مانند موتور توصیهای نتفلیکس و خودروهای خودران را ممکن ساخته است.
ماشین لرنینگ جزء مهمی از حوزه رو به رشد علم داده است. از طریق استفاده از روشهای آماری، الگوریتمها برای طبقهبندی یا پیشبینی و کشف بینشهای کلیدی در پروژههای داده کاوی آموزش داده میشوند. این بینشها متعاقباً تصمیمگیری را در برنامهها و کسبوکارها هدایت میکنند و به طور ایدهآل بر معیارهای رشد کلیدی تأثیر میگذارند. با ادامه گسترش و رشد دادههای بزرگ، تقاضای بازار برای دانشمندان داده جدید افزایش مییابد. امروزه از آنها خواسته میشود تا به شناسایی سؤالات و مرتبطترین پاسخهای تجاری و همچنین دادههای نشان دهنده پاسخها به آنها کمک کنند.
الگوریتمهای یادگیری ماشین معمولاً با استفاده از چارچوبهایی مانند پایتون ایجاد میشوند که توسعه راهحل را با استفاده از پلتفرمهایی مانند TensorFlow یا PyTorch تسریع میکنند.
یادگیری ماشینی، یادگیری عمیق، شبکههای عصبی
از آنجایی که مفاهیم یادگیری عمیق و یادگیری ماشین به جای یکدیگر مورد استفاده قرار میگیرند، ارزش توجه به تفاوتهای ظریف بین این دو مفهوم ضرورت دارد. یادگیری ماشین، یادگیری عمیق و شبکههای عصبی همگی زیر شاخههای هوش مصنوعی هستند. با این حال، شبکههای عصبی در واقع زیر شاخهای از یادگیری ماشین هستند و یادگیری عمیق زیر شاخهای از شبکههای عصبی است.
تفاوت یادگیری عمیق و یادگیری ماشین در نحوه یادگیری هر الگوریتم است. یادگیری ماشین «عمیق» میتواند از مجموعه دادههای برچسبگذاری شده، که به عنوان یادگیری با نظارت نیز شناخته میشود، برای اطلاعرسانی الگوریتم خود استفاده کند، اما لزوماً به یک مجموعه داده برچسبدار نیاز ندارد. فرآیند یادگیری عمیق میتواند دادههای بدون ساختار را به شکل خام (مثلاً متن یا تصاویر) دریافت کند و میتواند به طور خودکار مجموعهای از ویژگیهایی را تعیین کند که دستههای مختلف دادهها را از یکدیگر متمایز میکند. این امر برخی از مداخلات انسانی مورد نیاز را حذف می کند و امکان استفاده از مقادیر زیادی از دادهها را فراهم میکند. همانطور که لکس فریدمن(Lex Fridman) در سخنرانی خود در MIT اشاره میکند، میتوانید یادگیری عمیق را به عنوان “یادگیری ماشین مقیاس پذیر” در نظر بگیرید.
یادگیری ماشین کلاسیک یا “غیر عمیق” بیشتر به مداخله انسان برای یادگیری وابسته است. متخصصان انسانی مجموعهای از ویژگیها را برای درک تفاوت بین ورودیهای داده تعیین میکنند که معمولاً برای یادگیری به دادههای ساختاریافته بیشتری نیاز دارند.
شبکههای عصبی یا شبکههای عصبی مصنوعی (ANN) از لایههای متصل گرهی تشکیل شدهاند که شامل یک لایه ورودی، یک یا چند لایه پنهان و یک لایه خروجی است. هر گره یا نورون مصنوعی به دیگری متصل میشود و دارای وزن و آستانه مرتبط است. اگر خروجی هر گره فردی بالاتر از مقدار آستانه مشخص شده باشد، آن گره فعال میشود و دادهها را به لایه بعدی شبکه ارسال میکند. در غیر این صورت، هیچ دادهای توسط آن گره به لایه بعدی شبکه منتقل نمیشود. عبارت “عمیق” در یادگیری عمیق فقط به تعداد لایههای یک شبکه عصبی اشاره دارد. یک شبکه عصبی که از بیش از سه لایه تشکیل شده است(شامل ورودی و خروجی) میتواند یک الگوریتم یادگیری عمیق یا یک شبکه عصبی عمیق در نظر گرفته شود. یک شبکه عصبی که فقط سه لایه دارد، فقط یک شبکه عصبی اولیه است. در حالت کلی یادگیری عمیق و شبکههای عصبی باعث تسریع پیشرفت در زمینههایی مانند بینایی رایانه، پردازش زبان طبیعی و تشخیص گفتار میشوند.
یادگیری ماشین چگونه کار میکند؟
بر طبق تعریف UC Berkeley سیستم یادگیری یک الگوریتم یادگیری ماشین را به سه بخش اصلی تقسیم میکند.
- فرآیند تصمیم گیری: به طور کلی، الگوریتمهای یادگیری ماشین برای پیشبینی یا طبقهبندی استفاده میشود. بر اساس برخی از دادههای ورودی، که میتوانند دارای برچسب یا بدون برچسب باشند، الگوریتم شما تخمینی در مورد یک الگو در دادهها ایجاد میکند.
- تابع خطا: یک تابع خطا پیشبینی مدل را ارزیابی میکند. اگر نمونههای شناخته شده وجود داشته باشد، یک تابع خطا میتواند مقایسهای برای ارزیابی دقت مدل انجام دهد.
- فرآیند بهینه سازی مدل: اگر مدل بتواند بهتر با نقاط داده در مجموعه آموزشی تناسب داشته باشد، وزنها برای کاهش اختلاف بین مثال شناخته شده و برآورد مدل تنظیم میشوند. الگوریتم این فرآیند تکراری “ارزیابی و بهینهسازی” را تکرار میکند و وزنها را به طور مستقل تا رسیدن به آستانه دقت به روز میکند.
متدهای یادگیری ماشینی
متدهای یادگیری ماشینی به سه دسته اصلی تقسیم میشوند که در ادامه مورد بررسی قرار میگیرند:
– یادگیری ماشینی با ناظر(Supervised Machine Learning)
یادگیری با نظارت، که به عنوان یادگیری ماشین نظارت شده نیز شناخته میشود، با استفاده از مجموعه دادههای برچسبگذاری شده برای آموزش الگوریتمها برای طبقهبندی دادهها یا پیشبینی دقیق نتایج تعریف میشود. همانطور که دادههای ورودی به مدل وارد میشود، مدل وزن خود را تا زمانی که به طور مناسب برازش داده شود تنظیم میکند. این به عنوان بخشی از فرآیند اعتبار سنجی متقاطع برای اطمینان از اینکه مدل از برازش بیش از حد یا عدم تناسب اجتناب میکند، رخ میدهد. یادگیری با نظارت به سازمانها کمک میکند تا انواع مشکلات دنیای واقعی را حل کنند، مانند طبقهبندی هرزنامهها در یک پوشه جداگانه از صندوق پست الکترونیک. برخی از روشهای مورد استفاده در یادگیری نظارت شده عبارتند از: شبکههای عصبی، نیوی بیز(naïve bayes)، رگرسیون خطی، رگرسیون لجستیک، جنگل تصادفی(Random Forest) و ماشین بردار پشتیبان (SVM).
– یادگیری ماشینی بدون ناظر (Unsupervised machine learning)
یادگیری بدون نظارت، که به عنوان یادگیری ماشین بدون ناظر نیز شناخته میشود، از الگوریتمهای یادگیری ماشین برای تجزیه و تحلیل و خوشهبندی مجموعه دادههای بدون برچسب (زیر مجموعههایی به نام خوشهها) استفاده میکند. این الگوریتمها الگوهای پنهان یا گروهبندی دادهها را بدون نیاز به دخالت انسان کشف میکنند. توانایی این روش در کشف شباهتها و تفاوتها در اطلاعات، آن را برای تجزیه و تحلیل دادههای اکتشافی، استراتژیهای فروش متقابل، تقسیمبندی مشتری، و تشخیص تصویر و الگو ایدهآل میکند. همچنین برای کاهش تعداد ویژگیهای یک مدل از طریق فرآیند کاهش ابعاد استفاده میشود. تجزیه و تحلیل مؤلفه اصلی (PCA) و تجزیه ارزش منفرد (SVD) دو رویکرد رایج برای این کار هستند. سایر الگوریتمهای مورد استفاده در یادگیری بدون ناظر شامل شبکههای عصبی، خوشهبندی k-means و روشهای خوشهبندی احتمالی است.
– یادگیری نیمه نظارتی(Semi-supervised learning)
یادگیری نیمهنظارتی واسطهای بین یادگیری با ناظر و بدون ناظر است. در این نوع یادگیری در طول آموزش، از یک مجموعه داده برچسبدار کوچکتر برای هدایت طبقهبندی و در ادامه برای استخراج ویژگی از یک مجموعه داده بزرگتر و بدون برچسب استفاده میشود. یادگیری نیمه نظارتی میتواند مشکل نداشتن دادههای برچسبگذاری شده کافی برای الگوریتم یادگیری با ناظر را حل کند. همچنین اگر برچسبگذاری دادههای کافی بسیار پرهزینه باشد این تکنیک کمک بزرگی خواهد بود.
– یادگیری ماشین تقوتی(Reinforcement machine learning)
یادگیری ماشینی تقویتی یک مدل یادگیری ماشینی است که شبیه به یادگیری نظارت شده است، اما الگوریتم با استفاده از دادههای نمونه آموزش داده نمیشود. این مدل با استفاده از آزمون و خطا یاد میگیرد. دنبالهای از نتایج موفقیت آمیز برای ایجاد بهترین توصیه یا خط مشی برای یک مشکل خاص تقویت میشود.
الگوریتمهای رایج یادگیری ماشین
برخی از الگوریتمهای یادگیری ماشین معمولا بسیار پر استفاده هستند که شامل موارد زیر میباشند:
- شبکههای عصبی: شبکههای عصبی نحوه عملکرد مغز انسان را با تعداد زیادی گره پردازشی مرتبط شبیهسازی میکنند. شبکههای عصبی در تشخیص الگوها خوب هستند و نقش مهمی در کاربردهایی از جمله ترجمه زبان طبیعی، تشخیص تصویر، تشخیص گفتار و ایجاد تصویر دارند.
- رگرسیون خطی: این الگوریتم برای پیشبینی مقادیر عددی بر اساس رابطه خطی بین مقادیر مختلف استفاده میشود. به عنوان مثال، این تکنیک میتواند برای پیشبینی قیمت خانه بر اساس دادههای تاریخی برای هر منطقه مورد استفاده قرار گیرد.
- رگرسیون لجستیک: این الگوریتم یادگیری نظارت شده برای متغیرهای پاسخ طبقهای، مانند پاسخهای «بله/خیر»، پیشبینی ارائه میکند. میتوان از آن برای برنامههایی مانند طبقهبندی هرزنامه و کنترل کیفیت در خط تولید استفاده کرد.
- خوشهبندی: با استفاده از یادگیری بدون ناظر، الگوریتمهای خوشهبندی میتوانند الگوهای موجود در دادهها را شناسایی کنند تا بتوان آنها را گروهبندی کرد. همچنین رایانهها میتوانند با شناسایی تفاوتهای بین اقلام دادهای که انسانها نادیده گرفتهاند، به دانشمندان داده کمک کنند.
- درخت تصمیم: درخت تصمیم را میتوان هم برای پیشبینی مقادیر عددی (رگرسیون) و هم برای طبقهبندی دادهها به دستهها استفاده کرد. درختان تصمیم از یک دنباله انشعاب از تصمیمات مرتبط استفاده میکنند که میتواند با یک نمودار درختی نمایش داده شود. یکی از مزایای درخت تصمیم این است که بر خلاف ماهیت جعبه سیاه وار شبکه عصبی، اعتبارسنجی و ممیزی آن آسان است.
- جنگلهای تصادفی: در یک جنگل تصادفی، الگوریتم یادگیری ماشین با ترکیب نتایج تعدادی درخت تصمیم، یک مقدار یا دسته را پیشبینی میکند.
مزایا و معایب الگوریتمهای یادگیری ماشین
بسته به بودجه شما، نیاز به سرعت و دقت مورد نیاز، هر نوع الگوریتم شامل با ناظر، بدون ناظر، نیمه نظارتی یا تقویتی، مزایا و معایب خاص خود را دارد. به عنوان مثال، الگوریتمهای درخت تصمیم هم برای پیشبینی مقادیر عددی (مشکلات رگرسیون) و هم برای طبقهبندی دادهها به دستهها استفاده میشود. درختان تصمیم از یک دنباله انشعاب از تصمیمات مرتبط استفاده میکنند که ممکن است با یک نمودار درختی نشان داده شود. مزیت اصلی درختان تصمیم این است که اعتبارسنجی و ممیزی آنها آسانتر از شبکه عصبی است. خبر بد این است که آنها میتوانند ناپایدارتر از سایر پیشبینی کنندههای تصمیم باشند.
به طور کلی، یادگیری ماشینی مزایای زیادی دارد که کسب و کارها میتوانند برای بالا بردن بهرهوری از آنها استفاده کنند. اینها شامل یادگیری ماشینی است که الگوها و روندهایی را در حجم عظیمی از دادهها شناسایی میکند که ممکن است انسان اصلاً آنها را تشخیص ندهد. و این تجزیه و تحلیل به مداخله انسانی کمی نیاز دارد. از جنبه منفی، یادگیری ماشینی به مجموعه دادههای آموزشی بزرگی نیاز دارد که دقیق و بیطرفانه باشند. یادگیری ماشینی نیز بسته به ورودی ممکن است مستعد خطا باشد. با یک نمونه بسیار کوچک، سیستم میتواند یک الگوریتم کاملاً منطقی تولید کند که کاملاً اشتباه یا گمراه کننده است. برای جلوگیری از اتلاف بودجه یا نارضایتی مشتریان، سازمانها باید تنها زمانی به پاسخها عمل کنند که اعتماد بالایی به خروجی وجود داشته باشد.
موارد استفاده از یادگیری ماشین در دنیای واقعی
در اینجا فقط چند نمونه از کاربردهای یادگیری ماشینی وجود دارد که ممکن است هر روز با آنها روبرو شوید:
- تشخیص گفتار: این حوزه همچنین با نامهای تشخیص خودکار گفتار (ASR)، تشخیص گفتار رایانهای یا گفتار به متن نیز شناخته میشود و قابلیتی است که از پردازش زبان طبیعی (NLP) برای ترجمه گفتار انسان به قالب نوشتاری استفاده میکند. بسیاری از دستگاههای تلفن همراه برای انجام جستجوی صوتی از تشخیص گفتار در سیستمهای خود استفاده میکنند.
- خدمات مشتری: رباتهای چت آنلاین جایگزین عوامل انسانی برای مشتری میشوند و طرز فکر ما را در مورد تعامل با مشتری در وبسایتها و پلتفرمهای رسانههای اجتماعی تغییر میدهند. رباتهای گفتگو یا چت باتها به سؤالات متداول (پرسشهای متداول) در مورد موضوعاتی مانند حمل و نقل پاسخ میدهند، یا توصیههای شخصی، فروش متقابل محصولات یا اندازههای پیشنهادی را برای کاربران ارائه میدهند. به عنوان مثال میتوان به عوامل مجازی در سایتهای تجارت الکترونیک مانند Slack و Facebook و کارهایی که معمولاً توسط دستیارهای مجازی و دستیارهای صوتی انجام میشود اشاره کرد.
- بینایی رایانه: بینایی کامپیوتر فناوری هوش مصنوعی رایانهها را قادر میسازد تا اطلاعات معنیداری را از تصاویر دیجیتال، ویدیوها و سایر ورودیهای بصری به دست آورند و سپس اقدام مناسب را انجام دهند. بینایی ماشین(Machine Vision) با پشتیبانی از شبکههای عصبی کانولوشنال، کاربردهایی در برچسبگذاری عکس در رسانههای اجتماعی، تصویربرداری رادیولوژی در مراقبتهای بهداشتی و خودروهای خودران در صنعت خودرو دارد.
- موتورهای توصیه(Recommendation engines): با استفاده از دادههای رفتاری گذشته، الگوریتمهای هوش مصنوعی میتوانند به کشف روندهای دادهای که میتوانند برای توسعه استراتژیهای فروش متقابل مؤثرتر مورد استفاده قرار گیرند، کمک کنند. موتورهای توصیه توسط خرده فروشان آنلاین برای ارائه توصیههای مربوط به محصول به مشتریان در طول فرآیند پرداخت استفاده میشوند.
- اتوماسیون فرآیند رباتیک (RPA): RPA همچنین به عنوان رباتیک نرم افزاری نیز شناخته میشود. در این دسته از فناوریهای اتوماسیون هوشمند برای انجام کارهای دستی تکراری استفاده میشود.
- معاملات خودکار سهام: پلتفرمهای معاملاتی با فرکانس بالا مبتنی بر هوش مصنوعی که برای بهینهسازی سبد سهام طراحی شدهاند، هزاران یا حتی میلیونها معامله را در روز بدون دخالت انسان انجام میدهند.
- تشخیص تقلب: بانکها و سایر موسسات مالی میتوانند از یادگیری ماشینی برای شناسایی تراکنشهای مشکوک استفاده کنند. یادگیری تحت نظارت میتواند یک مدل را با استفاده از اطلاعات مربوط به تراکنشهای جعلی شناخته شده آموزش دهد. تشخیص ناهنجاری میتواند تراکنشهایی را شناسایی کند که غیر معمول به نظر میرسند و مستحق بررسی بیشتر هستند.