Regularization چیست؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۱۹۸ نفر آنلاین
۴۶ عضو و ۱۵۲ مهمان در سایت حاضرند

Regularization چیست؟

0 امتیاز
سلام.

مثل همه موارد wiki را مطالعه کردم در این زمینه .برای کسی که رشته اش ریاضی محض نباشه قابل فهم نیست کسی می تونه به زبان ساده برام توضیح بده؟
سوال شده فروردین 15, 1396  بوسیله ی شاهین (امتیاز 114)   5 21 30

5 پاسخ

+1 امتیاز

به زبان ساده باعث جلوگیری از overfitting شبکه میشه اینکار هم از طریق اضافه کردن  مجموع وزن به cost function حاصل میشه.

پاسخ داده شده تیر 6, 1396 بوسیله ی sharp man (امتیاز 179)   3
0 امتیاز

زمانیکه شبکه های پیچیده برای مسائل ساده در نظر می گیرید شبکه بعد از چندین epoch دچار overfitting مبشه که در این شرایط یکی از راههای جلوگیری از overfitting کاهش حجم شبکه هستش که یکی میشه جراحی شبکه که یه بخش هایی از شبکه کنار گذاشته بشه و راهی دیگر برای حجم صفر کردن برخی از وزن ها از طریق regularization هستش که در این روش وزن های کوچک تشویق به بزرگ شدن و وزن ها بزرگ جریمه شده و بف صفر میل می کنند روش های مرسوم برای اینکار روش ها l1,l2 هستند تحت lasso و ridge هستند که از مجموع وزن ها هر لایه جهت تعدیل وزن ها مورد استفاده میشه در روش l1 ازجمع  قدرمطلق  وزنها و در روش l2 از جمع مجذور وزن ها استفاده میشه البته روش سومی هم وجود داره که از ترکیب دو روش l1 و l2 هستش.

پاسخ داده شده اردیبهشت 2, 1398 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
0 امتیاز
منظم سازی تکنیکی است که در یادگیری ماشین برای جلوگیری از تطبیق بیش از حد با افزودن یک عبارت جریمه به تابع هزینه استفاده می شود. این اصطلاح که اصطلاح منظم سازی نامیده می شود، مدل را از تخصیص وزن بیش از حد به هر یک از ویژگی های ورودی منحرف می کند. انواع متداول منظم سازی شامل تنظیم L1 است که قدر مطلق وزن ها را به تابع هزینه اضافه می کند و منظم سازی L2 که مجذور وزن ها را به تابع هزینه اضافه می کند. منظم‌سازی با قوی‌تر کردن مدل در برابر نویز در داده‌های آموزشی و حساسیت کمتر به نوسانات کوچک در ورودی، به بهبود تعمیم مدل کمک می‌کند.
پاسخ داده شده بهمن 4, 1401 بوسیله ی عباس مولایی (امتیاز 2,754)   1 5 13
0 امتیاز
منظم سازی در واقع تکنیکی است که برای جلوگیری از برازش بیش از حد با تنظیم پیچیدگی یک مدل استفاده می شود. هدف یافتن تعادل مناسب بین داشتن مدلی بسیار ساده و کمتر از داده ها و مدلی که بیش از حد پیچیده و بیش از حد با داده ها تناسب دارد، پیدا شود.
 
چندین روش منظم سازی وجود دارد که معمولاً در یادگیری ماشین استفاده می شود، مانند منظم سازی L1 , L2, dropout و توقف زودهنگام.
 
منظم‌سازی L1 که به نام تنظیم Lasso  نیز شناخته می‌شود، یک عبارت جریمه به تابع ضرر اضافه می‌کند که متناسب با مقدار مطلق پارامترهای مدل است. این مدل را تشویق می‌کند تا تنها مهم‌ترین ویژگی‌ها را انتخاب کند و به طور موثر انتخاب ویژگی را انجام دهد و پیچیدگی مدل را کاهش دهد.
 
منظم‌سازی L2 که به نام منظم‌سازی Ridge نیز شناخته می‌شود، یک عبارت جریمه به تابع ضرر اضافه می‌کند که متناسب با مجذور پارامترهای مدل است. این مدل را تشویق می کند که مقادیر پارامترهای کوچکی داشته باشد، به طور موثر پیچیدگی مدل را کاهش می دهد و از برازش بیش از حد جلوگیری می کند.
 
منظم‌سازی dropout  به‌طور تصادفی برخی از نورون‌های مدل را در طول آموزش حذف می‌کند و نورون‌های باقی‌مانده را مجبور می‌کند تا ویژگی‌های قوی‌تر و قابل تعمیم بیشتری بیاموزند. این امر با کاهش وابستگی مدل به ویژگی‌های خاص، به جلوگیری از برازش بیش از حد کمک می‌کند.
 
توقف زودهنگام روشی است که در آن مدل برای تعداد ثابتی از دوره‌ها آموزش داده می‌شود، و زمانی که خطای اعتبارسنجی بهبود نمی‌یابد، آموزش متوقف می‌شود. این کار با متوقف کردن تمرین قبل از اینکه مدل شروع به اضافه شدن کند، به جلوگیری از اضافه کردن کمک می‌کند.
 
منظم‌سازی می‌تواند ابزاری قدرتمند برای مدیریت همخطی یا همبستگی بین ویژگی‌ها، یافتن نویز داده‌ها و جلوگیری از برازش بیش از حد باشد. با تنظیم پیچیدگی مدل، منظم سازی می تواند به بهبود عملکرد تعمیم مدل کمک کند و آن را برای داده های جدید قوی تر کند.
پاسخ داده شده اردیبهشت 21, 1402 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
0 امتیاز

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

رگولارسازی با اضافه کردن جریمه به تابع زیان که متناسب با اندازه وزن‌های مدل است کار می‌کند. این جریمه مدل را تشویق می‌کند تا وزن‌های کوچکتر و ساده تری پیدا کند که به جلوگیری از overfitting کمک می‌کند.

دو نوع اصلی رگولارسازی وجود دارد: رگولارسازی L1 و رگولارسازی L2. رگولارسازی L1 یک جریمه به تابع زیان اضافه می‌کند که متناسب با مقدار مطلق وزن‌ها است. این باعث می‌شود که مدل وزن‌هایی را پیدا کند که نزدیک به صفر باشند. رگولارسازی L2 یک جریمه به تابع زیان اضافه می‌کند که متناسب با مربع وزن‌ها است. این باعث می‌شود که مدل وزن‌های کوچکی پیدا کند، اما لزوماً صفر نیستند.

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

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

پاسخ داده شده مرداد 30, 1402 بوسیله ی عباس همت خواه (امتیاز 436)   2 8 13
...