انواع روشهای یادگیری ماشین

انواع روشهای یادگیری ماشین

در جلسه قبل فرق بین هوش مصنوعی، یادگیری ماشین و یادگیری عمیق را توضیح دادیم. در این جلسه قصد داریم انواع قوانین یادگیری را توضیح بدهیم. ما برای هوشمند کردن یک سیستم به دو تا عامل وابسته ایم: اول اینکه به انبوهی از داده برای آموزش نیاز داریم تا مدل بتواند طبق این داده ها یاد بگیرد. دوم اینکه مدل نیاز دارد طبق یک قانونی ساختار خودش را بهینه کند و در واقع آموزش ببیند. به طور کلی از دید شناسائی آماری الگو (pattern recognition) سه دسته یادگیری ماشین داریم: یادگیری نظارت شده، یادگیری بدون نظارت و یادگیری تقویتی. در ادامه این سه روش یادگیری را توضیح میدهیم.

یادگیری نظارت شده

همانطور که از اسم این یادگیری مشخص هست، در یادگیری نظارت شده مدل به کمک یک ناظر آموزش می‌بیند. در واقع در این روش ورودی(x) و خروجی (y) مشخص است و هدف مدل پیدا کردن رابطه (.) f  بین ورودی و خروجی می باشد.

(y= f(x

به طور کلی یادگیری نظارت شده، ما مدل را با استفاده از یک سری داده ای که از قبل لبیل(خروجی مطلوب) آنها مشخص شده است، آموزش میدهیم و هدف این است که وقتی یک داده جدید (xn)  که خروجی آن مشخص نیست به مدل ارائه شد، مدل بتواند خروجی مطلوب را تولید کند.

چر این یادگیری را نظارت شده می نامیم؟

به خاطر اینکه پروسه ی یادگیری (از روی داده آموزشی) یک الگورتیم توسط یک ناظر کنترل می شود. به این ترتیب که “الگوریتم یادگیری” در تکرارهای مختلف خروجی داده‌های آموزش را تخمین می زند، و سپس این خروجیها توسط یک ناظر تصحیح می شود، و زمانی که الگورتیم به عملکرد قابل قبولی می رسد، پروسه یادگیری متوقف می شود.

چند مثال از یادگیری نظارت شده

مثال 1: تشخیص نوع تومور بیمار

brain with tumor

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

 

مثال 2: دسته بندی میوه‌ها

fruit basket

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

banana
banana

حال اگر یک داده جدید مثلا موز به مدل ارائه بدهید که جزء داده های آموزش نبود، مدل میتواند این میوه را در دسته موزها قرار دهد.

یادگیری نظارت شده به دوسته کلاسبندی و رگرسیون(پیش‌بینی) تقسیم می شود. که در جلسه بعد به طور مفصل این دو موضوع را توضیح خواهیم داد.

 

یادگیری بدون نظارت

در این دسته از یادگیری تنها ورودی (x) را داریم و خروجی مشخص نیست. در واقع اینجا ناظری وجود ندارد تا به الگوریتم در یادگیری کمک کند. هدف اصلی یادگیری بدون نظارت مدل کردن توزیع داده هست تا بتواند اطلاعات بیشتری در باره داده بدست آورد.

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

مثال:خوشه‌بندی نمونه‌ها 

cats and dogs image for clustering

فرض کنید یک تصویر به شما تصویر زیر را نشان داده‌اند که داخل آن یک سری سگ و گربه وجود دارد و فرض بر این است که شما تا الان هیچ سگ و گربه ای ندیده اید.

حال از شما میخواهند که حیوانات شبیه بهم را در یک دسته(خوشه قرار بدید). شما براساس خصوصیات ظاهری این حیوانات، آنها را در دو دسته مختلف قرار میدهید.

کاری که شما الان انجام دادید در واقع یک خوشه بندی بوده است و شما بدون هیچ دانش قبلی توانستید سگ ها و گربه ها را از هم تفکیک کنید. در واقع ماشین در یادگیری بدون نظارت به همین روال عمل می کند.

و داده ها را براساس خصوصیات و ویژگیهایشان در دسته های مختلف قرار میدهد.

یادگیری نظارت شده به دو دسته خوشه‌بندی و کاهش بعد تقسیم می شود. . که در جلسه بعد به طور مفصل این موضوع را توضیح خواهیم داد.

 

یادگیری تقویتی

reinforcement learning

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

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

در ویدیوی داستان نحوه یادگیری شبکه عصبی است. در این انیمیشن به زیبای این مسئله به تصویر کشیده شده است. (اطلاعات بیشتر)

کاربردهای یادگیری تقویتی
reinforcement learning applications

یادگیری تقویت در تولید، ماشینهای خودران ، مدیریت کسب و کار، سیستم های کامپیوتری، بینایی ماشین، آموزش، انرژی، امور مالی، بازی ها، مراقبت های بهداشتی، پردازش زبان طبیعی (NLP)، رباتیک، “علم، مهندسی و هنر” و حمل و نقل کاربرد دارد.

در ویدیوی زیر یکی از کاربردهای یادگیری تقویتی نشان داده شده است. و توضیح میدهید که چطور میتوان از یادگیری تقویتی برای کنترل ماشینها استفاده کرد.


 

مشاهده همه افزودن یک یادداشت
شما
دیدگاه خود را وارد کنید
 

با ما همراه باشید

تمام حقوق مادی و معنوی این سایت مربوط به آکادمی آنلاین مهندسی پزشکی و هوش مصنوعی می باشد
X