رگرسیون ریج

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

## تعریف ریاضی
فرض کنید در مسئله رگرسیون، مجموعه داده‌ها شامل N جفت متغیر پیشگو و متغیر پاسخ به صورت D = \{({x_{1}}, y_1), \cdots , ({x_{N}}, y_N)\} باشد. هدف بدست آوردن y به عنوان ترکیبی خطی از x  است یعنی  {\displaystyle x^{T}\beta +\beta _{0}}. رگرسیون خطی معمولی به شکل زیر در پی یافتن و بهینه است به طوری که مجموع مربعات خطا را کمینه کند:

 \min_{ \beta_0, \beta } \left\{  \sum_{i=1}^N (y_i - \beta_0 - x_i^T \beta)^2 \right\}  
در رگرسیون ریج ضریبی از نُرمِ L_2 به تابع هزینه اضافه می‌شود:
 \min_{ \beta \in \mathbb{R}^p } \left\{  \left\| Y - X \beta \right\|_2^2 + \lambda \| \beta \|_2^2 \right\} 
پارامتر \lambda  میزان جریمه روی نُرمِ L_2 را مشخص می‌کند. اضافه کردن ضریبی از نُرمِ L_2  به تابع هزینه معادلِ ایجاد محدودیتی بر روی نُرمِ L^2 است:
 \min_{ \beta \in \mathbb{R}^p } \left\{ \left\| Y - X \beta \right\|_2^2 \right\} \text{ subject to } \| \beta \|_2^2 \leq t^2 

که منظور از \| v \|_p در واقع، نُرمِ \ell^p است که به صورت زیر محاسبه می‌شود:

\| v \|_p = \left( \sum_{i=1}^N | v_i |^p \right)^{1/p}بنابراین، رگرسیون ریج محدودیت‌های بیشتری را روی ضرایب مدل اعمال می‌کند. چراکه در این روش افزون بر تلاش برای کمینه کردن میانگین خطای مربعات خطاها، جریمه‌ای روی ضرایب هم در نظر گرفته می‌شود. در نتیجه ترجیح بر انتخاب ضرایبی با اندازهٔ کوچک یا نزدیک به صفر است تا جملهٔ جدید افزوده شده به تابع هزینه نیز کوچک شود

## فرم بستهٔ جواب
برای به دست آوردن فرم بستهٔ جواب به فرم ماتریسی تابع هزینه را توجه کنید:

(Y - X\beta)^{T}(Y-X\beta) + \lambda \beta^T\beta
 

کافیست نسبت به \beta مشتق بگیریم:

X^{T}Y = \left(X^{T}X + \lambda I\right)\beta
 
در نتیجه:

\hat{\beta_R} = (X^TX + \lambda I)^{-1}X^Ty
 

## مصورسازی
برای مصورسازی روش رگرسیون ریح توجه کنید که جمع خطای مربعات، به شکل خطوط تراز بیضوی نمایش داده می‌شود. به علاوه در مسألهٔ رگرسیون ریج، ناحیه‌ای که ضرایب مدل را مشخص می‌کند از رابطه زیر به دست می‌آید:

\beta_1^2 + \beta_2^2
\le
t^2
 

که در صفحهٔ مختصات دو بعدی، دایره‌ای به شعاع را نمایش می‌دهد. تصویر برخورد خطوط تراز با محدوده ضرایب در رگرسیون ریج در تصویر زیر نمایش داده شده‌است:

در شکل نشان داده شده بیضی‌های مربوط به خطوط تراز داخلی جمع خطای مربعات کمتری دارند. و در نقطهٔ میانی مشخص‌شده، خطای میانگین مربعات کمینه می‌شود. در مدل ریج، تلاش می‌شود اندازهٔ دایره و بیضی همزمان کوچک شوند. در واقع یک بده‌بستان میان دو جملهٔ تابع هزینه وجود دارد. پاسخ مسألهٔ رگرسیون ریج در نقطه‌ای است که خطوط تراز بیضوی با محدودهٔ دایره‌ای شکل ضرایب برخورد می‌کند.

## پیاده‌سازی (پایتون)
با استفاده از کتابخانهٔ Sickit-Learn زبان برنامه‌نویسی پایتون می‌توان رگرسیون ریج را به سادگی، به صورت زیر پیاده‌سازی کرد:
```python3
from sklearn.linear_model import Ridge

ridge = Ridge(alpha=0.1)
ridge.fit(X_train, y_train)
prediction= lasso.predict(X_test)
```
پارامتر تنظیم مدل در این مثال ساده برابر با 0.1 در نظر گرفته شده و پس از آموزش، از مدل برای پیش‌بینی روی دادهٔ جدید استفاده شده‌است.

## یادداشت‌ها

## منابع

رده:الگوریتم‌های یادگیری ماشین
رده:تحلیل رگرسیون
رده:مسائل‌های معکوس
رده:جبر خطی