یادگیری ماشین (ML) و انواع تکنیک ها و کاربردهای آن

یادگیری ماشین (ML)، مطالعه الگوریتم‌های رایانه است که به صورت خودکار با کسب تجربه، بهبود پیدا می‌کند. این فرایند به عنوان زیر مجموعه‌ای از هوش مصنوعی در نظر گرفته می‌شود.یادگیری ماشین یا Machine Learning، از زیرمجموعه‌های هوش مصنوعی است که این امکان را برای سیستم‌ها فراهم می‌کند تا به صورت خودکار یادگیری و پیشرفت داشته باشند. تمرکز اصلی یادگیری ماشین بر توسعه برنامه‌های رایانه‌ای است تا بتوانند به داده‌ها دسترسی پیدا کرده و از آن‌ها برای یادگیری خود استفاده کنند.فرایند یادگیری ماشین با مشاهدات یا داده‌ها مانند انواع مثال‌، تجارب مستقیم، دستورالعمل و… آغاز می‌شود تا به الگوی مورد نظر برسد و بر اساس مثال‌های ارائه شده، تصمیمات بهتری گرفته شود.اما هدف اصلی در یادگیری ماشین چیست؟ هدف این است که به کامپیوتر اجازه دهیم بدون کمک و دخالت انسان به شکل اتوماتیک، یادگیری داشته و همچنین قادر باشد اقدامات خود را مطابق با آن تنظیم کند. هدف اصلی الگوریتم های یادگیری ماشین، تعمیم یادگیری به فراتر از نمونه‌های آموزش داده شده است. به عبارتی یعنی تفسیر موفقیت آمیز داده‌ها.تمامی الگوریتم‌های یادگیری ماشینی مطابق الگوی زیر عمل می‌کنند:نمایش: مجموعه‌ای از اجزای طبقه بندی کننده یا زبانی که کامپیوتر آن را می‌فهمدارزشیابی: عملکرد هدف، سیستم نمره دهیبهینه سازی: سیستم طبقه بندی کننده‌ با بالاترین امتیازعلت اهمیت یادگیری ماشینداده ها مایه حیات همه کسب و کارها هستند. تصمیمات مبتنی بر داده به‌طور فزاینده‌ای بین همگام شدن با رقابت یا عقب ماندن بیشتر تفاوت ایجاد می‌کند. یادگیری ماشین می‌تواند کلید بازگشایی ارزش داده های شرکت و مشتری و اتخاذ تصمیماتی باشد که شرکت را از رقبا جلوتر نگه می‌دارد.یادگیری ماشین مهم است زیرا به شرکت ها دیدی از روند رفتار مشتری و الگوهای عملیاتی تجاری می‌دهد و همچنین از توسعه محصولات جدید پشتیبانی می‌کند. بسیاری از شرکت‌های پیشرو امروزی، مانند فیس‌بوک، گوگل و اوبر، یادگیری ماشین را به بخش مرکزی عملیات خود تبدیل می‌کنند. همچنین یادگیری ماشین به یک تمایز رقابتی مهم برای بسیاری از شرکت ها تبدیل‌شده است.انواع تکنیک‌های یادگیری ماشینیادگیری ماشین (Machine Learning) به دو حوزه‌ی اصلی یادگیری باناظر (Supervised Learning) و یادگیری بدون ناظر (Unsupervised Learning) تقسیم می‌شود. البته دو نوع دیگر نیز وجود دارد: یادگیری نیمه‌نظارتی (Semi-supervised Learning) و یادگیری تقویتی (Reinforcement Learning) که امروزه محل توجه است.هر یک از آن‌ها در ماشین لرنینگ هدف و وظایف خاصی دارند، نتایج خاصی را ارائه می‌کنند و از فرم‌های مختلف داده استفاده می‌کنند. تقریباً ۷۰ درصد یادگیری ماشین یادگیری باناظر (Supervised Learning) است، درحالی‌که یادگیری بدون ناظر (Unsupervised Learning) میان 10 تا 20 درصد است. در ادامه هر یک از آن‌ها را توضیح خواهیم داد.یادگیری باناظر (Supervised Learning)در یادگیری باناظر (Supervised Learning) ما از داده‌های شناخته‌شده یا دارای برچسب به‌عنوان داده‌های آموزشی استفاده می‌کنیم. از آنجا که داده‌ها شناخته شده‌اند؛ بنابراین می‌توان گفت نظارتی بر اجرای درست الگوریتم وجود دارد و به‌همین دلیل هم به آن یادگیری باناظر گفته می‌شود.این داده‌های ورودی از الگوریتم یادگیری ماشین عبور می‌کنند و برای آموزش مدل استفاده می‌شوند. پس از آموزش مدل براساس داده‌های شناخته‌شده، می‌توانیم از داده‌های ناشناخته در مدل استفاده کنیم و عملکرد مدل را بسنجیم.برخی از مشهورترین الگوریتم‌های باناظر که استفاده می‌شوند شامل موارد زیر است:رگرسیون چندجمله‌ای (Polynomial regression)جنگل تصادفی (Random forest)رگرسیون خطی (Linear regression)رگرسیون لجستیک (Logistic regression)درخت تصمیم (Decision tree)کی - نزدیک‌ترین همسایه (K-nearest neighbors)بیز ساده (Naive Bayes)یادگیری بدون ناظر (Unsupervised Learning)در یادگیری بدون ناظر (Unsupervised Learning) داده‌های آموزشی ناشناخته و بدون برچسب هستند؛ به‌این معنی که کسی قبلاً کاری روی آن‌ها انجام نداده است. بنابراین اینجا داده ورودی کمکی به هدایت الگوریتم نمی‌کند؛ زیرا ناشناخته است و برچسبی ندارد.می‌توان گفت دیگر در اینجا نظارتی وجود ندارد و به‌همین دلیل، به آن یادگیری بدون ناظر (Unsupervised Learning) گفته می‌شود. داده‌ها به الگوریتم یادگیری ماشین (Machine Learning) وارد می‌شوند و برای آموزش مدل استفاده می‌شوند. مدل آموزش دیده سعی می‌کند الگویی را در این داده‌ها به دست آورد و پاسخ مدنظر را ارائه کند.معروف‌ترین الگوریتم‌های بدون ناظر از این قرار است:حداقل مربعات جزیی (Partial least squares)خوشه‌بندی فازی / میانگین فازی (Fuzzy means)تجزیه مقادیر منفرد (Singular value decomposition)خوشه‌بندی k میانگین (K-means clustering)اپریوری (Apriori)خوشه‌بندی سلسله‌مراتبی (Hierarchical clustering)تحلیل مؤلفه‌ی اصلی (Principal Component Analysis / PCA)یادگیری نیمه‌نظارتی (Semi-supervised Leaning)این نوع یادگیری ماشین (Machine Learning) چیزی میان یادگیری باناظر (Supervised Learning) و بدون ناظر (Unsupervised Learning) است. در حین آموزش مقدار کمی داده‌ی برچسب‌دار و مقداری داده‌ی بدون برچسب به الگوریتم وارد می‌شود. یادگیری نیمه‌نظارتی (Semi-supervised Learning) زمانی استفاده می‌شود که مقدار داده‌ی برچسب‌دار کافی در اختیار نداریم تا یک الگوریتم باناظر (Supervised Learning) را آموزش دهیم.یادگیری تقویتی (Reinforcement Learning)در اینجا الگوریتم داده‌ها را ازطریق فرایند آزمون‌ و خطا کشف می‌کند و سپس تصمیم می‌گیرد چه عملی به پاداش بالاتر می‌انجامد. عامل (agent)، محیط (environment) و عمل (actions) سه مؤلفه‌ی اصلی یادگیری تقویتی محسوب می‌شوند. عامل (agent) یادگیرنده یا تصمیم‌گیرنده است، محیط (environment) همه‌ی چیزهایی را دربرمی‌گیرد که عامل (agent) با آن‌ها تعامل دارد و اقدامات (actions) همان کاری است که عامل (agent) انجام می‌دهد.یادگیری تقویتی وقتی اتفاق می‌افتد که عامل (agent) اقداماتی را انتخاب کند که حداکثر پاداش مورد انتظار را برای یک زمان مشخص به حداکثر برساند. دست‌یابی به این موضوع زمانی محقق می‌شود که عامل (agent) در چارچوب یک سیاست مناسب کار کند.کاربردهای یادگیری ماشینشناسایی و پردازش تصاویریکی از کاربردهای رایج یادگیری ماشین شناسایی تصویر است. موقعیت‌های بسیاری برای دسته‌بندی اشیاء در تصاویر دیجیتالی وجود دارد و برای این کار می‌توان از یادگیری ماشین استفاده کرد. برای مثال در تصاویر سیاه و سفید هر پیکسل به عنوان یک واحد اندازه گیری استفاده می‌شود. در تصاویر رنگی نیز هر پیکسل یک واحد اندازه گیری برای شدت سه رنگ قرمز، سبز و آبی استفاده می‌شود.از یادگیری ماشین نیز می‌توان در شناسایی چهره در پردازش تصویر نیز استفاده کرد. در یک دیتابیس برای هر فرد یک دسته بندی جدا جود دارد و الگوریتم‌های یادگیری ماشین با توجه به این تصاویر به تشخیص هویت می‌پردازند. از یادگیری ماشین هم چنین در تشخیص دست خط در نوشته های معمولی یا نسخ خطی چاپ شده نیز استفاده می‌شود.شناسایی گفتاریکی دیگر از کاربردهای یادگیری ماشین تبدیل گفتار به متن می‌باشد. این مسئله به شناسایی گفتار کامپیوتری با شناسایی گفتار اتوماتیک نیز معروف است. به کمک شناسایی گفتار یک نرم افزار می‌تواند کلمات موجود در یک گفتار را تشخیص دهد و آن را به یک فایل متنی تبدیل کند. واحد اندازه گیری در اینجا می‌تواند زنجیره ای از اعداد باشد که نماد سیگنال‌های گفتار می‌باشند. همچنین می توانیم سیگنال گفتار را با شدت در باندهای مختلف فرکانس زمانی تقسیم کنیم. شناسایی گفتار می‌تواند در برنامه‌هایی کاربرد داشته باشد که رابط تعاملی صوتی دارند و یا قابلیت جستجی صوتی و… دارند.تشخیص بیماریاز یادگیری ماشین می‌توان در تکنیک‌ها و ابزارهایی که برای تشخیص بیماری‌ها کاربرد دارند استفاده کرد. از این تکنولوژی می‌توان برای تجزیه و تحلیل پارامترهای بالینی و ترکیب آن‌ها برای پیش‌بینی آگاهی از پیشرفت بیماری، استخراج اطلاعات پزشکی، تحقیقات برای رسیدن به نتیجه، برنامه ریزی درمانی و نظارت بر بیمار استفاده کرد. این موارد از کاربردهای موفق استفاده از متدهای یادگیری ماشین می‌باشد. استفاده از الگوریتم‌های یادگیری ماشین همچنین می‌تواند به ادغام سیستم‌های کامپیوتری و بخش‌های مراقبت بهداشتی نیز کمک کند.تحلیل آماریدر امور اقتصادی یکی از مسائل مهم بدست آوردن استراتژی‌های کوتاه مدت برای خرید و فروش اوراق بهادار می‌باشد. برای بدست آوردن این استراتژی‌ها کاربر از الگوریتم‌های معاملاتی برای خرید و فروش اوراق بهادار بر اساس عواملی مانند همبستگی های تاریخی و متغیرهای عمومی اقتصادی متمرکز استفاده می‌کند. یادگیری ماشین می‌تواند برای بدست آوردن این الگوریتم‌های استراتژی کوتاه مدت بسیار کاربردی باشد.انجمن‌های یادگیریمنظور از انجمن‌های یادگیری روند توسعه بینش بین محصولات مختلف می‌باشد. یعنی به عنوان مثال اینکه بفهمیم چگونه محصولات غیر مرتبط می‌توانند با یکدیگر مرتبط باشند. یکی از کاربردهای یادگیری ماشین، مطالعه ارتباط بین کالاهایی است که مردم خریداری می‌کنند. اگر شخصی محصولی را خریداری کند، به او محصولات مشابه نشان داده می‌شود زیرا بین این دو محصول رابطه وجود دارد. زمانی که محصول جدیدی در بازار عرضه می‌شود، برای افزایش فروش می‌تواند از این طریق با محصولات قدیمی همراه می شود.دسته بندیمنظور از دسته بندی قرار دادن هر فرد، شیء و… در دسته‌های مختلف تحت مطالعه می‌باشد. دسته بندی به تجزیه و تحلیل اندازه گیری‌های یک شی کمک می کند تا دسته ای را که به آن تعلق دارد را شناسایی کنیم. برای ایجاد یک رابطه کارآمد، تحلیلگران از داده‌ها استفاده می کنند. به عنوان مثال، قبل از اینکه یک بانک تصمیم به توزیع وام بگیرد، مشتریان دارای توانایی بازپرداخت وام را ارزیابی می‌کند. بانک در حقیقت با در نظر گرفتن عواملی مانند درآمد مشتری، پس انداز و سابقه مالی و… این کار را انجام می‌دهد. این اطلاعات از تجزیه و تحلیل و دسته بندی داده‌های گذشته در مورد وام بدست می‌آید.پیش بینییادگیری ماشین می‌تواند در سیستم‌های پیش‌بینی کاربرد داشته باشد. برای مثال با توجه به چیزی که در بالا برای ارائه وام در بانک گفته شد، برای محاسبه احتمال خطای سیستم نیاز به طبقه بندی داده‌های موجود در گروه‌های مختلف دارد. این مجموعه به کمک قوانین تعیین شده توسط تحلیلگران تعریف می‌شود. پس از طبقه بندی، می‌توان احتمال خطا را باز هم به کمک یادگیری ماشین محاسبه کرد. این محاسبات می‌تواند در همه بخش‌ها برای اهداف متنوع استفاده شود. پیش بینی یکی از بهترین کاربردهای یادگیری ماشین است.استخراجیکی از کاربردهای بسیار خوب یادگیری ماشین استخراج اطلاعات می‌باشد. در این جا یادگیری ماشین به فرآیند استخراج اطلاعات ساختاری از داده های بدون ساختار کمک می‌کند. به عنوان مثال یادگیری ماشین به استخراج اطلاعات مورد نظر در بین صفحات وب، مقالات، وبلاگ‌ها، گزارش های تجاری و ایمیل می‌پردازد. بانک اطلاعاتی یا همان دیتابیس رابطه‌ی خروجی تولید شده را با استخراج اطلاعات حفظ می‌کند. فرآیند استخراج توسط یادگیری ماشین مجموعه ای از اسناد را به عنوان ورودی می گیرد و داده‌های ساختارمند را از آن بیرون می‌کشد.رگرسیونمی‌توان از یادگیری ماشین هم چنین برای رگرسیون نیز استفاده کرد. در رگرسیون می توان از اصل یادگیری ماشین برای بهینه سازی پارامترها استفاده کرد. همچنین می‌توان برای کاهش خطای تقریبی و محاسبه نزدیک‌ترین نتیجه ممکن از یادگیری ماشین استفاده کرد. همچنین می‌توان برای بهینه سازی عملکرد نیز از یادگیری ماشین استفاده کنیم و می توان برای تغییر ورودی‌ها تا رسیدن به نزدیکترین نتیجه ممکن یادگیری ماشین را به کار گرفت.سرویس‌های مالییادگیری ماشین ظرفیت‌های زیادی برای به کارگیری در حوزه مالی و بانکی دارد. با استفاده از یادگیری ماشین و هوش مصنوعی می‌توان خدمات مالی محبوبی را ارائه داد. یادگیری ماشین می‌تواند به بانک‌ها و موسسات مالی کمک کند تا تصمیمات دقیق‌تری بگیرند، به ارائه خدمات مالی کمک کند تا بسته شدن یک حساب را قبل از وقوع تشخیص دهند، الگوی هزینه مشتریان را پیگیری کنند، تجزیه و تحلیل بازار را انجام دهند، ردیابی الگوهای هزینه را به ماشین‌های هوشمند آموزش دهند و در نهایت الگوریتم‌های یادگیری ماشین می توانند گرایش‌ها و ترندهای پیش رو را به راحتی شناسایی کنند و در زمان واقعی واکنش نشان دهند.نحوه‌ی انتخاب مدل یادگیری ماشینی مناسب چیست؟فرایند انتخاب مدل یادگیری ماشین مناسب برای حل یک مشکل، اگر به صورت استراتژیک انجام نشود، می‌تواند زمان‌بر باشد. در ادامه، مراحلی استراتژیک برای دستیابی به مدل مناسب ارائه شده است.گام اول: داده‌های بالقوه‌ی ورودی که باید برای راه حل مسئله‌ی مربوطه در نظر گرفته شوند، در ابتدا بررسی می‌شوند. این مرحله به کمک دانشمندان داده و کارشناسانی نیاز دارد که درک عمیقی از مسئله‌ی مذکور دارند؛گام دوم: داده‌ها در این مرحله جمع آوری می‌شوند، آن‌ها به فرمت مشخصی تبدیل شده و در صورت لزوم برچسب‌گذاری می‌شوند. هدایت این مرحله معمولا برعهده دانشمندان داده و با کمک افرادی است که دیتاها را آماده کرده‌اند؛گام سوم: الگوریتم یا الگوریتم‌های مورد استفاده انتخاب، و هر الگوریتم آزمایش می‌شود تا کارکرد آن‌ها روی داده‌های مورد نظر ارزیابی شود. دانشمندان داده معمولا افرادی هستند که این مرحله را انجام می‌دهند؛گام چهارم: خروجی‌ها به طور دقیق بررسی می‌شوند و این مرحله تا زمانی ادامه می‌یابد که خروجی الگوریتم به سطح قابل قبولی از دقت برسد. این مرحله معمولا توسط دانشمندان داده به همراه ارائه‌ی بازخورد از جانب کارشناسانی انجام می‌شود که درک عمیقی از مسئله‌ی مذکور دارند.مدیران آینده