در واقع بیشتر الگوریتمهای یادگیری ماشین از حوزههای مختلف و عمدتا از امار قرض گرفته شدهاند. هر چیزی که بتواند به مدل ها در پیش بینی بهتر کمک کند در نهایت بخشی از میلی لیتر خواهد شد. بنابراین به جرات می توان گفت که رگرسیون خطی هم یک الگوریتم یادگیری ماشین است و هم یک الگوریتم یادگیری ماشین.
رگرسیون خطی یک الگوریتم محبوب و بدون عارضه است که در علوم داده و یادگیری ماشین استفاده می شود. این یک الگوریتم یادگیری تحت نظارت و ساده ترین شکل رگرسیون است که برای مطالعه رابطه ریاضی بین متغیرها استفاده می شود.
رگرسیون خطی است?
رگرسیون خطی یک روش اماری است که سعی در نشان دادن رابطه بین متغیرها دارد. به نقاط مختلف داده نگاه می کند و یک خط روند را ترسیم می کند. یک مثال ساده از رگرسیون خطی این است که هزینه تعمیر یک قطعه ماشین با گذشت زمان افزایش می یابد.
به طور دقیق تر از رگرسیون خطی برای تعیین شخصیت و قدرت ارتباط بین یک متغیر وابسته و یک سری متغیرهای مستقل دیگر استفاده می شود. این به ایجاد مدل هایی برای پیش بینی مانند پیش بینی قیمت سهام شرکت کمک می کند.
قبل از تلاش برای جا دادن یک مدل خطی با مجموعه داده های مشاهده شده باید ارزیابی کرد که بین متغیرها رابطه وجود دارد یا خیر. البته این بدان معنا نیست که یک متغیر باعث متغیر دیگر می شود اما باید بین متغیرها همبستگی قابل مشاهده ای وجود داشته باشد.
مثلا, نمرات کالج بالاتر لزوما به معنای یک بسته حقوق و دستمزد بالاتر. اما می تواند ارتباطی بین این دو متغیر وجود داشته باشد.
شما می دانید? اصطلاح " خطی " به معنای شبیه شدن به یک خط یا مربوط به خطوط است.
ایجاد نمودار پراکندگی برای تعیین قدرت رابطه بین متغیرهای توضیحی (مستقل) و وابسته مناسب است. اگر نمودار پراکندگی هیچ روند افزایشی یا کاهشی را نشان ندهد استفاده از مدل رگرسیون خطی برای مقادیر مشاهده شده ممکن است سودمند نباشد.
از ضرایب همبستگی برای محاسبه میزان قوی بودن رابطه بین دو متغیر استفاده می شود. معمولا با نشان داده می شود ر و دارای مقداری بی ن-1 و 1 است. مقدار ضریب همبستگی مثبت نشان دهنده رابطه مثبت بین متغیرها است. به همین ترتیب یک مقدار منفی نشان دهنده رابطه منفی بین متغیرها است.
نکته: تجزیه و تحلیل رگرسیون را فقط در صورتی انجام دهید که ضریب همبستگی مثبت یا منفی 0.50 یا بیشتر باشد.
اگر شما در رابطه بین زمان مطالعه و نمرات دنبال شد, شما احتمالا می خواهم یک رابطه مثبت را ببینید. از سوی دیگر, اگر شما در رابطه بین زمان در رسانه های اجتماعی و نمرات نگاه, شما به احتمال زیاد یک رابطه منفی را ببینید.
در اینجا "نمرات" متغیر وابسته است و زمان صرف شده برای مطالعه یا رسانه های اجتماعی متغیر مستقل است. این به این دلیل است که نمرات به میزان زمانی که برای مطالعه صرف می کنید بستگی دارد.
اگر شما می توانید ایجاد (حداقل) ارتباط متوسط بین متغیرها از طریق هر دو نمودار پراکندگی و ضریب همبستگی, سپس متغیرهای گفت: نوعی از یک رابطه خطی.
به طور خلاصه رگرسیون خطی با استفاده از یک معادله خطی به داده های مشاهده شده سعی در مدل سازی رابطه بین دو متغیر دارد. یک خط رگرسیون خطی را می توان با استفاده از معادله یک خط مستقیم نشان داد:
ی = مکس + ب
در این معادله رگرسیون خطی ساده:
- بله متغیر وابسته تخمینی است (یا خروجی)
- متر ضریب رگرسیون (یا شیب)است
- ایکس متغیر مستقل (یا ورودی)است
- ب ثابت است (یا بله رهگیری)
یافتن رابطه بین متغیرها امکان پیش بینی مقادیر یا نتایج را فراهم می کند. به عبارت دیگر رگرسیون خطی امکان پیش بینی مقادیر جدید را بر اساس داده های موجود فراهم می کند.
یک مثال می تواند پیش بینی عملکرد محصول بر اساس بارندگی دریافتی باشد. در این حالت بارندگی متغیر مستقل و عملکرد محصول (مقادیر پیش بینی شده) متغیر وابسته است.
از متغیرهای مستقل به عنوان متغیرهای پیش بینی کننده نیز یاد می شود . متغیرهای وابسته نیز به عنوان متغیرهای پاسخ شناخته می شوند .
اصطلاحات کلیدی در رگرسیون خطی
درک تجزیه و تحلیل رگرسیون خطی همچنین به معنای شناخت دسته ای از اصطلاحات جدید است. اگر به تازگی وارد دنیای امار یا یادگیری ماشین شده اید, داشتن درک منصفانه از این اصطلاحات مفید خواهد بود.
- متغیر: هر تعداد کمیت یا مشخصه است که می تواند شمارش یا اندازه گیری است. این نیز یک مورد داده نامیده می شود. درامد, سن, سرعت, و جنس نمونه هستند.
- ضریب: این یک عدد (معمولا یک عدد صحیح) است که با متغیر کنارش ضرب می شود. به عنوان مثال در 7 برابر عدد 7 ضریب است.
- نقاط پرت: اینها نقاط داده ای هستند که تفاوت قابل توجهی با بقیه دارند.
- کوواریانس: جهت رابطه خطی بین دو متغیر. به عبارت دیگر درجه ارتباط خطی دو متغیر را محاسبه می کند.
- چند متغیره: این بدان معنی است که شامل دو یا چند متغیر وابسته است که منجر به یک نتیجه واحد می شود.
- باقیمانده: تفاوت بین مقادیر مشاهده شده و پیش بینی شده متغیر وابسته.
- تنوع: عدم ثبات یا میزان فشرده یا کشیده شدن توزیع.
- خطی بودن: خاصیت یک رابطه ریاضی که ارتباط نزدیکی با تناسب دارد و می تواند به صورت گرافیکی به عنوان یک خط مستقیم نشان داده شود.
- تابع خطی: تابعی است که نمودارش یک خط مستقیم است.
- همخوانی: همبستگی بین متغیرهای مستقل به گونه ای است که در یک مدل رگرسیون رابطه خطی از خود نشان می دهند.
- انحراف معیار: اندازه گیری پراکندگی یک مجموعه داده نسبت به میانگین است. به عبارت دیگر این اندازه گیری چگونه گسترش اعداد است.
- خطای استاندارد: انحراف تقریبی جمعیت نمونه. برای اندازه گیری تنوع استفاده می شود.
انواع رگرسیون خطی
دو نوع رگرسیون خطی وجود دارد: رگرسیون خطی ساده و رگرسیون خطی چندگانه .
روش رگرسیون خطی ساده سعی می کند رابطه بین یک متغیر مستقل واحد و یک متغیر وابسته مربوطه را پیدا کند. متغیر مستقل ورودی است و متغیر وابسته مربوطه خروجی است.
نکته: شما می توانید رگرسیون خطی را در زبان های برنامه نویسی و محیط های مختلف از جمله پایتون و متلب و اکسل پیاده سازی کنید.
روش رگرسیون خطی چندگانه سعی در یافتن رابطه بین دو یا چند متغیر مستقل و متغیر وابسته مربوطه دارد. همچنین یک مورد خاص از رگرسیون خطی چندگانه به نام رگرسیون چند جمله ای وجود دارد.
یک مدل رگرسیون خطی ساده تنها یک متغیر مستقل دارد در حالی که یک مدل رگرسیون خطی چندگانه دو یا چند متغیر مستقل خواهد داشت. و بله, دیگر روش های رگرسیون غیر خطی مورد استفاده برای تجزیه و تحلیل داده ها بسیار پیچیده وجود دارد.
رگرسیون لجستیک در مقابل رگرسیون خطی
در حالی که رگرسیون خطی متغیر وابسته پیوسته را برای مجموعه معینی از متغیرهای مستقل پیش بینی می کند, رگرسیون لجستیک متغیر وابسته طبقه ای را پیش بینی می کند.
هر دو روش یادگیری تحت نظارت هستند. اما در حالی که رگرسیون خطی برای حل مشکلات رگرسیون استفاده می شود, رگرسیون لجستیک برای حل مشکلات طبقه بندی استفاده می شود.
البته رگرسیون لجستیک می تواند مشکلات رگرسیون را حل کند اما عمدتا برای مشکلات طبقه بندی استفاده می شود. خروجی فقط می تواند 0 یا 1 باشد. این در شرایطی ارزشمند است که شما باید احتمالات بین دو کلاس را تعیین کنید یا به عبارت دیگر احتمال وقوع یک رویداد را محاسبه کنید. برای مثال می توان از رگرسیون لجستیک برای پیش بینی اینکه امروز باران می بارد استفاده کرد.
فرضیات رگرسیون خطی
در حالی که با استفاده از رگرسیون خطی به مدل رابطه بین متغیرهای, ما را به چند فرض. مفروضات شرایط لازم است که باید قبل از استفاده از یک مدل برای پیش بینی ها رعایت شود.
به طور کلی چهار فرض مرتبط با مدل های رگرسیون خطی وجود دارد:
- رابطه خطی: بین متغیر مستقل یک رابطه خطی وجود دارد ایکس و متغیر وابسته بله .
- استقلال: باقیمانده ها مستقل هستند. هیچ ارتباطی بین باقیمانده های متوالی در داده های سری زمانی وجود ندارد.
- همجنسگرایی: باقیمانده ها در همه سطوح واریانس برابر دارند.
- نرمال بودن: باقیمانده ها به طور معمول توزیع می شوند.
روش های حل مدل های رگرسیون خطی
یادگیری یک مدل رگرسیون خطی به معنای حدس زدن مقادیر ضرایب با استفاده از داده های موجود است. چندین روش را می توان برای مدل رگرسیون خطی به کار برد تا کارایی بیشتری داشته باشد.
نکته: از نرم افزار یادگیری ماشین برای از بین بردن وظایف یکنواخت و پیش بینی های دقیق استفاده کنید.
بیایید به تکنیک های مختلفی که برای حل مدل های رگرسیون خطی استفاده می شود نگاه کنیم تا تفاوت ها و معاملات خود را درک کنیم.
رگرسیون خطی ساده
همانطور که قبلا ذکر شد یک ورودی واحد یا یک متغیر مستقل و یک متغیر وابسته در رگرسیون خطی ساده وجود دارد . برای یافتن بهترین رابطه بین دو متغیر با توجه به اینکه ماهیت پیوسته دارند استفاده می شود. به عنوان مثال می توان برای پیش بینی میزان افزایش وزن بر اساس کالری مصرفی استفاده کرد.
حداقل مربعات معمولی
رگرسیون حداقل مربعات معمولی روش دیگری برای تخمین مقدار ضرایب در صورت وجود بیش از یک متغیر یا ورودی مستقل است. این یکی از رایج ترین روش ها برای حل رگرسیون خطی است و همچنین به عنوان یک معادله طبیعی شناخته می شود .
این روش سعی می کند مجموع باقیمانده های مربع را به حداقل برساند. این داده ها را به عنوان یک ماتریس در نظر می گیرد و از عملیات جبر خطی برای تعیین مقادیر بهینه برای هر ضریب استفاده می کند. البته این روش تنها در صورتی قابل استفاده است که به همه داده ها دسترسی داشته باشیم و همچنین باید حافظه کافی برای تناسب داده ها وجود داشته باشد.
نزول گرادیان
نزول گرادیان یکی از ساده ترین و متداول ترین روش ها برای حل مشکلات رگرسیون خطی است. زمانی مفید است که یک یا چند ورودی وجود داشته باشد و شامل بهینه سازی مقدار ضرایب با به حداقل رساندن خطای مدل به صورت تکراری باشد.
نزول گرادیان با مقادیر تصادفی برای هر ضریب شروع می شود. برای هر جفت مقادیر ورودی و خروجی مجموع خطاهای مربع محاسبه می شود. از یک عامل مقیاس به عنوان میزان یادگیری استفاده می کند و هر ضریب در جهت به حداقل رساندن خطا به روز می شود.
این روند تکرار می شود تا زمانی که هیچ پیشرفت دیگری امکان پذیر نباشد یا حداقل مجموع مربعات حاصل شود. نزول گرادیان زمانی مفید است که یک مجموعه داده بزرگ وجود داشته باشد که شامل تعداد زیادی ردیف و ستون باشد که در حافظه جا نمی شوند.
منظم سازی
منظم سازی روشی است که سعی در به حداقل رساندن مجموع خطاهای مربع یک مدل و در عین حال کاهش پیچیدگی مدل دارد. با استفاده از روش حداقل مربعات معمولی مجموع خطاهای مربع را کاهش می دهد.
رگرسیون لاسو و رگرسیون ریج دو نمونه معروف منظم سازی در رگرسیون خطی هستند. این روشها زمانی ارزشمند هستند که در متغیرهای مستقل همخوانی وجود داشته باشد.
روش ادام
تخمین لحظه تطبیقی یک الگوریتم بهینهسازی است که در یادگیری عمیق مورد استفاده قرار میگیرد. این یک الگوریتم تکراری است که در داده های پر سر و صدا عملکرد خوبی دارد. این ساده برای پیاده سازی, محاسباتی موثر, و حداقل حافظه مورد نیاز.
دو الگوریتم شیب نزولی را با هم ترکیب می کند – میانگین انتشار مربع و نزول گرادیان تطبیقی . به جای استفاده از کل مجموعه داده برای محاسبه گرادیان, ادام با استفاده از زیر مجموعه به صورت تصادفی انتخاب شده را به یک تقریب تصادفی.
ادام برای مشکلات مربوط به تعداد زیادی پارامتر یا داده مناسب است. همچنین در این روش بهینهسازی هایپرپارامترها عموما نیاز به تنظیم کمینه دارند و تفسیر شهودی دارند.
تجزیه مقدار منفرد
تجزیه مقدار تکین یا اسویدی یک روش کاهش ابعاد متداول در رگرسیون خطی است. این یک مرحله پیش پردازش است که تعداد ابعاد الگوریتم یادگیری را کاهش می دهد.
اس وی دی شامل شکستن یک ماتریس به عنوان محصول سه ماتریس دیگر است. این مناسب برای داده های با ابعاد بالا و موثر و پایدار برای مجموعه داده های کوچک است. به دلیل پایداری یکی از روش های مورد علاقه برای حل معادلات خطی برای رگرسیون خطی است. با این حال, این مستعد ابتلا به نقاط پرت است و ممکن است با یک مجموعه داده بزرگ ناپایدار شود.
تهیه داده ها برای رگرسیون خطی
داده های دنیای واقعی در بیشتر موارد ناقص هستند.
تهیه و پیش پردازش داده ها مانند هر مدل یادگیری ماشین دیگر یک فرایند حیاتی در رگرسیون خطی است. وجود خواهد داشت ارزش های از دست رفته, اشتباهات, پرت, تناقضات, و عدم ارزش ویژگی.
در اینجا چند راه برای حساب کردن داده های ناقص و ایجاد یک مدل پیش بینی قابل اطمینان تر وجود دارد.
- رگرسیون خطی فکر می کند که متغیرهای پیش بینی کننده و پاسخ پر سر و صدا نیستند. به همین دلیل حذف نویز با چندین عملیات پاکسازی داده بسیار مهم است. در صورت امکان باید پرت های موجود در متغیر خروجی را حذف کنید.
- اگر متغیرهای ورودی و خروجی توزیع گاوسی داشته باشند رگرسیون خطی پیشبینیهای بهتری خواهد داشت.
- اگر شما در مقیاس مجدد متغیرهای ورودی با استفاده از نرمال و یا استاندارد, رگرسیون خطی به طور کلی پیش بینی بهتر خواهد شد.
- اگر بسیاری از ویژگی های وجود دارد, شما نیاز به تبدیل داده ها به یک رابطه خطی .
- اگر متغیرهای ورودی بسیار همبسته باشند, سپس رگرسیون خطی داده ها را بیش از حد مناسب می کند. در چنین مواردی حذف هم خطی .
مزایا و معایب رگرسیون خطی
رگرسیون خطی یکی از پیچیده ترین الگوریتم ها برای درک و ساده ترین پیاده سازی است. این یک ابزار عالی برای تجزیه و تحلیل روابط بین متغیرها است.
در اینجا برخی از مزایای قابل توجه رگرسیون خطی وجود دارد:
- این یک الگوریتم به دلیل سادگی است.
- اگرچه مستعد نصب بیش از حد است اما با کمک تکنیک های کاهش ابعاد می توان از این امر جلوگیری کرد.
- این تفسیر خوبی دارد.
- در مجموعه داده های قابل تفکیک خطی عملکرد خوبی دارد.
- پیچیدگی فضا کم است بنابراین یک الگوریتم تاخیر بالا است.
با این حال, رگرسیون خطی به طور کلی برای اکثر کاربردهای عملی توصیه نمی شود. این به این دلیل است که مشکلات دنیای واقعی را با فرض یک رابطه خطی بین متغیرها ساده می کند.
در اینجا برخی از معایب رگرسیون خطی وجود دارد:
- پرت ها می توانند اثرات منفی بر رگرسیون داشته باشند
- چون برای تناسب با یک مدل خطی باید بین متغیرها رابطه خطی وجود داشته باشد فرض بر این است که بین متغیرها رابطه خطی وجود دارد
- این درک می کند که داده ها به طور معمول توزیع می شوند
- همچنین رابطه بین میانگین متغیرهای مستقل و وابسته را بررسی می کند
- رگرسیون خطی توصیف کاملی از روابط بین متغیرها نیست
- وجود همبستگی زیاد بین متغیرها می تواند به طور قابل توجهی بر عملکرد یک مدل خطی تاثیر بگذارد
ابتدا مشاهده کنید و سپس پیش بینی کنید
در رگرسیون خطی ارزیابی اینکه متغیرها رابطه خطی دارند یا خیر بسیار مهم است. اگر چه برخی از افراد سعی می کنند بدون نگاه کردن به روند پیش بینی کنند بهتر است اطمینان حاصل شود که همبستگی نسبتا قوی بین متغیرها وجود دارد.
همانطور که قبلا ذکر شد بررسی نمودار پراکندگی و ضریب همبستگی روشهای بسیار خوبی هستند. و بله, حتی اگر همبستگی بالا است, هنوز هم بهتر است در طرح پراکندگی نگاه. به اختصار, اگر داده بصری خطی است, سپس تجزیه و تحلیل رگرسیون خطی امکان پذیر است.
در حالی که رگرسیون خطی شما اجازه می دهد ارزش یک متغیر وابسته را پیش بینی کند, یک الگوریتم است که طبقه بندی نقاط داده های جدید و یا پیش بینی ارزش های خود را با نگاه کردن به همسایگان خود وجود دارد. این الگوریتم ک-نزدیکترین همسایگان نامیده می شود و یک یادگیرنده تنبل است.
یادگیری ماشین: اصول
در مورد یادگیری ماشین بیشتر بدانید, شاخه ای از هوش مصنوعی که بر ساخت برنامه های کاربردی تمرکز دارد که از تجربه یاد می گیرند و بهبود می یابند.
امل یک تحلیلگر تحقیقاتی در گروه 2 است که در مورد امنیت سایبری, بلاکچین, و فضای یادگیری ماشین تحقیق می کند. او مجذوب ذهن انسان است و امیدوار است روزی به طور کامل رمزگشایی کند. در اوقات فراغت او می توانید او را در حال خواندن کتاب یا وسواس در مورد فیلم های علمی تخیلی یا مبارزه با میل به داشتن یک تکه پیتزا پیدا کنید.
یادگیری ماشین: اصول
در مورد یادگیری ماشین بیشتر بدانید, شاخه ای از هوش مصنوعی که بر ساخت برنامه های کاربردی تمرکز دارد که از تجربه یاد می گیرند و بهبود می یابند.