انواع یادگیری در یادگیری ماشین
در جلسه دوم از دوره آموزش یادگیری ماشین رایگان هوسم، میخواهیم انواع یادگیری در یادگیری ماشین را معرفی کنیم. سه روش یادگیری رایج در یادگیری ماشین، یادگیری باناظر، یادگیری بدون ناظر و یادگیری تقویتی هستند. در یادگیری باناظر، دسته بندی و رگرسیون بسیار شناخته شده هستند. در یادگیری بدون ناظر هم، دو دسته کاهش بعد و خوشه بندی بسیار رایج هستند. در این جلسه با این دستهها آشنا خواهید شد. با هوسم همراه باشید…
مقدمهای بر انواع یادگیری در یادگیری ماشین
در یادگیری ماشین روشهای متنوعی برای یادگیری وجود دارد. بسیاری از این روشهای یادگیری در مغز انسان هم وجود دارند. یعنی مغز ما هم به روشهای مختلفی درحال یادگیری است. بیایید چند روش یادگیری رایج در مغز انسان را باهم مرور کنیم:
-
روش اول
گاهی مغز ما در قالب یک بازی درحال یادگیری است. همینطور که درحال بازی هستیم و مدام پیروزی و شکست را تجربه میکنیم، مغز ما هم درحال یادگیری است. با بیشتر بازی کردن، مهارت ما در بازی بیشتر میشود. این مهارت با یادگیری بدست آمده است.
-
روش دوم
گاهی مغز ما از یک نفر دیگر مانند پدر، مادر، معلم و خیلی افراد دیگر مطالبی را یاد میگیرد. احتمالا، اولین بار این پدرومادرمان بودند که به ما نام حیوانات و میوهها را آموختند. پس اینجا یک ناظر داریم که مثلا سیب را نشان میدهد و همزمان میگوید سیب. پس هم به ما داده میدهند و هم جواب مطلوبش را…
-
روش سوم
گاهی بدون وجود بزرگتر یا همان ناظر یاد میگیریم. مغز یک نوزاد از همان ابتدا درحال یادگیری است. نوزاد نه قابلیت یادگیری هنگام بازی را دارد و نه زبان آدمیزاد میفهمد! 😃 مثلا بدو تولد نوزاد واکنشی به صداهای اطراف ندارد. اما رفته رفته مغز او یاد میگیرد که سخنگو را از بین جمع پیدا کند. کم کم نامش را یاد میگیرد. ما تنها میتوانیم نامش را صدا بزنیم و امیدوار باشیم که او بشنود. نمیتوانیم بگوییم “به دنیا خوش اومدی اسمت هوسم هست”. بعد او هم بگوید: “از اسمم خوشم نیومد، وایسا دنیا من میخوام پیاااده شم!”.
پس نوزاد فقط داده دریافت میکند و خبری از جواب مطلوب نیست. اصلا نمیتوانیم جواب مطلوب به او بدهیم، گیرندههایش مشکل دارد! این شکل یادگیری، با بزرگتر شدن نوزاد نه تنها قطع یا کمرنگ نمیشود، بلکه مدام بیشتر و بیشتر میشود. این روش یادگیری، یکی از مهمترین روشهای یادگیری مغز است که حالا در سالهای اخیر بیش از پیش بین محققان هوش مصنوعی اهمیت پیدا کرده است.
-
روش چهارم
گاهی بدون داده و تنها با جواب مطلوب یاد میگیریم! تصور کنید، کودک نمیداند گورخر چیست. در ماشین، پدر حین رانندگی گورخر دیده است و میگوید برو گورخر! کودک میگوید گورخر چیست؟ مادر میگوید ندیدی فرار کرد! گورخر شبیه اسب هست ولی رنگش سیاه-سفید راهراه مثل کیف من هست! اینجا، کودک خیلی نکات یاد میگیرد! یکی از آنها این است: بدون اینکه داده داشته باشد (تصویری از گورخر) تنها با یک خروجی مطلوب و ارتباط دادنش به یک حیوانی که میشناسد، آن حیوان را شناخته است.
روشهای یادگیری در مغز انسان بسیار متنوع هستند. بیش از این ادامه نمیدهیم، اما لطفا شما داستانها و نکات جالبی که در یادگیری کودک خودتان یا اطرافیان دیدهاید را برای ما کامنت کنید.
از بین موارد بالا در یادگیری مغز انسان، سه مورد اول بسیار مهم هستند. معادل این سه روش یادگیری در مغز، سه دسته با نامهای یادگیری تقویتی، یادگیری باناظر، یادگیری بدون ناظر در یادگیری ماشین وجود دارد. در ادامه مختصری هریک از این روشهای یادگیری در یادگیری ماشین را بررسی میکنیم.
یادگیری باناظر (Supervised Learning)
یکی از انواع یادگیری در یادگیری ماشین، یادگیری باناظر است. همانطور که از نامش پیداست، در این نوع یادگیری، یک ناظر وجود دارد (همان روش دوم در بخش قبل، پدر، مادر، معلم و غیره). این ناظر به الگوریتم یادگیری ماشین در فرآیند یادگیری کمک میکند.
به تصویر زیر نگاه کنید؛ معلم با نشان دادن تصاویری به کودکان میخواهد به آنها شناسایی سگ را یاد دهد. چند تصویر از سگ را به آنها نشان میدهد و به آنها میگوید که اینها سگ هستند. یعنی هم داده و هم جواب مطلوب را به کودکان میدهد و بقیه را به مغز کودک میسپارد. این کار بارها و بارها تکرار میشود تا کودکان یاد بگیرند سگ را در اشکال مختلف بشناسند.
علاوهبر تصاویر سگ، جواب مطلوب هم نقش پررنگی در این سبک یادگیری دارد. در یادگیری ماشین هم همین است؛ دادههایی که در یادگیری باناظر استفاده میشوند، جواب مطلوب را هم همراه خود دارند. این جواب مطلوب همان برچسب است که در جلسه قبل با آن آشنا شدیم. اگر نمیدانید برچسب چیست اینجا کلیک کنید.
دو روش در یادگیری باناظر وجود دارد که از اهمیت زیادی برخوردار هستند:
- کلاسبندی
- رگرسیون
درادامه، در دو بخش جداگانه این دو را به شما توضیح میدهم.
-
رگرسیون (Regression)
رگرسیون، به مجموعهای از روشها در یادگیری ماشین گفته میشود که به ما این امکان را میدهند که مقدار پیوسته y را بر اساس دادههای ورودی x تخمین بزنیم. اگر خلاصه بخواهم بگویم، هدف یک مدل رگرسیون این است که یک معادله ریاضی بین y و x بسازد. مثلا، رابطهای شبیه زیر:
y = f(x)
وقتی که الگوریتم رگرسیون این معادله را ساخت، سپس میتوان از این معادله استفاده کرد و مقدار y را بر اساس x محاسبه کرد. مثلا الگوریتمی که مبتلایان به کرونا در ماه آینده را تخمین میزند، یک نمونه رگرسیون است. رگرسیون خطی، سادهترین و شناختهشدهترین مدل رگرسیون برای تخمین یک مقدار پیوسته است. تصویر زیر نشان میدهد که چگونه رگرسیون خطی با یک خط، مقدار y دادهها را تخمین میزند!
در جلسات آینده با رگرسیون به طور کامل آشنا خواهیم شد.
-
دسته بندی (Classification)
برخلاف رگرسیون که یک مقدار پیوسته را تخمین میزد، در دسته بندی (یا کلاس بندی) هدف تخمین کلاس داده است که یک مقدار گسسته است. در واقع در دسته بندی، ما به دنبال تابعی میگردیم که هر داده ورودی را به کلاس خودش نگاشت کند. مثلا در تصویر زیر، یک الگوریتم یادگیری ماشین داریم که تشخیص میدهد که یک ایمیل، اسپم هست یا خیر:
اگر خروجی مدل یادگیری ماشین 1 باشد، این یعنی ایمیل اسپم است. در غیر اینصورت اگر مدل یادگیری ماشین، خروجی صفر بدهد، یعنی ایمیل سالم است. در اینجا نیز مدل یک معادله y=f(x) را پیدا میکند که با این تابع ورودیها را به خروجی مطلوب نگاشت کند. یعنی به ازای هر ورودی که به مدل داده میشود، مدل ورودی را در تابع قرار داده و جواب مطلوب را تخمین میزند!
چه در رگرسیون و چه در دسته بندی، ما همواره ناظر یا برچسب را داشتیم. در بخش بعدی از جلسه «انواع یادگیری در یادگیری ماشین»، میخواهیم به حالت سوم از یادگیری در انسان بپردازیم. حالتی که هیچ برچسبی وجود نداشت و در انسان هم این یادگیری بسیار پررنگ است.
یادگیری بدون ناظر (Unsupervised Learning)
در یادگیری بدون ناظر، داده آموزشی هیچ گونه جواب مطلوبی همراه با خود ندارد. یعنی، هیچ گونه برچسب و لیبلی وجود ندارد. در این حالت سیستم بدون ناظر یا معلم باید یاد بگیرد. در این دسته روشها، ما باید در پی یافتن ارتباط و الگوی بین دادهها باشیم. در حالت سوم از بخش مقدمه، مثالهایی از یادگیری بدون ناظر در انسان آوردم. اما بیایید یک مثال بررسی کنیم تا با یادگیری بدون ناظر در یادگیری ماشین بیشتر آشنا شویم.
-
مثال از یادگیری بدون ناظر
تصور کنید یک فروشگاه کتاب داریم. هنگام خرید، اطلاعات مشتری ثبت میشود. این اطلاعات به شکل یک فایل اکسل است که در آن نام، سن، جنسیت مشتریان و نام و ژانر کتابهای خریداری شده ثبت شده است (مثل شکل زیر). حالا میخواهیم روی این اطلاعات، تجزیه و تحلیلی کنیم. مثلا به ذهنمان رسیده بررسی کنیم مردها و زنها به کدام ژانر کتاب بیشتر علاقهمند هستند.
نیازی به یادگیری ماشین نیست. کافی است یک کد ساده بنویسیم و ببینیم در هر ژانر کتاب (رمان، کمدی، انگیزشی و غیره) چه تعداد را آقایان و چه تعداد را خانمها خریدهاند. یعنی نموداری به شکل زیر بکشیم. اگر اکسل بلد باشید، حتی نیاز به کدنویسی هم نیست و با اکسل میتوان این کار را انجام داد!
طبق نمودار بالا، در ژانر رمان عاشقانه، 98درصد از خریداران، خانمها بودهاند. همچنین، در ژانر کمدی 99 درصد از خریداران، آقایان بودهاند. حالا میدانیم که رمانهای عاشقانه جدیدمان را اگر به خانمها معرفی کنیم، بهتر فروش خواهند رفت. همچنین، معرفی کتابهای کمدی جدید به آقایان هم احتمالا نتیجه بهتری خواهد داشت. این اطلاعات مهم بدون بهرهگیری از هیچ برچسبی بهدست آمد. شما تنها از الگوهایی که بین دادهها وجود داشت استفاده کردید و به نتایج جالبی رسیدید. این نمونهای از یک یادگیری بدون ناظر بود.
دو دسته روش در یادگیری بدون ناظر بسیار شناخته شده هستند:
- کلاسترینگ
- کاهش بعد
در ادامه، میخواهم به توضیح این دو بخش بپردازم.
-
کلاسترینگ یا خوشه بندی (Clustering)
کلاسترینگ یکی از زیرمجموعههای یادگیری بدون ناظر است. در کلاسترینگ دادههای بدون برچسب، به چند گروه، خوشه یا کلاستر تقسیم میشوند. الگوریتمهای کلاسترینگ، دادهها را بر اساس ویژگیهایشان، خوشه بندی میکنند. دادههایی که ویژگیهای مشابه داشته باشند در یک گروه قرار خواهند گرفت. الگوریتمهای خوشه بندی اطلاعات ارزشمندی از دادهها در اختیار میگذارند. تصویر زیر را در نظر بگیرید:
نمودار سمت چپ، مجموعهای از دادهها را نشان میدهد که برچسب ندارند. اگر به یک انسان این دادهها را نشان دهیم و بگوییم اینها را گروهبندی کن. میبیند دادهها دسته دسته شدهاند و کافی است دور آنها یک خط بکشد و تمام! هدفِ یک الگوریتم کلاسترینگ هم این است که با در نظر گرفتن ویژگیهای دادهها، آنها را مانند نمودار سمت راست، خوشه بندی کند.
-
کاهش بعد (Dimension Reduction)
کاهش بعد یکی دیگر از زیرمجموعههای یادگیری بدون ناظر است. الگوریتمهای این دسته به کاهش بُعد دادهها میپردازند. چون در یادگیری ماشین یک داده ممکن است چندین ویژگی (چندین بعد) داشته باشد. مثلا با کاهش بعد اگر بتوانیم یک داده را از 4 بعد به 2 کاهش دهیم، بسیار خوب است. چرا؟
به دو علت ممکن است بخواهیم ابعاد (یا همان تعداد ویژگیها) داده را کم کنیم.
- اگر بیش از سه بعد داشته باشیم، مسلما نمیتوانیم دادهها را نمایش دهیم. با استفاده از کاهش بعد میتوان بُعد دادهها را به سه یا دو بُعد کاهش داده و نمایش داد.
- برای فشرده کردن دادهها از کاهش بعد میتوان استفاده کرد. معمولا همه ویژگیهای داده مفید نیستند! یعنی این ویژگیها تاثیری در یادگیری مدل ندارند و اطلاعات خوبی برای حل مساله نیستند. برای ساده کردن مساله میتوان این ویژگیها را با استفاده از الگوریتمهای کاهش بعد، حذف کرد.
فشرده کردن دادهها فضای موردنیاز برای ذخیره دادهها را کم خواهد کرد. همچنین باعث افزایش سرعت الگوریتمهای یادگیری خواهد شد.
یادگیری تقویتی
به یادگیری تقویتی، یادگیری پاداش و جزا نیز گفته میشود. یادگیری تقویتی را شاید بتوان به آموزش یک حیوان خانگی شباهت داد! فرض کنید شما میخواهید به یک سگ نشستن یاد بدهید. هربار از او میخواهید که بنشیند. احتمالا اوایلِ آموزش اصلا نمیفهمد شما چه میگویید و شروع به بازیگوشی میکند. به محض اینکه بازیگوشی کند شما مجازاتش میکنید، مثلا داد میزنید “نه”!
هر بار که بازیگوشی کند، مجازات میشود. بنابراین او میفهمد که کار اشتباهی انجام داده است و دیگر آن را تکرار نمیکند. اما اگر او بنشیند، یک پاداش دریافت میکند، که میتواند غذای موردعلاقهاش باشد! بنابراین سگ میفهمد هرزمان که موقع گفتن کلمه “بشین”، بنشیند، غذای مورد علاقهاش را دریافت میکند. به این ترتیب یاد میگیرد که بنشیند!
-
بیان علمی یادگیری تقویتی
به بیان علمیتر میتوان یادگیری تقویتی را با نمودار زیر معرفی کرد:
- agent: یاد گیرنده و تصمیم گیرنده
- Action: مجموعه کارهایی که یک ایجنت میتواند انجام دهد.
- Environment: محیط، جایی که ایجنت یاد میگیرد و تصمیم میگیرد.
- State: وضعیت ایجنت در محیط
- Reward: پاداش
در یادگیری تقویتی، ایجنت مجموعه اکشنهایی را در محیط انجام میدهد. این اکشنها باید به گونهای انتخاب شوند که مقدار پاداشی که ایجنت دریافت میکند، ماکزیمم باشد. ویدئو زیر را ببینید:
در این ویدئو مشاهده میکنید که یک الگوریتم یادگیری ماشین، با کمک یادگیری تقویتی، یاد میگیرد که پکمن بازی کند! ایجنت در این بازی، آن موجود زردرنگ است.
هرگاه ایجنت، سکهها را بخورد، پاداش دریافت میکند (به امتیازش اضافه میشود). اما اگر به هرکدام از روحها برخورد کند، تنبیه خواهد شد (تمامی امتیازات از او گرفته میشود و بازی به پایان میرسد). فرآیند آموزش الگوریتم آنقدر تکرار میشود تا بر اساس پاداش و جزاها، شبکه یاد بگیرد که چطور بازی کند!
جمعبندی جلسه انواع یادگیری در یادگیری ماشین
در این جلسه انواع یادگیری در یادگیری ماشین را آموختید. سه روش یادگیری باناظر، بدون ناظر و تقویتی را بررسی کردیم. گفتیم که یادگیری باناظر دو زیر مجموعه دارد: رگرسیون و دسته بندی. یادگیری بدون ناظر هم دو زیر مجموعه دارد، کاهش بعد و خوشه بندی. از هرکدام از روشها هم مثالهایی آوردیم تا برایتان روشنتر شود. در جلسات آینده روشهای بدون ناظر و باناظر را بیشتر بررسی خواهیم کرد. امیدوارم که این آموزش مورد توجه شما قرار گرفته باشد. سوالات و نظرهای خود را برایمان کامنت کنید. منتظر جلسات بعدی یادگیری ماشین در هوسم باشید…
مطالب زیر را حتما مطالعه کنید
نرمال سازی داده در یادگیری ماشین
یادگیری گروهی
ماشین بردار پشتیبان
الگوریتم KNN
درخت تصمیم در یادگیری ماشین
جبرخطی در یادگیری ماشین
14 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
درود و سپاس بی پایان
واقعا مطالبتون رو زیبا و بی نقص بیان می کنید.از نحوه ارائه مفهومی و همه فهم شما بسیار ممنونم.مطالب پیچیده علمی روز رو چنان با مهارت و مسلط ارائه میکنید که بابابزرگها و مامان بزرگها هم بتونن بفهمن و این نشان دهنده تسلط وافر شما روی موضوع ارائه مطلب بیان شده هستش.
“انیشتین میگه اگر تونستی یک مطلب پیچیده رو به زبان ساده برای پدربزرگ و مادربزرگ بگی که اونا بفهمن معلومه مطلب رو فهمیدی”
خواهشا فهم عمیق تون رو با همه به اشتراک بذارید
ممنون بابت ارائه عالیتون ، موفق باشید خواهشا این مسیر رو برای ارائه مطالب بیشتر ادامه بدید
سپاس🌹
حتما، تلاشمون رو میکنیم.
سلام و درود
از تیم هوسم و استاد گرامی بسیار ممنونم برای ارائه عالی و حسن سلیقه در آموزش مطالب، خسته نباشید میگم به همه ی اعضای تیم. موفق و پیروز باشید در پناه حق
فقط می تونم بگم عاااالی هستید ، لطفا با همین روند ادامه بدید.
بیان مطالب با چاشنی طنز یکی از بهترین روش های آموزش است یکی دیگر از ویژگی های شما بیان مثال های ملموس و ایجاد ارتباط با مفاهیم نو است. کاش مطالب الکترونیک رو هم کسی با همین شیرینی وچاشنی طنز تدریس کنه.
خدا قوت
سلام
بسیار ممنون 🌹🙏
موفق باشید ✌
سلام از تیم هوسم بابت ارائه مطالب مفید با زبان ساده بسیار سپاسگزارم.. قطعا تهیه این متون ماحصل زحمات فراوانی است که باید قدردان مؤلفین و گردآورندگان آن بود..
سلام
از شما بابت پیام زیباتون بسیار ممنونیم. 🌹🙏
موفق باشید
بسیار زیبا و زبان ساده مفاهیم رو بیان میکنید.
سپاس
ممنون از شما بابت کامنت 🌹🙏
دمتون گرم به ساده ترین زبان مفهوم اصلی را به ذهن مخاطب می رسانید .
سلام
سپاس 🌹🙏
عالی
سلام،
سپاس🌹🙏