مهدی مشایخی هستم. برنامه نویس هوش مصنوعی و پایتون در زمینه یادگیری ماشینی و عمیق. به همه کمک میکنم تا با هم رشد کنیم! من در توییتر: https://twitter.com/Mashayekhi_AI
رگرسیون خطی - Linear Regression - مهدی مشایخی
رگرسیون خطی در یادگیری ماشین
رگرسیون خطی یکی از سادهترین و محبوب ترین الگوریتم های یادگیری ماشین است. این یک روش آماری است که برای تجزیه و تحلیل پیش بینی استفاده می شود. رگرسیون خطی پیش بینی هایی را برای متغیرهای پیوسته/واقعی یا عددی مانند فروش، حقوق، سن، قیمت محصول و غیره انجام می دهد.
الگوریتم رگرسیون خطی یک رابطه خطی بین یک متغیر وابسته (y) و یک یا چند متغیر مستقل (y) را نشان میدهد، از این رو رگرسیون خطی نامیده میشود. از آنجایی که رگرسیون خطی رابطه خطی را نشان می دهد، به این معنی که چگونگی تغییر مقدار متغیر وابسته را با توجه به مقدار متغیر مستقل پیدا می کند.
مدل رگرسیون خطی یک خط مستقیم شیب دار ارائه می دهد که نشان دهنده رابطه بین متغیرها است. تصویر زیر را در نظر بگیرید:
از نظر ریاضی، می توانیم یک رگرسیون خطی را به صورت زیر نمایش دهیم:
y= a 0 +a 1 x+ e
توضیح :
Y= متغیر وابسته (متغیر هدف)
X= متغیر مستقل (متغیر پیش بینی کننده)
a0= قطع خط (درجه آزادی اضافی می دهد)
a1 = ضریب رگرسیون خطی (ضریب مقیاس برای هر مقدار ورودی).
ε = خطای تصادفی
مقادیر متغیرهای x و y مجموعه داده های آموزشی برای نمایش مدل رگرسیون خطی هستند.
انواع رگرسیون خطی
رگرسیون خطی را می توان به دو نوع الگوریتم تقسیم کرد:
- رگرسیون خطی ساده:
اگر از یک متغیر مستقل برای پیشبینی مقدار یک متغیر وابسته عددی استفاده شود، به چنین الگوریتم رگرسیون خطی، رگرسیون خطی ساده میگویند. - رگرسیون خطی چندگانه:
اگر بیش از یک متغیر مستقل برای پیشبینی مقدار یک متغیر وابسته عددی استفاده شود، چنین الگوریتم رگرسیون خطی را رگرسیون خطی چندگانه میگویند.
خط رگرسیون خطی
خطی که رابطه بین متغیرهای وابسته و مستقل را نشان می دهد، خط رگرسیون نامیده می شود . یک خط رگرسیون می تواند دو نوع رابطه را نشان دهد:
- رابطه خطی مثبت:
اگر متغیر وابسته در محور Y افزایش یابد و متغیر مستقل در محور X افزایش یابد، چنین رابطه ای را رابطه خطی مثبت می نامند.
- رابطه خطی منفی:
اگر متغیر وابسته در محور Y کاهش یابد و متغیر مستقل در محور X افزایش یابد، به چنین رابطه ای رابطه خطی منفی می گویند.
پیدا کردن بهترین خط مناسب:
هنگام کار با رگرسیون خطی، هدف اصلی ما یافتن بهترین خط مناسب است که به این معنی است که خطا بین مقادیر پیشبینیشده و مقادیر واقعی باید به حداقل برسد. بهترین خط مناسب کمترین خطا را خواهد داشت.
مقادیر مختلف برای وزن ها یا ضریب خطوط (a 0 , a 1 ) خط رگرسیون متفاوتی را به دست می دهد، بنابراین ما باید بهترین مقادیر را برای 0 و 1 محاسبه کنیم تا بهترین خط مناسب را پیدا کنیم، بنابراین برای محاسبه این مقدار باید استفاده از تابع هزینه
تابع هزینه
- مقادیر مختلف وزن یا ضریب خطوط (a 0 , a 1 ) خط رگرسیون متفاوتی را نشان می دهد و تابع هزینه برای تخمین مقادیر ضریب برای بهترین خط مناسب استفاده می شود.
- تابع هزینه ضرایب یا وزن های رگرسیون را بهینه می کند. نحوه عملکرد یک مدل رگرسیون خطی را اندازه گیری می کند.
- ما می توانیم از تابع هزینه برای یافتن دقت تابع نگاشت استفاده کنیم که متغیر ورودی را به متغیر خروجی نگاشت می کند. این تابع نگاشت با نام تابع فرضیه نیز شناخته می شود.
برای رگرسیون خطی، از تابع هزینه میانگین مربعات خطا (MSE) استفاده می کنیم، که میانگین مربعات خطای رخ داده بین مقادیر پیش بینی شده و مقادیر واقعی است. می توان آن را به صورت زیر نوشت:
برای معادله خطی بالا، MSE را می توان به صورت زیر محاسبه کرد:
N = تعداد کل مشاهده
Yi = مقدار واقعی
(a1x i +a 0) = مقدار پیش بینی شده.
باقیمانده ها: فاصله بین مقدار واقعی و مقادیر پیش بینی شده باقیمانده نامیده می شود. اگر نقاط مشاهده شده از خط رگرسیون دور باشند، پسماند بالا خواهد بود و بنابراین تابع هزینه بالا خواهد بود. اگر نقاط پراکندگی نزدیک به خط رگرسیون باشد، پسماند کوچک خواهد بود و در نتیجه تابع هزینه خواهد بود.
گرادیان نزول:
- گرادیان نزولی برای به حداقل رساندن MSE با محاسبه گرادیان تابع هزینه استفاده می شود.
- یک مدل رگرسیون از شیب نزولی برای به روز رسانی ضرایب خط با کاهش تابع هزینه استفاده می کند.
- این کار با انتخاب تصادفی مقادیر ضریب انجام میشود و سپس بهطور مکرر مقادیر را برای رسیدن به تابع حداقل هزینه بهروزرسانی میکند.
عملکرد مدل:
خوب بودن تناسب تعیین می کند که چگونه خط رگرسیون با مجموعه مشاهدات مطابقت دارد. فرآیند یافتن بهترین مدل از بین مدل های مختلف بهینهسازی نامیده می شود. با روش زیر قابل دستیابی است:
1. روش مربع R:
- R-squared یک روش آماری است که خوب بودن تناسب را تعیین می کند.
- قدرت رابطه بین متغیرهای وابسته و مستقل را در مقیاس 0-100 درصد اندازه گیری می کند.
- مقدار بالای R-square تفاوت کمتر بین مقادیر پیش بینی شده و مقادیر واقعی را تعیین می کند و از این رو مدل خوبی را نشان می دهد.
- به آن ضریب تعیین یا ضریب تعیین چندگانه برای رگرسیون چندگانه نیز گفته می شود.
- از فرمول زیر قابل محاسبه است:
مفروضات رگرسیون خطی
در زیر برخی از مفروضات مهم رگرسیون خطی آورده شده است. اینها برخی از بررسیهای رسمی هنگام ساخت یک مدل رگرسیون خطی هستند که تضمین میکند بهترین نتیجه ممکن را از مجموعه دادههای داده شده به دست آورید.
- رابطه خطی بین ویژگی ها و هدف:
رگرسیون خطی رابطه خطی بین متغیرهای وابسته و مستقل را فرض می کند. - چند خطی بودن بین ویژگی ها کم یا بدون: چند خطی بودن
به معنای همبستگی زیاد بین متغیرهای مستقل است. به دلیل چند خطی بودن، یافتن رابطه واقعی بین متغیرهای پیش بینی و هدف ممکن است دشوار باشد. یا میتوان گفت، تعیین اینکه کدام متغیر پیشبینیکننده بر متغیر هدف تأثیر میگذارد و کدام نه، دشوار است. بنابراین، مدل چند خطی بودن کمی بین ویژگیها یا متغیرهای مستقل را فرض میکند. - فرض Homoscedasticity:
Homoscedasticity وضعیتی است که عبارت خطا برای همه مقادیر متغیرهای مستقل یکسان باشد. با homoscedasticity، نباید توزیع الگوی واضحی از داده ها در نمودار پراکندگی وجود داشته باشد. - توزیع نرمال عبارات خطا:
رگرسیون خطی فرض می کند که عبارت خطا باید از الگوی توزیع نرمال پیروی کند. اگر عبارات خطا به طور معمول توزیع نشوند، فواصل اطمینان یا خیلی گسترده یا خیلی باریک خواهند شد، که ممکن است در یافتن ضرایب مشکل ایجاد کند.
می توان آن را با استفاده از نمودار qq بررسی کرد . اگر نمودار یک خط مستقیم را بدون انحراف نشان دهد، به این معنی است که خطا به طور معمول توزیع شده است. - بدون خود همبستگی:
مدل رگرسیون خطی هیچ خودهمبستگی را از نظر خطا فرض نمی کند. اگر در عبارت خطا همبستگی وجود داشته باشد، دقت مدل را به شدت کاهش می دهد. خودهمبستگی معمولاً در صورتی رخ می دهد که بین خطاهای باقیمانده وابستگی وجود داشته باشد.
وبسایت من : اینجا کلیک کنید.
لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.
آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.
آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.
انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@
منبع : https://www.javatpoint.com/linear-regression-in-machine-learning
مطلبی دیگر از این انتشارات
راهنمای سریع کار با گیت
مطلبی دیگر از این انتشارات
شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۵
مطلبی دیگر از این انتشارات
شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۷