فرق بین کلاسبندی و رگرسیون


فرق کلاسبندی و رگرسیون

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

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

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

کلاسبندی

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

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

برای درک بهتر موضوع یک مثال ساده میزنیم، فرض کنید در یک کارخانه از شما خواسته شده است که یک سیستمی طراحی کنید که بتواند ماهی سالمون(salmon) و خاردار (sea bass) را از هم جدا کرده و در بسته های جدا قرار دهد.

کلاسبندی ماهی ها

پروسه کار به این صورت است که قرار است ماهی ها از یک از طرف نوار نقاله وارد شوند و در طرف دیگر ماشین ما ماهی ها را جدا کند.

فرآیند کلاس بندی ماهی

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

فرض کنید ما  عرض و شدت روشنایی ماهی را به عنوان ویژگی از ماهیها استخراج کنیم.

ویژگی های ماهی در کلاس بندی

از آنجا که داده ها دو بعدی هستند و ما تنها دو تا ویژگی استخراج کردیم میتوانیم در فضای دو بعدی رسم کنیم. اگر ماهی های سالمون را با رنگ سبز و ماهی ها sea bass را با رنگ زرد نمایش دهیم شکل زیر بدست خواهد آمد:

کلاس بندی خطی

همانطور که مشاهده می کنید ما با استفاده از یک خط میتوانیم ماهی‌های دو کلاس را با یک خط از هم تفکیک کنیم.

در واقع رابطه بین و ورودی و خروجی یک خط است که در پروسه آموزش بدست می آید، حال در عمل یک ماهی وارد سیستم می شود و دو ویژگی عرض و شدت روشنایی آن استخراج می شود، اگر سمت راست خط قرار بگیرد بازوی رباتیکی ماهی را در دسته سالمون و اگر در سمت چپ نمودار قرار گیرد ماهی را در دسته sea bass قرار خواهد داد.

در واقع اینجا خروجی ما دو حالت هست(0-1 ، salmon یا sea bass و هر اسم دیگری )، که یک مقدار گسسته می نامیم. برای انجام چنین پروژه هایی از الگوریتمهای کلاسبندی استفاده می کنیم. حال اگر نوع ماهی‌ها زیاد شود، به جای یک خط چند خط خواهیم داشت، باز ماهی در یکی از حالت ها قرار خواهد گرفت که یک مقدار گسسته است.

پیش‌بینی قیمت مسکن:

تخمین افزایش قیمت خانه

بگذارید یک مثال دیگه ای بزنم، فرض کنید پدر شما یک خانه ای دارد و از شما خواسته است که آن را به فروش برسانید منتهی از قبل میخواهد بداند که قیمت خانه شما جزء دسته ارزان قیمت یا گران قیمت است. شما برای کمک به پدرتان میروید سراغ خانه هایی که در چند ماه اخیر به فروش رسیده اند.

یک سری پارامتر برای تمام خانه ها در نظر می گیرید یک مجموع داده می سازید.

فرض کنید پارارمترهای زیر را برای هر خانه استخراج می کنید:

  • قدیم ساخت یا نوساخت (0-1)
  • متراژ خانه(برحسب متر)
  • منطقه ای که خانه ها قرار دارند(1-22)
  • تعداد اتاق خواب
  • تجهیزات ساختمان

برای هر خانه شما ویژگی های بالا را استخراج می کنید و براساس قیمتی که آنها به فروش رسیده اند، تعیین میکنید که ارزان قیمت (0) یا گران قیمت (1) بوده اند.

پیش بینی قیمت خانه

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

رگرسیون:

در رگرسیون نیز ما هدفمان پیدا کردن رابطه بین ورودی و خروجی می باشد با این تفاوت که اینجا خروجی های ما یک مقدار گسسته نیستند و میتواند هر مقدار پیوسته ای باشد.

 برای درک بهتر مسئله مثال قبل را در نظر بگیرید، حال صورت مسئله این است که پدرتان از شما می خواهد که پیش‌بینی کنید خانه شما با امکاناتی که دارد به چه قیمتی فروش خواهد رفت؟!

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

پیش بینی قیمت خانه

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

مدل پیش بینی قیمت خانه

موفق باشید.



دیدگاه ها

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

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

code

5 دیدگاه

  1. سجاد

    بسیار عالی بود خدا خیرتون بده واقعا

    • mohammad_1369

      خواهش میکنم. ممنون از توجه شما

  2. ناشناس

    سلام و سپاس. بسیار آموزنده است. به‌ویژه نمونه‌های کاربردی و نوی که زمینه را به خوبی، روشن کرده است. بهروز باشید

  3. ز.ق.

    سلام و سپاس. بسیار آموزنده است. به‌ویژه نمونه‌های کاربردی و نوی که زمینه را به خوبی روشن نموده است. بهروز باشید

  4. سانتا

    مرسي واقعا، خوب بود