رگولاریزاسیون در یادگیری ماشین

منتشرشده در towardsdatascience
لینک مقاله اصلی: Regularization in Machine Learning

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

مفهوم توازن بایاس و واریانس، در درک پدیده بیش برازش مفید است.

این مقاله بر تکنیکی تمرکز خواهد کرد که به اجتناب از بیش برازش و همچنین افزایش قابلیت تفسیر مدل کمک می‌کند.

رگولاریزاسیون

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

یک رابطه ساده برای رگرسیون خطی به این شکل است. در اینجا Y نشان‌دهنده رابطه آموخته‌شده و β نشان‌دهنده ضریب تخمینی برای متغیرها یا پیش‌بینی‌کننده‌های مختلف (X) است.

رویه برازش شامل یک تابع تلفات است که به مجموع مربعات باقی مانده یا RSS شناخته می‌شود. ضرایب به گونه‌ای انتخاب می‌شوند که این تابع تلفات را به حداقل برسانند.

اکنون، این کار ضرایب را براساس داده‌های آموزشی شما تنظیم خواهد کرد. اگر در داده‌های آموزشی نویز وجود داشته باشد، ضرایب برآورد شده به خوبی به داده‌های آینده تعمیم داده نمی‌شوند. این جایی است که رگولاریزاسیون وارد می‌شود و این برآوردهای آموخته‌شده را به سمت صفر کاهش داده یا تعدیل می‌کند.

رگرسیون ستیغی

تصویر بالا رگرسیون ستیغی را نشان می‌دهد، که در آن RSS با اضافه کردن مقدار انقباض اصلاح می‌شود. اکنون ضرایب با به حداقل رساندن این تابع تخمین زده می‌شوند. در اینجا، λ پارامتر تنظیم‌کننده است که تعیین می‌کند ما چقدر می‌خواهیم انعطاف‌پذیری مدل خود را جریمه کنیم. افزایش انعطاف‌پذیری یک مدل با افزایش ضرایب آن نشان داده می‌شود و اگر بخواهیم تابع بالا را به حداقل برسانیم، این ضرایب باید کوچک باشند. روش رگرسیون ستیغی به این شیوه از بالا رفتن ضرایب جلوگیری می‌کند. همچنین، توجه داشته باشید که ما ارتباط برآورد شده هر متغیر را با پاسخ کوچک می‌کنیم، به جز برخورد β۰، این برخورد معیار مقدار میانگین پاسخ در زمانی است که xi1=xi2=...=xip=0.

وقتی،‌ λ=۰ باشد، جمله جریمه هیچ تاثیری ندارد و برآوردهای ایجاد شده توسط رگرسیون ستیغی برابر با حداقل مربعات خواهند بود. با این حال، با افزایش λ به سمت بی‌نهایت، تاثیر جریمه انقباض افزایش می‌یابد و برآورد ضریب رگرسیون ستیغی به صفر میل می‌کند. همانطور که دیده می‌شود، انتخاب یک مقدار خوب از λ حیاتی است. اعتبار سنجی متقابل برای این هدف مفید است. برآوردهای ضریب تولید شده توسط این روش همچنین به عنوان نُرم L2 شناخته می‌شوند.

ضرایب تولید شده توسط روش حداقل مربع استاندارد، متغیر مقیاس هستند، یعنی اگر ما هر ورودی را در c ضرب کنیم آنگاه ضرایب مربوطه با ضریب ۱ به روی c مقیاس بندی می‌شوند. بنابراین، صرف‌نظر از اینکه چگونه پیش‌بینی‌کننده مقیاس بندی می‌شود، ضرب پیش‌بینی‌کننده و ضریب (Xjβj) یک‌سان باقی می‌ماند. با این حال، این مورد در مورد رگرسیون ستیغی صدق نمی‌کند، و بنابراین، ما باید پیش از انجام رگرسیون ستیغی، پیش‌بینی‌کننده‌ها را استاندارد کرده یا آن‌ها را به همان مقیاس ببریم. فرمول مورد استفاده برای انجام این کار در زیر آورده شده‌است.

لاسو

لاسو یک تغییر دیگر است که در آن تابع بالا به حداقل می‌رسد. واضح است که این تغییر تنها در جریمه ضرایب بالا با رگرسیون ستیغی متفاوت است. در این روش از | βj | (ماژول) به جای مربع β به عنوان جریمه استفاده می‌شود. در آمار، این به عنوان نُرم L1 شناخته می‌شود.

اجازه دهید با دیدی متفاوت نگاهی به روش‌های بالا بیندازیم. رگرسیون ستیغی را می توان به عنوان حل یک معادله در نظر گرفت که در آن مجموع مربعات ضرایب کم‌تر یا مساوی با s است. و لاسو می‌تواند به عنوان معادله‌ای در نظر گرفته شود که در آن مجموع ماژول‌های ضرایب کم‌تر یا مساوی با s است. در اینجا s ثابتی است که برای هر مقدار فاکتور انقباض λ وجود دارد. این معادلات به نام توابع محدودیت نیز شناخته می‌شوند.

فرض کنید که این‌ها، دو پارامتر در یک مسئله مشخص هستند. سپس با توجه به فرمول بالا، رگرسیون ستیغی توسط β۱² + β۲²≤s بیان می‌شود. این بدان معنی است که ضرایب رگرسیون ستیغی دارای کوچک‌ترین RSS (تابع زیان) برای تمام نقاطی هستند که در دایره ایجاد ‌شده توسط β۱² + β۲²≤s قرار دارند.

به طور مشابه، برای لاسو، معادله تبدیل به |β1|+|β2|≤ s می‌شود. این بدان معنی است که ضرایب لاسو کوچک‌ترین RSS (تابع زیان) را برای تمام نقاطی که در داخل لوزی ایجاد شده توسط |β1|+|β2|≤ s دارند.

تصویر زیر این معادلات را توصیف می‌کند.

اعتبار: مقدمه‌ای بر یادگیری آماری توسط گرت جیمز، دانیل ویتن، تروور هاستیه، رابرت تیبشیرانی
اعتبار: مقدمه‌ای بر یادگیری آماری توسط گرت جیمز، دانیل ویتن، تروور هاستیه، رابرت تیبشیرانی

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

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

رگولاریزاسیون به چه چیزی دست می‌یابد؟

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

این تمام مباحث پایه‌ای است که شما نیاز دارید تا بتوانید رگولاریزاسیون را شروع کنید. رگولاریزاسیون یک تکنیک مفید است که می‌تواند به بهبود دقت مدل‌های رگرسیون شما کمک کند. یک کتابخانه محبوب برای اجرای این الگوریتم، «Scikit-Learn» است. این کتابخانه یک api فوق‌العاده دارد که می‌تواند مدل شما را با تنها چند خط کد در پایتون اجرا کند.

این متن با استفاده از ربات ترجمه مقاله علمی ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.