رگرسیون لجستیک: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
برچسب‌ها: متن دارای ویکی‌متن نامتناظر ویرایشگر دیداری
تنظیم مدل
خط ۳۵:
\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^{\,new}_j} = \vec{\beta^{\,old}_j} + \alpha \left(y_i - \frac{1}{1+e^{-\left(\beta^{\,old}_0 + \beta^{\,old}_1 x_{1,i} + \cdots + \beta^{\,old}_k x_{k,i}\right)}}\right)\vec{x^{i}}_j\\\,\,\,\,\,\,\beta^{\,old}= \beta^{\,new}\end{cases}
</math>
 
== تنظیم مدل (Regularization) ==
پیچیدگی مدلهای پارامتری با تعداد پارامترهای مدل و مقادیر آنها سنجیده می شود. هرچه این پیچیدگی بیشتر باشد خطر [[بیش‌برازش]] (Overfitting) برای مدل بیشتر است. پدیده بیش‌برازش زمانی رخ می دهد که مدل بجای یادگیری الگوهای داده، داده را را حفظ می‌کند و در عمل یادگیری به خوبی انجام نمی شود. برای جلوگیری از [[بیش‌برازش]] در مدلهای خطی مانند ریگرسیون خطی یا ریگرسیون لوجیستیک جریمه‌ای به تابع ضرر اضافه می‌شود تا از افزایش زیاد پارامترها جلوگیری شود. تابع ضرر را در ریگرسیون لوجیستیک با منفی لگاریتم درست‌نمایی تعریف میکنیم تا کمینه کردن آن به بیشینه کردن تابع درست نمایی بیانجامد. به این کار تنظیم مدل یا Regularization گفته می‌شود. دو راه متداول تنظیم مدلهای خطی روشهای <math>L1</math> و <math>L2</math> هستند. در روش <math>L1</math> ضریبی از نُرمِ <math>L1</math> به تابع ضرر اضافه می‌شود و در روش <math>L2</math> ضریبی از نُرمِ <math>L2</math> که همان نُرمِ اقلیدسی است به تابع ضرر اضافه می‌شود.
 
در تنظیم مدل به روش  <math>L1</math> تابع ضرر را به این شکل تغییر می دهیم:‌
 
<math> L_r(D, \vec{\beta}) = -L(D, \vec{\beta}) + \lambda ||\vec{\beta}||_1= \sum_{i=1}^{n} (\vec{\beta} \, . \, \vec{x^{i}} - y_i)^2 + \lambda\sum_{k=0}^m |\beta_k|</math>
 
این روش تنظیم مدل که به روش لاسو (Lasso) نیز شهرت دارد باعث می شود که بسیاری از پارامترهای مدل نهائی صفر شوند و مدل به اصطلاح خلوت (Sparse) شود.
 
در تنظیم مدل به روش  <math>L2</math> تابع ضرر را به این شکل تغییر می دهیم:‌
 
<math> L_r(D, \vec{\beta}) = L(D, \vec{\beta}) + \lambda ||\vec{\beta}||^2_2= \sum_{i=1}^{n} (\vec{\beta} \, . \, \vec{x^{i}} - y_i)^2 + \lambda\sum_{k=0}^m \beta_k^2</math>
 
در روش تنظیم از طریق <math>L2</math> سعی می‌شود طول اقلیدسی بردار <math> \vec{\beta}</math> کوتاه نگه داشته شود. <math>\lambda</math> در روش <math>L1</math> و <math>L2</math> یک عدد مثبت است که میزان تنظیم مدل را معین میکند. هرچقدر <math>\lambda</math>کوچکتر باشد جریمه کمتری برا بزرگی نرم بردار پارمترها یعنی <math>\vec{\beta}</math> پرداخت میکنیم. مقدار ایده‌آل <math>\lambda</math> از طریق آزمایش بر روی داده اعتبار (Validation Data) پیدا میشود.
 
== جستارهای وابسته ==