الگوریتم های یادگیری ماشین

یادگیری ماشین

الگوریتم های یادگیری ماشین

يادگيري ماشين، يكي از مهم ترين بخش هاي هوش مصنوعي است. براي هوشمند بودن، يك سيستم كه در محيطي با شرايط متغير قرار دارد، بايد توانايي آموختن داشته باشد. در چنين حالتي طراحان نيازي به پيش بيني حالات ممكن نخواهند داشت.

یادگیری ماشین

هوش انسانی قدرت درک و ايجاد ارتباط ميان موضوع‌ها و مقایسه آنها را دارد. انسان همواره قانون‌های جدیدی را می‌سازد و يا قوانین قبلی را در موارد جدید بکار می‌گیرد. توانايی انسان در ايجاد مفهوم‌های گوناگون در دنيای پيرامون خود، از ویژگی‌های ديگر اوست. هوش مصنوعی در پی ساخت دستگاه‌هایی است که بتوانند استدلال، رفتار، مقايسه، درک و مفهوم آفرينی را از خود بروز دهند. هوش مصنوعی به تعدادی میدان‌های فرعی تقسیم‌شده است و سعی دارد تا سیستم‌ها و روش‌هایی را ايجاد کند که به‌طور تقليدی مانند هوش و منطق تصمیم‌گیرندگان عمل نمايد.

الگوریتم‌های یادگیری ماشین به‌عنوان یکی از شاخه‌های وسیع و پرکاربرد هوش مصنوعی، به تنظیم و اکتشاف روش ها و الگوریتم‌هایی می‌پردازد که بر اساس آن‌ها کامپیوتر‌ها و سیستم ها توانایی یادگیری پیدا می‌کنند. هدف یادگیری ماشین این است که کامپیوتر بتواند به‌تدریج و با افزایش داده‌ها کارایی بهتری در انجام‌ وظیفه‌ی موردنظر پیدا کند.

گستره‌ی این وظیفه می‌تواند از تشخیص خودکار چهره با دیدن چند نمونه از چهره‌ی موردنظر تا فراگیری شیوه‌ی گام برداری روبات‌های دوپا با دریافت سیگنال پاداش و تنبیه باشد. طیف پژوهش‌هایی که در یادگیری ماشینی می‌شود گسترده است. در سوی نظری‌ آن پژوهش‌گران بر آن‌اند که روش‌های یادگیری تازه‌ای به وجود بیاورند و امکان‌پذیری و کیفیت یادگیری را برای روش‌هایشان مطالعه کنند و در سوی دیگر عده‌ای از پژوهش‌گران سعی می‌کنند روش‌های یادگیری ماشینی را بر مسائل تازه‌ای اعمال کنند. البته این طیف گسسته نیست و پژوهش‌های انجام‌شده دارای مؤلفه‌هایی از هر دو رویکرد هستند.

طبقه بندی  الگوریتم‌های یادگیری ماشین

سه نوع اصلی الگوریتم‌های یادگیری ماشین از قرار زیرند:

  • یادگیری نظارت‌شده (Supervised Learning)

در این نوع از الگوریتم‌ها که بار اصلی یادگیری ماشین را بر دوش می‌کشند، با دو نوع از متغیرها سروکار داریم. نوع اول که متغیرهای مستقل نامیده می‌شوند، یک یا چند متغیر هستند که قرار است بر اساس مقادیر آن‌ها، یک متغیر دیگر را پیش‌بینی کنیم. مثلاً سن مشتری و تحصیلات و میزان درآمد و وضعیت تاهل برای پیش‌بینی خرید یک کالا توسط یک مشتری، متغیرهای مستقل هستند. نوع دوم هم متغیرهای وابسته یا هدف یا خروجی هستند و قرار است مقادیر آن‌ها را به کمک این الگوریتم‌ها پیش‌بینی کنیم.

برای این منظور باید تابعی ایجاد کنیم که ورودی‌ها (متغیرهای مستقل) را گرفته و خروجی موردنظر (متغیر وابسته یا هدف) را تولید کند. فرآیند یافتن این تابع که در حقیقت کشف رابطه‌ای بین متغیرهای مستقل و متغیرهای وابسته است را فرآیند آموزش می گوئیم که روی داده‌های موجود (داده‌هایی که هم متغیرهای مستقل و هم متغیرهای وابسته آن‌ها معلوم هستند مثلاً خریدهای گذشته مشتریان یک فروشگاه) اعمال می‌شود و تا رسیدن به‌دقت لازم ادامه می‌یابد. نمونه‌هایی از این الگوریتم‌ها عبارت‌اند از رگرسیون، درخت‌های تصمیم، جنگل‌های تصادفی، K نزدیک‌ترین همسایه و رگرسیون لجستیک.

  • یادگیری بدون ناظر (unsupervised learning)

در این نوع از الگوریتم‌ها، متغیر هدف نداریم و خروجی الگوریتم، نامشخص است. بهترین مثالی که برای این نوع از الگوریتم‌ها می‌توان زد، گروه‌بندی خودکار (خوشه‌بندی) یک جمعیت است مثلاً با داشتن اطلاعات شخصی و خریدهای مشتریان، به‌صورت خودکار آن‌ها را به گروه‌های همسان و هم‌ارز تقسیم کنیم. الگوریتم Apriori و K-Means از این دسته هستند.

  • یادگیری تقویت شونده (Reinforcement Learning)

نوع سوم از الگوریتم‌ها که شاید بتوان آن‌ها را در زمره الگوریتم‌های بدون ناظر هم دسته‌بندی کرد، دسته‌ای هستند که از آن‌ها بانام یادگیری تقویت شونده یاد می‌شود. در این نوع از الگوریتم‌ها، یک ماشین، برای گرفتن یک تصمیم خاص، آموزش داده می‌شود و ماشین بر اساس موقعیت فعلی (مجموعه متغیرهای موجود) و اکشن‌های مجاز (مثلاً حرکت به جلو، حرکت‌به‌عقب و …)، یک تصمیم را می‌گیرد که در دفعات اول، این تصمیم می‌تواند کاملاً تصادفی باشد و به ازای هر اکشن یا رفتاری که بروز می‌دهد، سیستم یک فیدبک یا بازخورد یا امتیاز به او می‌دهد و از روی این فیدبک، ماشین متوجه می‌شود که تصمیم درست را اتخاذ کرده است یا نه که در دفعات بعد در آن موقعیت، همان اکشن را تکرار کند یا اکشن و رفتار دیگری را امتحان کند.

با توجه به وابسته بودن حالت و رفتار فعلی به حالات و رفتارهای قبلی، فرآیند تصمیم‌گیری مارکوف، یکی از مثال‌های این گروه از الگوریتم‌ها می‌تواند باشد. الگوریتم‌های شبکه‌های عصبی هم می‌توانند این دسته به‌حساب آیند. منظور از کلمه تقویت شونده در نام‌گذاری این الگوریتم‌ها هم اشاره به مرحله فیدبک و بازخورد است که باعث تقویت و بهبود عملکرد برنامه و الگوریتم می‌شود.

بطور کلی الگوریتم های یادگیری طبق شکل زیر می توانند طبقه بندی شوند:

یادگیری ماشین

 

 

 

مطالب زیر را حتما بخوانید

دیدگاه ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.