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

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

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

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

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

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

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

الگوریتم‌های یادگیری نظارت‌شده، به دو دسته طبقه‌بندی (classification) و رگرسیون (regression) دسته‌بندی می‌شوند. هر دو دسته‌ی طبقه‌بندی و رگرسیون به داده‌های برچسب خورده نیاز دارند و الگوریتم پیش‌بینی آن‌ها را یاد می‌گیرد. اما این برچسب‌ها، کمی با هم تفاوت دارند که در ادامه بیشتر با این تفاوت‌ها آشنا می‌شویم.

طبقه‌بندی

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

فیلتر اسپم

مثال:‌ کشاورز خوش‌ذوق

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

رگرسیون

در رگرسیون، هدف ما تخمین مقدار یک ویژگی (این بار مقداری پیوسته) برای یک نمونه می‌باشد. این الگوریتم‌ها برای پیش‌بینی روند بازار، قیمت خانه و دیگر مثال‌ها به کار می‌روند.

به طور مثال، برای پیش‌بینی قیمت خانه، می‌توان از اطلاعات خانه‌های دیگر برای تخمین قیمت یک خانه استفاده کرد. ویژگی‌هایی مانند متراژ، تعداد اتاق، پارکینگ داشتن یا نداشتن، حیاط داشتن یا نداشتن و دیگر ویژگی‌های تاثیرگذار بر قیمت یک خانه، می‌توانند به عنوان اطلاعات ورودی به الگوریتم داده شوند.

در مدل زیر، فقط از متراژ خانه‌ها برای ساخت مدل یادگیری ماشین استفاده شده‌است. هر نقطه یک خانه را نشان می‌دهد. برای مثال، خانه ۵۰ متری ۲.۵ میلیارد تومان ارزش دارد. از نظر مدل ما، خانه ۳۰۰ متری که قیمت آن مشخص نیست، ۱۵ میلیارد تومان ارزش دارد.

کلاسبند سیب

تفاوت طبقه‌بندی و رگرسیون

همان‌طور که دیدید هر دو دسته یاد می‌گیرند تا برچسب داده‌ها را پیش‌بینی کنند و تنها تفاوت میان این دو دسته، به نوع این برچسب بستگی دارد. در الگوریتم‌های طبقه‌بندی برچسبی که می‌خواهیم پیش‌بینی کنیم به صورت متغیری گسسته می‌باشد.

مثال: متغیر گسسته

متغیرهایی مانند مرد یا زن بودن، عددهای صحیح بین یک تا پنج (۱،۲،۳،۴،۵) و اسپم بودن ایمیل یا نبودن آن، از این دسته هستند.

در الگوریتم‌های رگرسیونی، برخلاف طبقه‌بندی، برچسبی که می‌خواهیم پیش‌بینی کنیم به صورت متغیری پیوسته است.

مثال: متغیر پیوسته

متغیرهایی مانند قیمت و دما، پیوسته هستند.

برای مطالعه مقاله یادگیری بدون نظارت بر روی لینک کلیک کنید

امیرحسین باقری

امیرحسین باقری هستم عاشق برنامه نویسی مخصوصا با python و همینطور طراح قالب و متخصص فرانت اند؛ از دانشی که تو این مدت بدست آوردم میشه به HTML, CSS, Bootstrap, Flexbox, SASS, Python, Django, DRF و هوش مصنوعی اشاره کرد.
دکمه بازگشت به بالا