یادگیری ماشین (machine learning) چیست؟

با سلام خدمت همراهان ایبو (www.eBoo.ir)این روزها بیش از هر چیز دیگری در مسئله مربوط به کامپیوتر ، هوش مصنوعی به گوشمان میخورد که پیش بینی میشود به زودی به عنوان حامی انسان و همینطور جایگذین فعالیت های انسانی در بسیاری از موارد شود .یکی از مواردی که در هوش مصنوعی به آن توجه می شود ، یادگیری ماشین یا machine learning می باشد . در این مقاله میخواهیم مقدمه کوتاهی از این مسئله خدمت شما ارائه کنیم .مقدمه ای از یادگیری ماشینآنالاتیکس (Analytics )مجموعه ای از تکنیک ها و ابزارهایی است که برای ایجاد مقدار یا Value ای از داده ها استفاده می شود. تکنیک ها عبارتند از:مفاهیمی همچون هوش مصنوعی ( Artificial Intelligence)(AI) ، یادگیری ماشین Machine learning یا (ML) و الگوریتم های دیپ لرنینگ (DL) یا Deep learning .تعاریفی از یادگیری ماشین ، دیپ لرنینگ، هوش مصنوعی به شرح زیر است .1. هوش مصنوعی: الگوریتم ها و سیستم هایی که دارای هوش -شبیه -انسان هستند.2. یادگیری ماشین: زیر مجموعه از هوش مصنوعی است که می تواند یک کار یا Task ی را با داده های استخراج شده و یا از طریق مدل ها یاد بگیرد .3. دیپ لرنینگ : زیر مجموعه ای از یادگیری ماشین است که از عملکرد مغز انسان برای حل مسائل تقلید می کند.نکته مهم این است که همه آنها الگوریتم هایی هستند که چیزی جز مجموعه دستورالعمل های مورد استفاده برای حل مسائل تجاری و اجتماعی نیستند.یادگیری ماشینی مجموعه ای از الگوریتم ها است که توانایی یادگیری برای انجام وظایفی از قبیل پیش بینی و طبقه بندی یا کلاسیفکیشن موثر با استفاده از داده ها را دارد. یادگیری با استفاده از داده های اضافی و یا مدل های اضافی حاصل می شود. یک الگوریتم را می توان الگوریتم یادگیری یا learning نامید وقتی که هنگام انجام یک کار بر روی یک متریک عملکردش بهبود یابد، به عنوان مثال ، دقت طبقه بندی مانند کلاهبرداری ، افزایش یا کاهش مشتری و غیره.الگوریتم های یادگیری ماشین طبق تعریف به چهار دسته تقسیم می شوند:1. الگوریتم های یادگیری نظارت شده یا Supervised Learning Algorithms :این الگوریتم ها به دانش متغیر نتیجه (متغیر وابسته) و ویژگی ها (متغیر مستقل یا متغیرهای ورودی) نیاز دارند. الگوریتم یاد می گیرد (یعنی مقادیر پارامترهای مدل یا وزن ویژگی را تخمین می زند) با تعریف یک تابع هزینه یا loss function که معمولاً تابعی از تفاوت بین مقدار پیش بینی شده و مقدار واقعی متغیر نتیجه است. الگوریتم هایی مانند رگرسیون خطی ، رگرسیون لجستیک ، تجزیه و تحلیل مولفه ها یا discriminant analysis نمونه هایی از الگوریتم های یادگیری نظارت شده هستند.در مورد رگرسیون خطی چندگانه ، پارامترهای رگرسیون با به حداقل رساندن مجموع خطاهای مربع ، که توسط فرمول زیر محاسبه می شوددر فرمول بالا n تعداد کل نمونه یا داده و متغییر Yi مقدار واقعی از متغییر نتیجه است و Y^i مقدار پیش بینی شده متعییر نتیجه است .در اینجا مقدار پیش بینی شده یک تابع خطی یا غیرخطی از ویژگی ها (یا متغیرهای مستقل) در داده ها است.پیش بینی با آگاهی از مقادیر واقعی متغیرهای نتیجه (با تخمین وزن ویژگی) الگوریتم های یادگیری نظارت شده نامیده میشود حاصل میشود . یعنی نظارت با استفاده از دانش مقادیر متغیر نتیجه حاصل می شود.2. الگوریتم های یادگیری بدون نظارت یا Unsupervised Learning Algorithms:این الگوریتم ها مجموعه ای از الگوریتم ها هستند که دانش مربوط به متغیر نتیجه در مجموعه داده ندارند. الگوریتم هایی مانند خوشه بندی ، تجزیه و تحلیل مؤلفه های اصلی نمونه هایی از الگوریتم های یادگیری بدون نظارت هستند. از آنجا که مقادیر متغیر نتیجه در داده های آموزش ناشناخته است ، نظارت بر استفاده از آن دانش امکان پذیر نیست.3. الگوریتم های یادگیری تقویتی یا Reinforcement Learning Algorithms:در بسیاری از مجموعه داده ها ، ممکن است عدم اطمینان در مورد متغیرهای ورودی و متغیرهای خروجی وجود داشته باشد. به عنوان مثال ، نگارش املایی در ویرایشگرهای متن مختلف در نظر بگیرید. اگر شخصی در نرم افزار مایکروسافت ورد کلمه buutiful تایپ کند ، در Microsoft Word بلافاصله این را به عنوان یک اشتباه املایی تشخیص داده و گزینه هایی مانند “beautiful” ، “bountiful” و “dutiful” را ارائه می دهد. در اینجا پیش بینی یک مقدار واحد نیست بلکه مجموعه ای از مقادیر است. تعریف دیگر این است: الگوریتم های یادگیری تقویتی الگوریتم هایی هستند که برای به حداکثر رساندن پاداش تجمعی باید اقدامات پی در پی (تصمیم گیری) انجام دهند. تکنیک هایی مانند زنجیره مارکوف و روند تصمیم گیری مارکوف یا Markov decision process نمونه هایی از الگوریتم های یادگیری تقویتی هستند.4. الگوریتم های یادگیری تکاملی یا Evolutionary Learning Algorithms:الگوریتم های تکاملی الگوریتم هایی هستند که از تکامل طبیعی برای حل یک مسئله تقلید میکند . تکنیک هایی مانند الگوریتم ژنتیک و بهینه سازی کلونی مورچه ها در زیر مجموعه الگوریتم های یادگیری تکاملی قرار می گیرندامیدوار هستیم آموزش مفید واقع شده باشد .www.eBoo.ir