منبع اصلی نوشتار زیر در این لینک قرار دارد

تعاریف و تفاوت های L1 Regularization و L2 Regularization در یادگیری ماشین

در این مطلب میخواهیم تعاریف ریاضی و کاربردهای L1 و L2 regularization را مرور کنیم و در نهایت به این مطلب برسیم که تفاوت هر کدام با دیگری چیست. با دانستن تفاوت عملکرد آنها می توانیم موقعیت استفاده از هر کدام را تشخیص دهیم.

نُرم L1 یا L1 Regularization یا Lasso

همانطور که از تیتر مشخص است، به L1 Regularization با نام های نُرم L1 یا Lasso هم اشاره می شود.

در نُرم L1 ما پارامتر وزنی که این نُرم روی آن اعمال می شود را تا نزدیک صفر کوچک می کنیم. حالا اگر ویژگی های داده ورودی هم کوچک و نزدیک به صفر باشند (مثلاً نرمالیزه شده باشند)، آنگاه می توانیم بگوییم اعمال نُرم L1 موجب می شود تا یک مدل “نُرم L1 خلوت” یا sparse L1 norm داشته باشیم. در مدل sparse L1 norm وزن های کمی غیر از صفر هستند؛ در نتیجه تعداد ویژگی یا feature کمتری از داده ها در فرآیند یادگیری الگوریتم یادگیری ماشین درگیر و استفاده می شوند.

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

تا به اینجای بحث می توان گفت L1 regularization عملکرد feature selection را دارد. و این کار را با انتساب وزن های صفر به ویژگی های غیرمهم و وزن های بزرگتر از صفر به ویژگی های تاثیر گذار، انجام می دهد (در عمل داده ورودی با همه ویژگی ها وارد الگوریتم می شود اما همه ویژگی ها وزن غیرصفر ندارند و همه آنها استفاده نمی شوند).

تعریف یک تابع هزینه همراه با L1 regularization

تعریف یک تابع هزینه همراه با L1 regularization

در نُرم L1 مقدار پنالتی/جریمه ای که به تابع هزینه اضافه می کنیم، مجموع قدر مطلق همه وزن هاست که در یک مقدار ثابت ضرب می شود تا میزان تاثیر این نُرم هم قابل کنترل باشد. در تصویر بالا جمله ای که به تابع هزینه اضافه شده و در کادر داخلی قرمز رنگ است، همان جمله پنالتی نُرم L1 است.

نُرم L1 یا Lasso مدلی تولید می کند که ساده و قابل تفسیر است و تنها زیرمجموعه ای ویژگی های داده های ورودی را استفاده می کند.

 

نُرم L2 یا L2 Regularization یا Ridge

تعریف یک تابع هزینه همراه با L2 regularization

تعریف یک تابع هزینه همراه با L2 regularization

در نُرم L2 جمله پنالتی در تابع هزینه، با جمع مجذور همه وزن های روی اتصالات به دست می آید که در کادر قرمز داخلی در تصویر بالا قابل مشاهده است.

نُرم L2 وزن های مدل یادگیری را وا می دارد تا کوچک باقی بمانند اما بر خلاف نُرم L1 آن ها را صفر نمی کند؛ در نتیجه استفاده از نُرم L2 منجر به ایجاد یک مدل یادگیری ماشین خلوت نمی شود.

نُرم L2 در قبال وجود داده های outlier در دیتاست مورد استفاده خوب عمل نمی کند؛ چرا که در نقاط outlier خطای پیش‌بینی مدل بسیار زیاد می شود و با داشتن جمله پنالتی نُرم L2 در آن تابع، وزن های مدل کوچکتر خواهد شد. مدلی که از نُرم L2 استفاده می کند (اصطلاحاً مدل Ridge)، زمانی جواب بهتری خواهد داشت که تمام ویژگی های داده ورودی روی مقدار هدف پیش‌بینی (label/target) آن تاثیرگذار باشند و همچنین وزن های داخل مدل به طور تقریباً مساوی مقداردهی اولیه شده باشند.

 

تفاوت های L1 و L2 regularization

نُرم L1

  • مجموع قدر مطلق وزن ها را به هزینه/خطا اضافه می کند.
  • نُرم L1 یک مدل خلوت تر ایجاد می کند.
  • ممکن است براساس اثردهی زیرمجموعه های متفاوت از ویژگی ها، مدل با نُرم L1 چند یادگیری متفاوت ایجاد کند.
  • با نُرم L1 خاصیت feature selection حاصل می شود.
  • نُرم L1 در مواجهه با نقاط outlier در داده های ورودی، عملکرد بهتری و مقاوم‌تری دارد.
  • نُرم L1 می تواند مدلی ساده و قابل تفسیر ایجاد کند اما همین سبب می شود تا الگوریتم قادر نباشد الگوهای پیچیده را یاد بگیرد.

نُرم L2

  • مجموع مجذور وزن ها را به هزینه/خطا اضافه می کند.
  • نُرم L2 یک مدل خلوت ایجاد نمی کند.
  • نُرم L2 تنها یک یادگیری/راه حل در الگوریتم یادگیری ماشین ایجاد می کند و براساس استفاده از زیرمجموعه های متفاوت از ویژگی ها عمل نمی کند.
  • با نُرم L2 خاصیت feature selection حاصل نمی شود.
  • نُرم L2 در مواجهه با نقاط outlier در داده های ورودی، عملکرد خوبی ندارد.
  • زمانی که مقدار هدف پیش‌بینی تابعی از همه ویژگی ها داده ورودی باشد، نُرم L2 یادگیری بهتری را سبب می شود.
  • با نُرم L2 بر خلاف نُرم L1 ، می توان الگوهای پیچیده را در داده ورودی یاد گرفت.

دیدیم که هر دوی نُرم L1 و نُرم L2 قدرت و ضعف هایی دارند.

 

در این آخرین پاراگراف، می خواهم سرنخی به شما بدهم که ایده احتمالی شما را تایید کند! آیا بهتر نیست هر دو را با همدیگر استفاده کنیم تا ضعف های یکدیگر را پوشش دهند؟ آیا موجب به نتیجه بهتر خواهد شد؟ جواب مثبت است. به الگوریتم Elastic net regularization که ترکیبی از هر دو  L1 و L2 regularization را استفاده می کند نگاهی بیاندازید!

 

 

منبع خلاصه و ترجمه:

L1 and L2 Regularization

نوشته تعاریف و تفاوت های L1 Regularization و L2 Regularization در یادگیری ماشین اولین بار در اوپن مایند. پدیدار شد.