پیاده‌سازی رگرسیون چندجمله‌ ای با پایتون از پایه

بفرست برای دوستت
Telegram
WhatsApp
پیاده‌سازی رگرسیون چندجمله‌ ای با پایتون از پایه

فهرست مطالب

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

 

پیش‌نیازها

1- رگرسیون خطی (Linear Regression)

2- گرادیان کاهشی (Gradient Descent)

 

مقدمه

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

اول از همه بیایید رگرسیون خطی را روی داده‌های غیرخطی امتحان کنیم تا به اهمیت و نیاز به وجود رگرسیون چند جمله‌ای (Polynomial Regression) پی ببریم. مدل رگرسیون خطی که در این مقاله استفاده می‌شود، از کتابخانه sklearn برداشته شده است. برای درک نحوه پیاده‌سازی این مدل رگرسیون خطی، می‌توانید به مقاله جداگانه‌ای مراجعه کنید. 

رگرسیون خطی 

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

برای رگرسیون خطی تک متغیره:

h(x) = w * x

در اینجا، x بردار ویژگی است.

و w بردار وزن است.

این مشکل همچنین به عنوان “کم‌برازش” (underfitting) شناخته می‌شود. برای غلبه بر مشکل کم‌برازش، ما با افزودن توان به بردار ویژگی اصلی، بردار ویژگی جدیدی را معرفی می‌کنیم.

پس برای رگرسیون چندجمله‌ای تک متغیره به این شکل تغییر می کند:

h(x) = w1x + w2x² + … + wnxⁿ

در اینجا، w بردار وزن است.

که در آن ویژگی به‌دست‌آمده از x است.

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

ما همچنین X را پیش از ورود به مدل نرمالیزه می‌کنیم تا از مشکلات ناپدید شدن (Vanishing) و انفجار گرادیان (Exploding) جلوگیری کنیم.

رگرسیون خطی

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

 

مراجعه به لینک کد اجرا شده در Colab:

Colab

لیست دروس دوره

آموزش پیشنهادی و مکمل

اگر سوالی در مورد این درس دارید، در کادر زیر بنویسید.

اشتراک در
اطلاع از
guest


0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها