بیش برازش یا overfitting در یادگیری ماشین چیست؟ نحوه جلوگیری

بیش برازش یا overfitting در یادگیری ماشین چیست؟ نحوه جلوگیری

overfitting چیست؟

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

overfitting یا بیش برازش

الگوریتم های یادگیری ماشین با استفاده از مجموعه داده های نمونه برای آموزش مدل ساخته می شوند. با این حال، اگر مدل برای مدت طولانی روی داده‌های نمونه تمرین کند یا اگر مدل خیلی پیچیده باشد، ممکن است شروع به یادگیری “نویز” یا اطلاعات نامربوط در مجموعه داده شود. وقتی مدل این نویز را به خاطر می‌سپارد و به مجموعه آموزشی نزدیک می‌شود، «بیش از حد برازش می‌شود» و تلاش می‌کند تا به خوبی به داده‌های جدید تعمیم دهد. اگر مدلی نتواند به خوبی تعمیم دهد، وظایف طبقه بندی یا پیش بینی مورد نظر را انجام نخواهد داد.

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

شما می توانید برای یادگیری بهتر مباحث یادگیری ماشین در دوره یادگیری ماشین با پایتون مکتب خونه شرکت کنید

دوره یادگیری ماشین با پایتون

تعریف خطای تعمیم در یادگیری ماشین

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

در یادگیری نظارت شده در یادگیری ماشینی و نظریه یادگیری آماری، خطای تعمیم (که خطای خارج از نمونه نیز نامیده می شود) بررسی می کند که چگونه یک الگوریتم می تواند نتایج را برای داده هایی که قبلاً ندیده است، پیش بینی کند.

درک این نکته مهم است که تفاوت بین پیش بینی ها و داده های مشاهده شده ناشی از عدم دقت مدل، خطای نمونه گیری و نویز است. در حالی که برخی از خطاها را می توان کاهش داد، برخی دیگر نمی توانند. انتخاب الگوریتم مناسب و تنظیم پارامترها ممکن است دقت مدل را افزایش دهد، اما دستیابی به پیش بینی های ۱۰۰٪ دقیق امکان پذیر نیست.

چرا overfitting اتفاق می افتد؟

پیش‌بینی‌های دقیق زمانی امکان‌پذیر است که یک مدل یادگیری ماشین به خوبی به همه انواع داده‌ها در حوزه خود تعمیم داده شود. تطبیق بیش از حد زمانی اتفاق می‌افتد که مدل نتواند تعمیم دهد و خیلی نزدیک به مجموعه داده آموزشی تناسب داشته باشد. برازش بیش از حد (overfitting) به دلایل مختلفی رخ می دهد، مانند:

  1. اندازه داده های آموزشی بسیار کوچک است، فاقد نمونه های کافی برای نمایش تمام مقادیر داده های ورودی ممکن است.
  2. داده های آموزشی حاوی اطلاعات بی ربط زیادی است که به داده های نویز معروف هستند.
  3. مدل برای یک دوره طولانی بر روی یک مجموعه نمونه از داده ها آموزش می بیند.
  4. پیچیدگی مدل زیاد است و باعث می‌شود نویز در داده‌های آموزشی بوجود بیاید.

مثال های overfitting یا برازش بیش از حد

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

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

نشانه های overfitting
نشانه های overfitting

۱۰ تکنیک برای جلوگیری از نصب بیش از حد

در اینجا روش هایی برای جلوگیری از برازش بیش از حد و بهبود عملکرد مدل وجود دارد:

  1. با داده های بیشتری آموزش را انجام بدهید
    • برای بهبود مدل خود، از داده های آموزشی بیشتری استفاده کنید. هنگامی که مجموعه داده بزرگتری دارید، ویژگی های اساسی بیشتر قابل توجه می شوند. مدل می تواند ارتباط بین ویژگی های ورودی و متغیر خروجی را بهتر درک کند. با این حال، مهم است که اطمینان حاصل شود که داده های وارد شده به مدل تمیز هستند تا از بدتر شدن مشکل بیش از حد برازش جلوگیری شود.
  2. افزایش داده ها(Data augmentation)
    • به جای افزایش داده های آموزشی، روش دیگر افزایش داده است. این رویکرد مقرون به صرفه و ایمن تر از استفاده از داده های بیشتر است. افزایش داده شامل ایجاد تغییرات جزئی در داده های نمونه هر بار که مدل آن را پردازش می کند.
  3. اضافه کردن نویز به داده های ورودی
    • افزودن نویز به داده های ورودی و خروجی گزینه ای مشابه با افزایش داده است. افزودن نویز به ورودی، ثبات مدل را بدون به خطر انداختن کیفیت و حریم خصوصی داده ها تضمین می کند، در حالی که افزودن نویز به خروجی، داده ها را متنوع تر می کند. بسیار مهم است که مقدار نویز اضافه شده را محدود کنید تا از نادرست یا متفاوت شدن داده ها جلوگیری کنید.
  4. انتخاب ویژگی
    • مدل ها بسته به عواملی مانند تعداد لایه ها و نورون ها، پارامترها یا ویژگی های مختلفی دارند. شناسایی ویژگی‌های اضافی یا مواردی که از دیگران قابل تشخیص هستند، می‌تواند منجر به پیچیدگی غیرضروری شود. یک مدل پیچیده تر، خطر بیش از حد برازش را افزایش می دهد.
  5. اعتبار سنجی متقابل
    • اعتبارسنجی متقابل یک اقدام قوی برای جلوگیری از برازش بیش از حد است. این شامل تقسیم مجموعه داده کامل به قطعات است. در اعتبار سنجی متقابل K-fold استاندارد، داده ها به k fold تقسیم می شوند و الگوریتم به طور مکرر بر روی k-1 برابر آموزش داده می شود در حالی که از holdout fold باقی مانده به عنوان مجموعه آزمایشی استفاده می شود. این روش به تنظیم هایپرپارامترها و آزمایش مدل با استفاده از داده های کاملاً نادیده کمک می کند.
  6. داده ها را ساده کنید
    • پیچیدگی دلیل اصلی برازش بیش از حد است. روش های ساده سازی داده ها با کاهش پیچیدگی مدل، برازش بیش از حد را کاهش می دهند. رویه ها شامل هرس درختان تصمیم، کاهش پارامترهای شبکه عصبی و استفاده از حذف در شبکه عصبی است.
  7. منظم سازی
    • اگر به دلیل پیچیدگی مدل بیش از حد برازش شود، کاهش تعداد ویژگی‌ها سودمند است. روش‌های منظم‌سازی مانند Lasso، L1 زمانی که مطمئن نیستید کدام ویژگی‌ها را حذف کنید، می‌توانند کمک کنند. منظم‌سازی جریمه‌ای را برای پارامترهای ورودی با ضرایب بزرگ‌تر اعمال می‌کند و واریانس مدل را محدود می‌کند.
  8. گروه بندی
    • Ensembling چندین مدل پایه را برای ایجاد یک مدل پیش بینی بهینه ترکیب می کند. روش‌هایی مانند بسته‌بندی و تقویت، با جمع‌آوری پیش‌بینی‌های مدل‌های متعدد، از برازش بیش‌ازحد یا overfitting جلوگیری می‌کنند.
  9. توقف زودهنگام
    • این روش آموزش مدل را قبل از به خاطر سپردن نویز و نوسانات تصادفی از داده ها متوقف می کند. این خطر وجود دارد که تمرینات را خیلی زود متوقف کنید که منجر به عدم تناسب شود. یافتن زمان تکرار تمرین بهینه بسیار مهم است.
  10. افزودن لایه های حذفی
    • وزن های بزرگ در یک شبکه عصبی نشان دهنده یک شبکه پیچیده تر است. حذف گره ها در شبکه به طور احتمالی یک روش ساده و موثر برای جلوگیری از برازش بیش از حد است. در تنظیم، برخی از خروجی های لایه به طور تصادفی نادیده گرفته می شوند یا برای کاهش پیچیدگی مدل حذف می شوند.
K-fold cross-validation
K-fold cross-validation

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

Overfitting و Underfitting در یادگیری ماشین

برازش بیش از حد و عدم تناسب چالش‌های رایج در یادگیری ماشین هستند که می‌توانند بر عملکرد یک مدل تأثیر بگذارند. درک این مفاهیم برای ایجاد مدل های یادگیری ماشینی موثر بسیار مهم است.

Overfitting در مقابل Underfitting در مقابل Goodmodel
Overfitting در مقابل Underfitting در مقابل Goodmodel

برای درک برازش بیش از حد (overfiting) و عدم تناسب(underfitting)، مهم است که با مجموعه داده های آموزشی و آزمایشی آشنا باشید. تطبیق بیش از حد زمانی اتفاق می‌افتد که مدل بیش از حد پیچیده باشد و با داده‌های آموزشی مطابقت داشته باشد. در حالی که این مدل ممکن است روی داده های آموزشی عملکرد خوبی داشته باشد، اما در پیش بینی دقیق نتایج برای داده های جدید و دیده نشده شکست خورده است که منجر به تعمیم ضعیف می شود.

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

Underfitted vs. Fit vs. Overfitted model
مدل Underfitted در مقابل Fit در مقابل Overfitted

تکنیک های منظم سازی (regularization) جلوگیری از برازش بیش از حد (overfitting) در یادگیری عمیق

تنظیم L1 و L2

یک راه ساده و در عین حال موثر برای جلوگیری از بیش از حد مناسب کردن، از طریق منظم سازی یا (Regularization) است. منظم سازی شامل اضافه کردن یک عبارت جریمه به تابع ضرر است و مدل را از اهمیت دادن بیش از حد به هر ویژگی منع می کند. دو نوع متداول منظم سازی عبارتند از: L1 و L2.

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

Dropout

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

Dropout را به عنوان یک تیم متخصص تصور کنید. در هر جلسه (دوران)، یک زیرمجموعه تصادفی از کارشناسان شرکت نمی کنند. این تیم را وادار می کند تا خودکفاتر و سازگارتر شود.

توقف زودهنگام

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

این شبیه به پختن ماکارونی است. شما فقط یک تایمر را برای ۱۰ دقیقه بدون بررسی نحوه پخت ماکارونی تنظیم نمی کنید. هنگام پخت آن را میل می کنید تا مطمئن شوید که کاملا پخته شده است. به طور مشابه، توقف زودهنگام به جلوگیری از پختن بیش از حد مدل شما در داده های آموزشی کمک می کند.

افزایش داده ها(Data Augmentation)

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

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

منابع

v7labs

ibm

amazon

medium

medium

medium

medium

۰ ۰ رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
www.novin.com
مقالات پیشنهادی سایوتک
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

بیش برازش یا overfitting در یادگیری ماشین چیست؟ نحوه جلوگیری

فهرست