رگرسیون چندمتغیره

ساختار ریاضی مسئله

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

تخمین پارامتر بهینه از روش کمترین مربعات

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

تخمین پارامتر بهینه از روش گرادیان کاهشی تصادفی (Stochastic Gradient Descent)

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

تفسیر احتمالی از طریق درست نمایی بیشینه

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

تنظیم مدل (Regularization)

پیچیدگی مدل‌های پارامتری با تعداد پارامترهای مدل و مقادیر آن‌ها سنجیده می‌شود. هرچه این پیچیدگی بیشتر باشد خطر بیش‌برازش (Overfitting) برای مدل بیشتر است. پدیده بیش‌برازش زمانی رخ می‌دهد که مدل بجای یادگیری الگوهای داده، داده را را حفظ می‌کند و در عمل یادگیری به خوبی انجام نمی‌شود. برای جلوگیری از بیش‌برازش در مدل‌های خطی مانند رگرسیون خطی یا رگرسیون لجستیک جریمه‌ای به تابع هزینه اضافه می‌شود تا از افزایش زیاد پارامترها جلوگیری شود. به این کار تنظیم مدل یا Regularization گفته می‌شود. دو راه متداول تنظیم مدل‌های خطی روش‌های  و   هستند. در روش  ضریبی از نُرمِ به تابع هزینه اضافه می‌شود و در روش  ضریبی از نُرمِ  که همان نُرمِ اقلیدسی است به تابع هزینه اضافه می‌شود.
در تنظیم مدل به روش   تابع هزینه را به این شکل تغییر می‌دهیم:
این روش تنظیم مدل که به روش لاسو (Lasso) نیز شهرت دارد باعث می‌شود که بسیاری از پارامترهای مدل نهائی صفر شوند و مدل به اصلاح خلوت (Sparse) شود.
در تنظیم مدل به روش   تابع هزینه را به این شکل تغییر می‌دهیم:
در روش تنظیم از طریق  سعی می‌شود طول اقلیدسی بردار  کوتاه نگه داشته شود.  در روش  و  یک عدد مثبت است که میزان تنظیم مدل را معین می‌کند. هرچقدر کوچکتر باشد جریمه کمتری برا بزرگی نرم بردار پارامترها یعنی  پرداخت می‌کنیم. مقدار ایدئال  از طریق آزمایش بر روی داده اعتبار (Validation Data) پیدا می‌شود.

کاربردها

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