stanford-oval/wikipedia huggingface dataset:
رگرسیون خطی
پیش‌فرض‌ها

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

فرق رگرسیون خطی با سایر مدل‌های رگرسیون در این است که در این مدل رابطهٔ بین متغیرهای مستقل و متغیر وابسته یک رابطهٔ خطی فرض می‌شود. رگرسیون خطی، که خود نوعی تابع پیش‌بینی‌کنندهٔ خطی است، پیش‌بینی متغیر وابسته را از حاصل‌جمع ضرب متغیرهای مستقل در یک سری ضرایب به‌دست می‌آورد. در رگرسیون خطی ساده که تنها یک متغیر مستقل وجود دارد، پیش‌بینی متغیر وابسته شکل یک خط مستقیم به خود می‌گیرد؛ در رگرسیون خطی با دو متغیر شکل پیش‌بینی یک صفحه خواهد بود، و در رگرسیون خطی با بیش از دو متغیر مستقل پیش‌بینی متغیر وابسته به صورت یک اَبَرصفحه خواهد بود.
تخمین پارامترها > رگرسیون خطی ساده

رگرسیون خطی ساده میزان اثر یک متغیر مستقل بر یک متغیر وابسته را می‌سنجد و همبستگی رابطهٔ بین آن‌ها را مورد سنجش قرار می‌دهد.
مثلاً تحلیل رگرسیونی سادهٔ زیر با  N نقطه، متغیر مستقل  x_{i} و ضرایب  \beta _{0} و  \beta _{1} خطی است:
در عبارت پیشین  \epsilon _{i} مقدار خطاست و پانویس  i شمارهٔ هر مشاهده (هر جفت  x_{i} و  y_{i}) را نشان می‌دهد. با داشتن مجموعه‌ای از این نقطه‌ها می‌توان مدل را به دست آورد:
y_{i}={\widehat {\beta }}_{0}+{\widehat {\beta }}_{1}X_{i}+e_{i}
عبارت  e_{i} «مانده» نام دارد و تخمینی است از اختلاف بین مقدار محاسبه شده و مقدار واقعی متغیر وابسته:  e_{i}=y_{i}-{\widehat {y}}_{i}. برای تخمین این مدل رگرسیون باید سه پارامتر تخمین زده بشوند: دو ضریب  \beta _{0} و  \beta _{1} و مانده ( e_{i}). روش رایج برای به‌دست‌آوردن پارامترها، روش کمترین مربعات است. در این روش پارامترها را با کمینه‌کردن مجموع مربعات خطا به دست می‌آورند:
\mathrm {SSE} =\sum _{i=1}^{N}e_{i}^{2}
در مورد رگرسیون ساده، پارامترها با این روش برابر خواهند بود با:
که در آن  {\bar {x}} و  {\bar {y}} میانگین  x و  y هستند.
تخمین پارامترها > رگرسیون خطی ساده > تفاوت رگرسیون و همبستگی

معمولاً زمانی می‌توان از رگرسیون استفاده کرد که یک همبستگی بین متغیرهای مستقل و وابسته وجود داشته باشد. این همبستگی را می‌توان به عنوان مثال از ضریب همبستگی پیرسن که عددی در بازه  [-1,\,+1] است به‌دست‌آورد. ضریب همبستگی مثبت به این معنی است که با افزایش یک متغیر، متغیر دیگر هم افزایش می‌یابد و بالعکس، اما ضریب همبستگی منفی نشان‌دهنده رابطه معکوس بین دو متغیر است یعنی با افزایش یکی دیگری کاهش می‌یابد و بالعکس. ضریب صفر به این معنی است که هیچ رابطه‌ای بین دو متغیر نیست و دو متغیر نسبت به هم مستقلند.
هدف مدل‌های همبستگی بررسی میزان رابطهٔ دو یا چند متغیر است. رگرسیون اما به دنبال پیش‌بینی یک یا چند متغیر براساس یک یا چند متغیر دیگر است. به بیان دیگر، همبستگی میزان و شدت رابطهٔ متغیرها را نشان می‌دهد اما رگرسیون معادله‌ای را برای پیش‌بینی متغیرها ارائه می‌کند.
آنچه در خروجی نتایج رگرسیون و همبستگی باعث ایجاد تفاوت می‌شود آن است که در همبستگی همیشه اثرات متغیرها به صورت دو به دو مورد سنجش قرار می‌گیرد اما در یک مدل رگرسیون اثرات متغیرها به صورت همزمان بررسی می‌شود. یعنی در همبستگی رابطه متغیر  X با متغیر  Y به وجود یا عدم وجود متغیر  Z ارتباطی ندارد اما اما در رگرسیون تأثیر متغیر  X بر متغیر  Y به وجود یا عدم وجود متغیر  Z بستگی دارد (به شرط آن که متغیر  Z هم در مدل رگرسیون به کار گرفته شود؛ چنین مدل رگرسیون خطی را «چندگانه» می‌نامند).
تخمین پارامترها > رگرسیون خطی چندگانه > صورت مسئله

در بسیاری از مسائل رایج رگرسیون، ورودی چندمتغیره است. اگر فرض کنیم متغیر ما  m بُعد دارد، یعنی  {\vec {x}}=[x_{1},x_{2},\dots ,x_{m}]، مسئلهٔ رگرسیون به یک مسئلهٔ بهینه‌سازی برای پیدا کردن  m+1 پارامتر تبدیل می‌شود، به این معنی که ما یک پارامتر چندمتغیره به اسم  {\vec {\beta }}=[\beta _{0},\beta _{1},\cdots ,\beta _{m}] داریم و سعی می‌کنیم که متغیر وابسته که همان  y است را با بردار  {\vec {x}}، تخمین بزنیم که یعنی  y\approx \beta _{0}+\sum _{i=1}^{m}\beta _{i}\times x_{i}. حال اگر یک بعد دیگر به متغیر  {\vec {x}} اضافه کنیم و مقدارش را همیشه عدد ثابت  1 در نظر بگیریم ( x_{0}=1) و  {\vec {x}} را به صورتِ  {\vec {x}}=[1,x_{1},x_{2},\dots ,x_{m}] تغییر دهیم، تخمینی که از  y داریم در واقع ضرب نقطه‌ای بردار ورودی و بردار پارامترهای ماست یعنی  y\approx \sum _{i=0}^{m}\beta _{i}\times x_{i}={\vec {\beta }}\,\,.\,{\vec {x}}. حال فرض کنیم که تعداد مثال‌هایی که قرار است برای تخمین پارامترها استفاده کنیم  n است و این مثال‌ها را به این شکل نمایش دهیم  D=({\vec {x_{1}}},y_{1}),\cdots ({\vec {x_{n}}},y_{n}). در چنین مدلی پارامتر بهینه آن پارامتری است که یک تابع هزینه را به حداقل برساند و تخمین‌های ما را به متغیر وابسته بسیار نزدیک کند. تابع هزینه را با جمع مربع تفاضل تخمین‌ها با متغیر وابسته تعریف می‌کنیم، به این شکل که  L(D,{\vec {\beta }})=\sum _{i=1}^{n}({\vec {\beta }}\,.\,{\vec {x_{i}}}-y_{i})^{2}، و با این حساب پارامتر بهینه عبارت است از:
{\vec {\hat {\beta }}}={\underset {\vec {\beta }}{\mbox{arg min}}}\,L(D,{\vec {\beta }})={\underset {\vec {\beta }}{\mbox{arg min}}}\sum _{i=1}^{n}({\vec {\beta }}\,.\,{\vec {x_{i}}}-y_{i})^{2}
تخمین پارامترها > رگرسیون خطی چندگانه > کمترین مربعات

مقالهٔ اصلی: کمترین مربعات
در این روش برای به‌دست آوردن  {\vec {\hat {\beta }}} یا همان پارامتر بهینه، از تابع  L(D,{\vec {\beta }})نسبت به  {\vec {\beta }} گرادیان می‌گیریم و این گرادیان را برابر صفر قرار می‌دهیم و پارامتر بهینه را به‌دست می‌آوریم. از آنجا که تابع  L(D,{\vec {\beta }}) نسبت به   {\vec {\beta }} تابعی کاملاً محدب است، در نقطهٔ کمینهٔ این تابع، گرادیان صفر خواهد بود و این روش پارامتر بهینه را به‌دست می‌دهد. برای تسهیل کار، شکل تابع را با به‌کارگیری چند ماتریس ساده می‌کنیم. دو ماتریس برای این کار نیاز داریم: ماتریس  X و ماتریس  Y. ماتریس  X ماتریس ورودیهای چندمتغیرهٔ ماست. در این ماتریس هر سطر معادل یک نمونه از دادهٔ ماست، مثلاً سطر  iام برابر است با  iامین نمونه ورودی ما یعنی بردار  {\vec {x_{i}}}، از اینرو  X یک ماتریس  n\times (m+1) خواهد بود. ماتریس  Y از طرف دیگر برابر است با مجموعه متغیرهای وابسته در دادهٔ ما. سطر  iام این ماتریس برابر است با متغیر وابسته برای  iامین نمونهٔ داده ما یا همان  y_{i}. ماتریس  Y یک ماتریس  n\times 1 است. با کمک این دو ماتریس می‌توان تابع هزینه را به شکل ذیل تعریف کرد:
{\begin{aligned}L(D,{\vec {\beta }})&=||X{\vec {\beta }}-Y||^{2}\\&=(X{\vec {\beta }}-Y)^{\top }(X{\vec {\beta }}-Y)\\&=Y^{\top }Y-Y^{\top }X{\vec {\beta }}-{\vec {\beta }}^{\top }X^{\top }Y+{\vec {\beta }}^{\top }X^{\top }X{\vec {\beta }}\end{aligned}}
حال گرادیان این تابع را نسبت به  {\vec {\beta }} پیدا می‌کنیم که می‌شود:
{\begin{aligned}{\frac {\partial L(D,{\vec {\beta }})}{\partial {\vec {\beta }}}}&={\frac {\partial \left(Y^{\top }Y-Y^{\top }X{\vec {\beta }}-{\vec {\beta }}^{\top }X^{\top }Y+{\vec {\beta }}^{\top }X^{\top }X{\vec {\beta }}\right)}{\partial {\vec {\beta }}}}\\&=-2X^{\top }Y+2X^{\top }X{\vec {\beta }}\end{aligned}}
با برابر قرار دادن گرادیان با صفر پارامتر بهینه به‌دست می‌آید:
{\begin{aligned}-2X^{\top }Y&+2X^{\top }X{\vec {\beta }}=0\\&\Rightarrow X^{\top }Y=X^{\top }X{\vec {\beta }}\\&\Rightarrow {\vec {\hat {\beta }}}=(X^{\top }X)^{-1}X^{\top }Y\end{aligned}}
در روش کمترین مربعات معمولاً برای جلوگیری از از بیش‌برازش یا مقابله با مشکل عدم وارونپذیریِ  X^{\top }X  از روش تنظیم تیخونوف، کمترین مربعات جزئی، یا رگرسیون مؤلفه‌های اصلی استفاده می‌شود.
تخمین پارامترها > رگرسیون خطی چندگانه > کمترین مربعات > کمترین مربعات جزئی

مقالهٔ اصلی: کمترین مربعات جزئی
کمترین مربعات جزئی یکی از روش‌های جلوگیری از از بیش‌برازش یا مقابله با مشکل عدم وارونپذیریِ  X^{\top }X  است. این روش متناوباً مولفه‌هایی متعامد ( Z_{i}\in \mathbb {R} ^{n}  در پایین) که ترکیبی خطی از مقادیر متغیرهای مستقل ( X_{j}\in \mathbb {R} ^{n} در پایین) هستند تولید می‌کند و در نهایت راه حل کمترین مربعات را بر روی این بردارها اعمال می‌کند. ضرایب این مولفه‌ها با ضرب نقطه‌ایِ مقادیر متغیرهای وابسته و مستقل برابر است. مقادیر متغیرهای مستقل در ابتدای کار استاندارد شده‌اند به این معنی که میانگین صفر و واریانس یک دارند. در پایان هر مرحله مقادیر متغیرهای مستقل نسبت به مولفه آن مرحله متعامد می‌شوند. این کار باعث می‌شود که در پایان تمام مولفه‌ها نسبت به هم متعامد باشند و ضریب رگرسیون مولفه  {Z_{i}}  با  {\langle Z_{i}\,,\,{Y}\rangle }/{\langle Z_{i}\,,\,Z_{i}\rangle } برابر باشد. الگوریتم تولید مولفه‌ها برای  k\leq m  به شکل پایین است ( k  از روش اعتبارسنجی متقابل محاسبه می‌شود):
{\begin{cases}\,\,{\mbox{ for }}\,\,j\,\,=\,\,1,\cdots ,m:\\\,\,\,\,\,\,\,\,\,\,{X}_{j}^{(0)}={X}_{j}\\\,\,{\mbox{ for }}\,\,i=\,\,1,\cdots ,k:\\\,\,\,\,\,\,\,\,\,\,{Z}_{i}=\sum _{j=1}^{m}\left\langle {X}_{j}^{(i-1)},{Y}\right\rangle {X}_{j}^{(i-1)}\\\,\,\,\,\,\,\,\,\,{\mbox{ for }}\,\,j\,\,=\,\,1,\cdots ,m:\\\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,{X}_{j}^{(i)}={X}_{j}^{(i)}-{\frac {\langle {Z}_{i}\,,\,{Y}\rangle }{\langle {Z}_{i}\,,\,{Z}_{i}\rangle }}{Z}_{i}\\\,\,{\hat {Y}}={\bar {Y}}\mathbf {1} +\sum _{i=1}^{k}{\frac {\langle {Z}_{i}\,,\,{Y}\rangle }{\langle {Z}_{i}\,,\,{Z}_{i}\rangle }}{Z}_{i}\\\end{cases}}
از آنجا که  {\hat {Y}}  یا همان مقدار پیش‌بینی شده، ترکیبی خطی از  {Z}_{i}‌ها است و خود  {Z}_{i}‌ها هم ترکیبی خطی از مقادیر متغیرهای مستقل هستند، در نهایت مدل رگرسیون ترکیبی خطی از مقادیر متغیرهای مستقل خواهد بود.
تخمین پارامترها > رگرسیون خطی چندگانه > گرادیان کاهشی تصادفی

مقالهٔ اصلی: گرادیان کاهشی تصادفی
روش پارامتر تخمین پارامتر بهینه از طریق کمترین مربعات ممکن است چند اشکال اساسی داشته باشد. یکی آنکه محاسبهٔ (X^{\top }X)^{-1} ممکن است زمانبر باشد. بُعدِ ماتریس مربعی  X^{\top }X برابر است با  (m+1)\times (m+1) و اگر مقدار  m زیاد باشد زمان محاسبه معکوس این ماتریس می‌تواند مسئله ساز شود. به علاوه این ماتریس ممکن است اساساً معکوس پذیر نباشد. از این رو روش‌های کاراتر و سریعتری برای تخمین پارامتر بهینه مورد استفاده قرار می‌گیرد. یکی از این روش‌ها روش گرادیان کاهشی تصادفی است. در این روش هر بار یک مثال را به‌صورت اتفاقی از نمونه‌های داده انتخاب کرده، گرادیان تابع هزینه را حساب می‌کنیم و کمی در جهت خلاف گرادیان پارامتر را حرکت می‌دهیم تا به یک پارامتر جدید برسیم. گرادیان جهت موضعی بیشترین افزایش را در تابع به ما نشان می‌دهد، برای بیشترین کاهش موضعی در خلاف جهت گرادیان باید حرکت کرد. اینکار را آنقدر ادامه می‌دهیم که گرادیان به اندازه کافی به صفر نزدیک شود. به‌جای اینکه داده‌ها را به‌صورت تصادفی انتخاب کنیم می‌توانیم به ترتیب داده شماره  1 تا داده شماره   n را انتخاب کنیم و بعد دوباره به داده اولی برگردیم و این کار را چندین بار تکرار کنیم تا گرادیان تابع به اندازهٔ کافی به صفر نزدیک شود. از لحاظ ریاضی این کار را می‌توان به شکل پایین انجام داد: پارامتر  {\vec {\beta }} را در ابتدا به‌صورت تصادفی مقدار دهی می‌کنیم و بعد برای داده   i ام و تمامی   j‌ها، یعنی از   j=1 تا  j=m+1 تغییر پایین را اعمال می‌کنیم، دراینجا  \alpha  همان مقداری است که در جهت گرادیان هربار حرکت می‌کنیم و  \left(y_{i}-{\vec {x_{i}}}.{\vec {\beta }}\right){\vec {x_{i,j}}} مشتق جزئی داده   i ام در بُعد  j ام است:
{\begin{cases}{\mbox{Initialize}}\,\,{\vec {\beta ^{\,old}}}\,\,{\mbox{randomly}}\\{\mbox{loop until convergence :}}\\\,\,{\mbox{for}}\,\,\,\,i=0\,\,\,\,{\mbox{to}}\,\,\,\,n:\\\,\,\,\,\,\,{\mbox{for}}\,\,\,\,j=0\,\,\,\,{\mbox{to}}\,\,\,\,m:\\\,\,\,\,\,\,\,\,\,\,\,\,{\vec {\beta _{j}^{\,new}}}={\vec {\beta _{j}^{\,old}}}+\alpha \left(y_{i}-{\vec {\beta ^{\,old}}}\,.\,{\vec {x_{i}}}\right){\vec {x_{i,j}}}\\\,\,\,\,\,\,\beta ^{\,old}=\beta ^{\,new}\end{cases}}
تخمین پارامترها > رگرسیون خطی چندگانه > برآورد درست‌نمایی بیشینه

مقالهٔ اصلی: برآورد درست‌نمایی بیشینه
همچنان که پیشتر گفته شد، برای به‌دست آوردن پارامتر بهینه  {\vec {\hat {\beta }}} می‌بایست تابع هزینه یعنی  L(D,{\vec {\beta }}) را به حداقل برسانیم. می‌توان به همین پارامتر بهینه از روش برآورد درست‌نمایی بیشینه هم رسید. فرض می‌کنیم که متغیر وابسته یعنی  y یک متغیر تصادفی است که مقدارش از یک توزیع طبیعی (توزیع گاوسی) پیروی می‌کند. این توزیع احتمال، واریانس ثابتی به اسم  \sigma  دارد ولی میانگین آن ترکیبی خطی از متغیرهای مستقل یعنی  {\vec {x}}=[1,x_{1},x_{2},\dots ,x_{m}] است. به عبارت دیگر میانگین آن برابر است با  {\vec {\beta }}\,.\,{\vec {x}}. با احتساب میانگین و واریانس، توزیع متغیر وابسته عبارت است از  y\sim N({\vec {\beta }}\,.\,{\vec {x}},\sigma ). حال اگر فرض کنیم داده‌ها نسبت به یکدیگر مستقل هستند آن گاه تابع درست‌نمایی برای تمام داده‌ها می‌شود:
{\begin{aligned}H(D,{\vec {\beta }})&=\prod _{i=1}^{n}Pr(y_{i}|{\vec {x_{i}}}\,\,;{\vec {\beta }},\sigma )\\&=\prod _{i=1}^{n}{\frac {1}{{\sqrt {2\pi }}\sigma }}\exp \left(-{\frac {\left(y_{i}-{\vec {\beta }}\,.\,{\vec {x_{i}}}\right)^{2}}{2\sigma ^{2}}}\right)\end{aligned}}
حال باید به دنبال پارامتری باشیم که این تابع بزرگنمایی را بیشینه کند. از آنجا که تابع لگاریتم مطلقاً صعودیست، به‌جای بیشینه کردن این تابع لگاریتمش را هم می‌شود بیشینه کرد و پارامتر بهینه را از آن طریق پیدا کرد:
{\begin{aligned}I(D,{\vec {\beta }})&=\log \prod _{i=1}^{n}Pr(y_{i}|{\vec {x_{i}}}\,\,;{\vec {\beta }},\sigma )\\&=\log \prod _{i=1}^{n}{\frac {1}{{\sqrt {2\pi }}\sigma }}\exp \left(-{\frac {\left(y_{i}-{\vec {\beta }}\,.\,{\vec {x_{i}}}\right)^{2}}{2\sigma ^{2}}}\right)\\&=n\log {\frac {1}{{\sqrt {2\pi }}\sigma }}-{\frac {1}{2\sigma ^{2}}}\sum _{i=1}^{n}\left(y_{i}-{\vec {\beta }}\,.\,{\vec {x_{i}}}\right)^{2}\end{aligned}}
پارامتر بهینه از این طریق برابر است با:
{\begin{aligned}{\underset {\vec {\beta }}{\mbox{arg max}}}\,I(D,{\vec {\beta }})&={\underset {\vec {\beta }}{\mbox{arg max}}}\left(n\log {\frac {1}{{\sqrt {2\pi }}\sigma }}-{\frac {1}{2\sigma ^{2}}}\sum _{i=1}^{n}\left(y_{i}-{\vec {\beta }}\,.\,{\vec {x_{i}}}\right)^{2}\right)\\&={\underset {\vec {\beta }}{\mbox{arg min}}}\sum _{i=1}^{n}\left(y_{i}-{\vec {\beta }}\,.\,{\vec {x_{i}}}\right)^{2}\\&={\underset {\vec {\beta }}{\mbox{arg min}}}\,L(D,{\vec {\beta }})\\&={\vec {\hat {\beta }}}\end{aligned}}
به این ترتیب پارامتری که  I(D,{\vec {\beta }}) را بیشینه می‌کند همان پارامتری است که  L(D,{\vec {\beta }}) را به حداقل می‌رساند. این یعنی در رگرسیون خطی نتیجهٔ روش کمترین مربعات با روش برآورد درست‌نمایی بیشینه یکی است.
تخمین پارامترها > تنظیم مدل

پیچیدگی مدل‌های پارامتری با تعداد پارامترهای مدل و مقادیر آن‌ها سنجیده می‌شود. هرچه این پیچیدگی بیشتر باشد خطر بیش‌برازش برای مدل بیشتر است. پدیدهٔ بیش‌برازش زمانی رخ می‌دهد که مدل به‌جای یادگیری الگوهای موجود در داده، خود داده را به خاطر می‌سپارد. در این حالت، مدل برای آن مجموعه دادهٔ به‌خصوص خوب عمل می‌کند اما برای داده‌های مشابه دیگر عملکرد خوبی ندارد، که یعنی عمل یادگیری به خوبی انجام نشده‌است. برای جلوگیری از بیش‌برازش در مدل‌های خطی مانند رگرسیون خطی یا رگرسیون لجستیک، یک «جریمه» به تابع هزینه اضافه می‌شود تا از افزایش زیاد پارامترها جلوگیری شود. به این کار تنظیم مدل گفته می‌شود. دو راه متداول تنظیم مدل‌های خطی روش‌های  L_{1} و  L_{2} هستند. در روش  L_{1} ضریبی از نُرمِ  L_{1} به تابع هزینه اضافه می‌شود و در روش  L_{2} ضریبی از نُرمِ  L_{2} که همان نُرمِ اقلیدسی است به تابع هزینهٔ اضافه می‌شود. نام روش‌های  L_{1} و  L_{2}  از نُرمی که در این روش‌ها به تابع هزینه اضافه می‌شود گرفته شده‌است.
در تنظیم مدل به روش   L_{1} تابع هزینه را به این شکل تغییر می‌دهیم:
این روش تنظیم مدل که به روش لَسو نیز شهرت دارد باعث می‌شود که بسیاری از پارامترهای مدل نهائی صفر شوند و مدل به اصلاح خلوت شود.
در تنظیم مدل به روش  L_{2} که به رگرسیون ستیغی نیز شهرت دارد تابع هزینه را به این شکل تغییر می‌دهیم:
در روش تنظیم از طریق  L_{2} سعی می‌شود طول اقلیدسی بردار  {\vec {\beta }} کوتاه نگه داشته شود.  \lambda  در هر دو روش  L_{1} و  L_{2} یک عدد مثبت است که میزان تنظیم مدل را معین می‌کند. هرچقدر  \lambda کوچکتر باشد جریمهٔ کمتری برای بزرگی نرم بردار پارامترها یعنی  {\vec {\beta }} محاسبه می‌شود. مقدار بهینهٔ  \lambda  از طریق آزمایش بر روی بخشی از داده‌ها پیدا می‌شود که در یادگیری مدل دخالت داده نشده‌اند؛ به این بخش از داده‌ها، دادهٔ اعتبار یا مجموعهٔ اعتبارسنجی گفته می‌شود.
با استفاده از ضرایب لاگرانژ می‌توان اثبات کرد که تنظیم مدل  L_{1} و  L_{2} نوعی بهینه‌سازی مقید هستند. در تنظیم مدل  L_{1} تابع هزینه به نحوی کمینه می‌شود که نرمِ  L_{1} از یک مقدار مشخصی که بستگی به  \lambda  دارد بیشتر نشود. به همین نحو، تنظیم مدل  L_{2} تابع هزینه را همزمان با مقید کردن نرم  L_{2} کاهش می‌دهد.
تخمین پارامترها > تنظیم مدل > تفسیر احتمالی تنظیم مدل

اگر به جای روش برآورد درست‌نمایی بیشینه از روش بیشینه‌سازی احتمال پسین استفاده شود ساختار «تنظیم مدل» به دست می‌آید. اگر مجموعهٔ داده را با  D و پارامتری که به دنبال تخمین آن هستیم را با  {\vec {\beta }} نمایش بدهیم، طبق قانون بیز احتمال پسین یعنی  Pr\left({\vec {\beta }}\,|\,D\right)متناسب خواهد بود با حاصلضرب درست‌نمایی یعنی  Pr\left(D\,|\,{\vec {\beta }}\right) و احتمال پیشین یعنی  Pr\left({\vec {\beta }}\right):
Pr\left({\vec {\beta }}\,|\,D\right)={\frac {Pr\left(D\,|\,{\vec {\beta }}\right)\times Pr\left({\vec {\beta }}\right)}{Pr\left(D\right)}}
از این رو:
{\begin{aligned}{\underset {\vec {\beta }}{\mbox{arg max}}}\,Pr\left({\vec {\beta }}\,|\,D\right)&={\underset {\vec {\beta }}{\mbox{arg max}}}\,{\frac {Pr\left(D\,|\,{\vec {\beta }}\right)\times Pr\left({\vec {\beta }}\right)}{Pr\left(D\right)}}\\&={\underset {\vec {\beta }}{\mbox{arg max}}}\,Pr\left(D\,|\,{\vec {\beta }}\right)\times Pr\left({\vec {\beta }}\right)\end{aligned}}
معادلهٔ خط پیشین نشان می‌دهد که برای یافتن پارامتر بهینه فقط کافیست که احتمال پیشین را نیز در معادله دخیل کنیم. اگر احتمال پیشین را یک توزیع گاوسی با میانگین صفر و کوواریانس  \tau ^{2}Iدر نظر بگیریم به معادلهٔ پایین می‌رسیم:
{\begin{aligned}{\underset {\vec {\beta }}{\mbox{arg max}}}\,\,\log Pr\left(D\,|\,{\vec {\beta }}\right)&={\underset {\vec {\beta }}{\mbox{arg max}}}\,\,\log \prod _{i=1}^{n}Pr(y_{i}|{\vec {x_{i}}}\,\,;{\vec {\beta }},\sigma )Pr\left({\vec {\beta }}\right)\\&={\underset {\vec {\beta }}{\mbox{arg max}}}\,\,\log \prod _{i=1}^{n}{\frac {1}{{\sqrt {2\pi }}\sigma }}\exp \left(-{\frac {\left(y_{i}-{\vec {\beta }}\,.\,{\vec {x_{i}}}\right)^{2}}{2\sigma ^{2}}}\right){\frac {1}{{\sqrt {2\pi }}\tau }}\exp \left(-{\frac {||{\vec {\beta }}||^{2}}{2\tau ^{2}}}\right)\end{aligned}}
با ساده کردن این معادله به جواب زیر می‌رسیم که در آن  \lambda  برابر است با  {\frac {\sigma ^{2}}{\tau ^{2}}}:
{\begin{aligned}{\underset {\vec {\beta }}{\mbox{arg max}}}\,\,Pr\left(D\,|\,{\vec {\beta }}\right)&={\underset {\vec {\beta }}{\mbox{arg max}}}\left(n\log {\frac {1}{{\sqrt {2\pi }}\sigma }}-{\frac {1}{2\sigma ^{2}}}\sum _{i=1}^{n}\left(y_{i}-{\vec {\beta }}\,.\,{\vec {x_{i}}}\right)^{2}+\log {\frac {1}{{\sqrt {2\pi }}\tau }}-{\frac {1}{2\tau ^{2}}}||{\vec {\beta }}||^{2}\right)\\&={\underset {\vec {\beta }}{\mbox{arg min}}}\left(\sum _{i=1}^{n}\left(y_{i}-{\vec {\beta }}\,.\,{\vec {x_{i}}}\right)^{2}+\lambda ||{\vec {\beta }}||^{2}\right)\end{aligned}}
این جواب برابر با نتیجهٔ تنظیم مدل با نرم  L_{2}است.
به‌طور مشابه، اگر احتمال پیشین را از نوع توزیع لاپلاس با میانگین صفر در نظر بگیریم به تنظیم مدل با نرم  L_{1} خواهیم رسید.
تخمین پارامترها > انتخاب متغیر

معمولاً تعدادِ زیادِ متغیرهای مستقل، تعبیرپذیری مدلِ نهائی را دچار مشکل می‌کند. مضاف بر این بعضی از متغیرهای مستقل ممکن است باعث کاهش دقت مدل شوند. به همین دلیل حذف این متغیرها و استفاده از تنها یک زیرمجموعه بهینه از متغیرهای مستقل می‌تواند مدلی با کارایی بالاتری تولید کند. روشهای مختلفی برای انتخاب متغیرها وجود دارد. یکی از ساده‌ترین راه‌ها محاسبه تابع هزینه به ازای تمام زیرمجموعه‌های ممکن و انتخاب زیرمجموعه بهینه با کمترین میزان هزینه است. در این روش مسئله رگرسیون خطی باید به ازای تمامی زیرمجموعه‌ها، یعنی  2^{m}  بار، حل شود. از این‌رو این روش معمولاً برای مسائلی که داده‌های زیادی دارند یا تعداد متغیرهای مستقل آن بزرگ است (معمولاً  m\geq 40) راه حل مناسبی نیست. روشهای پیش‌رو و پس‌رو که متناوباً متغیرهای مستقل را انتخاب یا حذف می‌کنند یا روشهای کوچک سازی که از طریق اعمال محدودیت بر روی پارامترها میزان اثرگذاری آنها را در مدل نهائی مهار می‌کنند، راه‌های بهتری برای انتخاب متغیر هستند.
در روش پیش‌رو، ابتدا عرض از مبدأ از طریق محاسبه میانگین مقادیر متغیر وابسته به‌دست می‌آید، سپس به تناوب در هر مرحله متغیری که باعث بیشترین کاهش تابع هزینه می‌شود به مدل افزوده می‌شود. به زبان دقیق‌تر در مرحله  k، یک متغیر از متغیرهای مستقل که تا به حال انتخاب نشده به  k-1  متغیر منتخب اضافه می‌شود. در نهایت بهترین زیرمجموعه از میانِ  m  زیرمجموعه‌ای که متناوباً ساخته شده با استفاده از اعتبارسنجی متقابل محاسبه می‌شود. برای تسریع انتخاب متغیر مستقل بهینه در هر مرحله می‌توان از تجزیه کیوآر استفاده کرد. روش پس‌رو مانند روش پیش‌رو عمل می‌کند با این تفاوت که در ابتدا تمام متغیرهای مستقل مورد استفاده قرار می‌گیرند و در هر مرحله یک متغیر مستقل حذف می‌شود. بهترین متغیر برای حذف در هر مرحله متغیری است که کمترین امتیاز طبیعی را داشته باشد.
در روشهای کوچک سازی که همان روشهای تنظیم مدل است، سعی بر این است که برای جلوگیری از بیش‌برازش، میزان اثرگذاری پارامترها مهار شود. به همین منظور مسئله بهینه‌سازی به یک بهینه‌سازی مقید تغییر داده می‌شود تا نُرمِ  L_{1} یا  L_{2} از یک مقدار معینی زیادتر نشود. در روش کوچک سازی  L_{1} مسئله بهینه‌سازی به عبارت پایین تغییر شکل می‌دهد که معادل تنظیم مدل لسو است. این روش باعث می‌شود که مدل نهائی به اصطلاح خلوت شود و ضریب بسیاری از متغیرها صفر گردد.
به صورت مشابه در روش کوچک سازی  L_{2}، مسئله بهینه‌سازی با معادله پایین برابر خواهد بود که معادل رگرسیون ستیغی است. این روش باعث می‌شود که ضرایب رگرسیون زیاد بزرگ نشوند.