machine learning (ML) نوعی هوش مصنوعی (AI) است که به برنامه های نرم افزاری اجازه می دهد بدون پیش بینی صریح برای انجام هر کاری، در پیش بینی نتایج دقیق تر شوند. الگوریتم های machine learning از داده های قدیمی به عنوان ورودی برای پیش بینی مقادیر جدیدِ خروجی استفاده می کنند.
موتورهای پیشنهادی مورد معمولی برای machine learning می باشند. از دیگر موارد معروف می توان به کشف تقلب، فیلتر کردن هرزنامه، شناسایی تهدیدات بد افزار، اتوماسیون فرآیند تجارت (BPA) و نگه داری پیش بینی کننده اشاره کرد.
انواع Machine Learning
machine learning کلاسیک غالباً بر اساس نحوه یادگیری دقیق تر الگوریتم در پیش بینی ها طبقه بندی می شود. چهار رویکرد اساسی وجود دارد: یادگیری تحت نظارت، یادگیری بدون نظارت، یادگیری نیمه نظارت شده و یادگیری تقویتی کننده. نوع الگوریتمی که دانشمند داده (Data Scientist) برای استفاده انتخاب می کند به نوع داده ای که می خواهند پیش بینی کنند، بستگی دارد.
- یادگیری تحت نظارت(Supervised learning): در این نوع یادگیری ماشین، دانشمندان داده، الگوریتم هایی را با داده های آموزشی دارای برچسب تهیه می کنند و متغیر هایی را که با استفاده از آن ها الگوریتم های مرتبط را ارزیابی می کنند، تعریف می کنند. هر دو ورودی و خروجی الگوریتم مشخص شده است.
- یادگیری بدون نظارت(Unsupervised learning): این نوع یادگیری ماشین شامل الگوریتم هایی است که روی داده های بدون برچسب آموزش می بینند. الگوریتم مجموعه داده ها یا همان data sets را برای یافتن هرگونه ارتباط معنا دار اسکن می کند. هم الگوریتم های داده آموزش می بینند و هم پیش بینی ها یا توصیه هایی که آن ها ارائه می دهند، از پیش تعیین شده هستند.
- یادگیری نیمه نظارت شده(Semi-supervised learning): این رویکرد برای machine learning شامل ترکیبی از دو نوع قبلی است. دانشمندان داده ممکن است الگوریتمی را که غالباً دارای برچسب داده های آموزشی است تغذیه کنند، اما این مدل آزاد است که داده ها را به تنهایی کشف کند و درک خود را از مجموعه داده ها توسعه دهد.
- یادگیری تقویتی(Reinforcement learning): یادگیری تقویتی به طور معمول برای آموزش یک ماشین برای تکمیل یک فرآیند چند مرحله ای استفاده می شود که قوانین مشخصی برای آن وجود دارد. دانشمندان داده، الگوریتمی را برای تکمیل یک فرآیند برنامه ریزی می کنند و هنگام اجرای این فرآیند، به آن نشانه های مثبت یا منفی می دهند. اما در بیشتر موارد، الگوریتم به تنهایی تصمیم می گیرد که چه مراحلی را در این راه بردارد.
Machine Learning تحت نظارت چگونه کار می کند؟
machine learning تحت نظارت، دانشمند داده را ملزم می کند که الگوریتم ها را هم با ورودی های برچسب زده شده و هم با خروجی های دلخواه آموزش دهد. الگوریتم های یادگیری تحت نظارت برای کارهای زیر مناسب هستند:
- طبقه بندی به صورت باینری(Binary classification). تقسیم داده ها به دو دسته.
- طبقه بندی چند کلاسی(Multi-class classification). انتخاب بین بیش از دو نوع پاسخ.
- مدل سازی رگرسیون(Regression modeling). پیش بینی مقادیر مداوم.
- جمع کردن(Ensembling). ترکیب پیش بینی مدل های machine learning چندگانه برای تولید یک پیش بینی دقیق.
machine learning بدون نظارت چگونه کار می کند؟
الگوریتم های machine learning بدون نظارت نیازی به برچسب گذاری داده ها ندارند. آن ها داده های بدون برچسب را جدا می کنند تا به دنبال الگو هایی باشند که می تواند برای گروه بندی نقاط داده (data-point) در زیر مجموعه ها (subsets) استفاده شود. اکثر انواع یادگیری عمیق، از جمله شبکه های عصبی، الگوریتم های بدون نظارت هستند. الگوریتم های یادگیری بدون نظارت برای کار های زیر مناسب هستند:
- خوشه بندی(Clustering). تقسیم مجموعه داده ها بر اساس شباهت به گروه ها.
- تشخیص ناهنجاری(Anomaly detection). شناسایی نقاط داده غیر معمول در یک مجموعه داده.
- استخراج انجمن(Association mining). شناسایی مجموعه ای از موارد در یک مجموعه داده که غالباً با هم اتفاق می افتند.
- کاهش ابعاد(Dimensionality Reduction). کاهش تعداد متغیرها در یک مجموعه داده.
یادگیری نیمه نظارت شده چگونه کار می کند؟
یادگیری نیمه نظارت شده توسط دانشمندان داده، مقدار کمی از داده های آموزشی دارای برچسب را به یک الگوریتم تغذیه می کند. از این رو، الگوریتم، ابعاد مجموعه داده را می آموزد، سپس می تواند آن را برای داده های جدید و بدون برچسب اعمال کند. عملکرد الگوریتم ها به طور معمول وقتی در مجموعه داده های دارای برچسب آموزش می بینند، بهبود می یابد. اما داده های برچسب گذاری شده می توانند وقت گیر و گران باشند. یادگیری نیمه نظارت شده بین عملکرد یادگیری تحت نظارت و کارایی یادگیری بدون نظارت، حد وسطی را ایجاد می کند. برخی از مباحثی که از یادگیری نیمه نظارت استفاده می شود عبارتند از:
- ترجمه ماشینی(Machine translation). آموزش ترجمه زبان به الگوریتم ها تا حدودی از فرهنگ لغت کامل کلمات.
- تشخیص تقلب(Fraud detection). شناسایی موارد کلاه برداری هنگامی که فقط چند مثال مثبت دارید.
- داده های برچسب گذاری شده(Labeling data). الگوریتم های آموزش داده شده روی مجموعه داده های کوچک می توانند یاد بگیرند که به طور خودکار برچسب های داده را روی مجموعه های بزرگ تر بکار ببرند.
یادگیری تقویتی چگونه کار می کند؟
یادگیری تقویتی با برنامه نویسی یک الگوریتم با یک هدف مشخص و مجموعه ای از قوانین و مقررات برای تحقق این هدف کار می کند. دانشمندان داده همچنین، الگوریتمی را برای جستجوی پاداش های مثبت برنامه ریزی می کنند (پاداش های مثبت زمانی تعریف می شوند که فرآیندها در جهت هدف باشد) و از مجازات ها اجتناب می کنند (مجازات ها فرآیندهایی هستند که از هدف ما به دور باشند). از یادگیری تقویتی اغلب در مباحث زیر استفاده می شود:
- رباتیک(Robotics). ربات ها می توانند با استفاده از این روش انجام وظایف را در دنیای فیزیکی یاد بگیرند.
- گیم پلی ویدیویی(Video gameplay). برای آموزش ربات ها برای اجرای بازی های ویدیویی، از یادگیری تقویتی استفاده شده است.
- مدیریت منابع(Resource management). با توجه به منابع محدود و یک هدف مشخص، یادگیری تقویتی می تواند به شرکت ها کمک کند تا بتوانند نحوه تخصیص منابع را برنامه ریزی کنند.
موارد استفاده از Machine Learning
در پشت صحنه، موتور در تلاش است تا الگو های شناخته شده در رفتار آنلاین کاربران خود را تقویت کند. اگر کاربر خاصی در هفته های آینده الگو های خود را تغییر دهد و نتواند پست های مورد علاقه ی خود را بخواند، News Feed مطابق با آن دوباره تنظیم می شود.
علاوه بر موتورهای پیشنهادی، سایر موارد استفاده برای Machine Learning شامل موارد زیر می شود:
مدیریت ارتباط با مشتری: نرم افزار CRM می تواند از مدل های Machine Learning استفاده کند تا ایمیل ها را تجزیه و تحلیل کند و اعضای تیم فروش را وادار کند تا از همان ابتدا به مهم ترین پیام ها پاسخ دهند. سیستم های پیشرفته تری نیز وجود دارند که حتی می توانند پاسخ های موثر تری را نیز توصیه کنند.
هوش تجاری: فروشندگان و تحلیل گران هوش تجاری از Machine Learning در نرم افزار های خود برای شناسایی نقاط داده (data point) بالقوه و حائز اهمیت، الگو های مختلف نقاط داده و ناهنجاری ها استفاده می کنند.
سیستم های اطلاعاتی منابع انسانی: سیستم های HRIS می توانند از مدل های Machine Learning برای فیلتر کردن برنامه ها و شناسایی بهترین کاندید برای موقعیت خالی شغلی استفاده کنند.
اتومبیل های خودران: الگوریتم های Machine Learning حتی می توانند یک ماشین نیمه خودران را تا حدی پیشرفته کنند که اتومبیل می تواند اجسامی که به سختی قابل مشاهده هستند را نیز پیدا کند و به راننده هشدار دهد.
دستیاران مجازی: دستیاران هوشمند معمولاً برای مدل های Machine Learning های نظارت شده و بدون نظارت تعبیه شده اند که می توانند به شکل طبیعی حرف بزنند و محتوای مختلفی ارائه دهند.
نقاط قوت و ضعف
استفاده از Machine Learning در موارد مختلفی مشاهده شده است، از پیش بینی رفتار مشتری بگیرید تا به عنوان سیستم عامل برای اتومبیل های خودران. اما این که بگوییم Machine Learning بدون هیچ ایراد یا نقطه ضعفی است نیز حقیقت ندارد.
اول با نقاط قوت شروع کنیم؛ Machine Learning می تواند به شرکت ها کمک کند تا مشتریان خود را در سطح عمیق تری بشناسید. با جمع آوری داده های مشتری و یافتن هر گونه ارتباطات آن ها و رفتارهایشان در طول زمان، الگوریتم های Machine Learning می توانند ارتباط ها را بیاموزند و به تیم ها کمک کنند تا ابتکارات توسعه محصول و بازاریابی را متناسب با تقاضای مشتری تنظیم کنند.
برخی از شرکت های اینترنتی از Machine Learning به عنوان یک عامل اصلی برای مدل های تجاری خود استفاده می کنند. به عنوان مثال اسنپ از الگوریتم هایی برای تطبیق رانندگان با مشتریان استفاده می کند. Google نیز برای نمایش تبلیغات مناسب در جستجو ها از Machine Learning استفاده می کند.
اما Machine Learning نقاط ضعف نیز دارد. اولین و مهم ترین آن گران بودنش است. پروژه های Machine Learning به طور معمول توسط دانشمندان داده انجام می شود، که دستمزد های بالایی را خواهان می باشند. این پروژه ها همچنین نیاز به زیر ساخت های نرم افزاری دارند که می تواند هزینه های زیادی را در بر بگیرند.
مشکل تعصب Machine Learning نیز وجود دارد. الگوریتم هایی که روی مجموعه داده هایی آموزش دیده اند، که جمعیت های خاصی را حذف کنند یا حاوی خطا هستند، می توانند منجر به ساخت مدل هایی نادرست از جهان شوند که در بهترین حالت یا شکست می خورند و یا حتی در بدترین حالت، باعث ایجاد حس تبعیض می شوند. هنگامی که یک شرکت فرایند های اصلی کسب و کار را بر اساس مدل هایی که در آن ها تبعیضی – از هر نوع – وجود دارد، قرار می دهد، می تواند آسیب های جدی به شیوه نظارت و شهرت همان شرکت ها برساند.
انتخاب مدل های مناسب Machine Learning
اگر روند استراتژیکی را برای یک مدل Machine Learning مناسب برای حل یک مشکل را انتخاب نکنید، می تواند خیلی وقت گیر شود.
- مشکل را با ورودی های داده ای که باید برای راه حل در نظر گرفته شوند تراز کنید. این مرحله نیاز به کمک دانشمندان و کارشناسان داده دارد که درک عمیقی از این مسئله دارند.
- داده ها را جمع آوری کنید، آن ها را قالب بندی کنید و در صورت لزوم آن ها را برچسب گذاری کنید. این مرحله به طور کلی توسط دانشمندان داده انجام می شود.
- انتخاب کنید که کدام الگوریتم ها را استفاده کنید و تست کنید تا ببینید عملکرد آن ها به قدری خوب است که نیاز شما را بر طرف کند یا خیر. این مرحله نیز معمولاً توسط دانشمندان داده انجام می شود.
- نظارت خود به خروجی ها را با دقت ادامه دهید تا زمانی که به سطح قابل قبولی برسند. این مرحله نیز معمولاً توسط دانشمندان داده با بازخورد کارشناسانی که درک عمیقی از این مسئله دارند انجام می شود.
اهمیت Machine Learning قابل تفسیر توسط انسان
توضیح دادن این که یک مدل خاص Machine Learning چگونه کار کند، وقتی مدل پیچیده باشد، می تواند چالش برانگیز باشد. بعضی از صنعت ها وجود دارند که دانشمندان داده مجبورند از مدل های ساده Machine Learning استفاده کنند، چرا که تصمیم گیری چگونگی انتخاب برای هر کس مهم است. این امر به ویژه در صنایعی که تراکنش های سنگین مالی از قبیل بانک داری و بیمه را در بر دارند، صدق می کند.
مدل های پیچیده می توانند پیش بینی های دقیقی داشته باشند، اما توضیح چگونگی تعیین یک خروجی برای یک مدیر مسئول می تواند دشوار باشد.
آینده Machine Learning
در حالی که الگوریتم های Machine Learning برای چندین دهه است که وجود دارند، اما با رشد چشمگیر هوش مصنوعی (AI) به محبوبیت جدیدی دست پیدا کرده اند. به ویژه مدل های یادگیری عمیق که پیشرفته ترین کاربرد های هوش مصنوعی امروزی را نیز تأمین می کنند.
امروزه سیستم عامل های Machine Learning از جمله رقابتی ترین حوزه های فناوری و سازمانی به حساب می آیند که اکثر برند های مطرح از جمله آمازون، گوگل، مایکروسافت، IBM و سایر شرکت ها برای ثبت نام مشتریان برای خدمات پلتفرمی که در طیف فعالیت های Machine Learning حساب می شود، از جمله جمع آوری داده ها، آماده سازی داده ها، طبقه بندی داده ها، ساخت مدل، آموزش و استقرار برنامه ها در رقابت هستند.
تحقیقات مداوم در مورد یادگیری عمیق (Deep learning) و هوش مصنوعی (AI) به طور فزاینده ای در ایجاد برنامه های کاربردی و عمومی تر، متمرکز است. مدل های هوش مصنوعی امروزی، برای تولید الگوریتمی بسیار بهینه شده برای انجام یک کار، نیاز به آموزش گسترده ای دارد. اما برخی از محققان در حال کشف روش هایی برای انعطاف پذیری بیشتر مدل ها هستند و به دنبال تکنیک هایی می باشند که به این ماشین ها اجازه دهد تا مفاهیم یاد گرفته شده از یک کار را برای کار های مختلف دیگری و در آینده بتوانند به کار بگیرند.
2 پاسخ
سلام منبع برای ماشین لرنینگ رو هم اگر معرفی کنید عالی میشه
با سلام
یکی از منابع و کتاب مرجع مبحث ML، کتاب Pattern Recognition and Machine Learning می باشد.