روش اعتبارسنجی متقابل در آمار
در آمار و علوم داده، یکی از بزرگترین چالشها، اطمینان از این است که یک مدل نه تنها روی دادههایی که روی آنها آموزش دیده است، عملکرد خوبی داشته باشد، بلکه روی دادههای جدید و قبلاً دیده نشده نیز عملکرد خوبی داشته باشد. این مشکل اغلب به عنوان تعمیم شناخته میشود. اینجاست که اعتبارسنجی متقابل وارد عمل میشود: یک روش ارزیابی مدل که برای اندازهگیری منصفانهتر و مداومتر عملکرد مدل نسبت به یک ارزیابی واحد با استفاده از یک مجموعه داده واحد طراحی شده است.
چرا اعتبارسنجی متقابل مورد نیاز است؟
وقتی یک مدل پیشبینی میسازیم - مثلاً یک مدل رگرسیون برای پیشبینی قیمت خانه یا یک مدل طبقهبندی برای تشخیص هرزنامه - معمولاً دادهها را به دو بخش تقسیم میکنیم: یک مجموعه آموزشی و یک مجموعه آزمایشی. مدل روی دادههای آموزشی آموزش داده میشود و سپس روی دادههای آزمایشی ارزیابی میشود. این رویکرد ساده است، اما یک اشکال دارد: نتایج ارزیابی میتواند به شدت به نحوه تقسیم دادهها بستگی داشته باشد. اگر دادههای آزمایشی «آسان» باشند، عملکرد بالا به نظر میرسد؛ اگر دادههای آزمایشی «سخت» باشند، عملکرد پایین به نظر میرسد.
اعتبارسنجی متقابل با انجام چندین فرآیند آموزش و آزمایش روی مجموعه دادههای مختلف و سپس میانگینگیری از نتایج، وابستگی به یک مجموعه داده واحد را کاهش میدهد. این امر منجر به تخمینهای عملکردی میشود که بیشتر نمایانگر شرایط دنیای واقعی هستند.
مفاهیم اساسی اعتبارسنجی متقابل
اساس اعتبارسنجی متقابل، تقسیم دادهها به چندین بخش (fold) است. در هر تکرار، از برخی foldها برای آموزش مدل و از یک fold برای آزمایش مدل استفاده میشود. این فرآیند تا زمانی که هر fold به عنوان دادههای آزمایشی استفاده شود، تکرار میشود. سپس نمرات ارزیابی از هر تکرار (معمولاً با میانگین و گاهی اوقات نیز با انحراف معیار) ترکیب میشوند تا یک نمای کلی از عملکرد مدل ارائه شود.
برای مثال، در اعتبارسنجی متقاطع k-fold با k=5، دادهها به 5 fold تقسیم میشوند. تکرار اول: fold 1 به عنوان تست، fold های 2-5 به عنوان آموزش. تکرار دوم: fold 2 به عنوان تست و به همین ترتیب تا fold 5.
انواع رایج اعتبارسنجی متقابل
۱. اعتبارسنجی ماندگار (تقسیم آموزش-آزمون)
اگرچه از نظر فنی اعتبارسنجی متقابل «تکرارشونده» نیست، روش holdout اغلب یک مرحله اعتبارسنجی اساسی در نظر گرفته میشود. دادهها یک بار تقسیم میشوند، به عنوان مثال، ۸۰٪ آموزش و ۲۰٪ آزمایش. مزیت آن این است که سریع و ساده است، اما عیب آن واریانس بالا در نتایج است زیرا به یک تقسیم واحد متکی است.
این روش معمولاً زمانی استفاده میشود که دادهها بسیار بزرگ باشند، به طوری که حتی یک تقسیمبندی نیز به اندازه کافی نماینده باشد.
۲. اعتبارسنجی متقاطع K-Fold
این محبوبترین شکل اعتبارسنجی متقابل است. پارامتر k اغلب ۵ یا ۱۰ انتخاب میشود زیرا در نظر گرفته میشود که هزینه محاسباتی و کیفیت تخمین را متعادل میکند.
مزایای:
– استفاده کارآمدتر از دادهها (هر داده بخشی از آموزش و آزمایش میشود).
- تخمینهای عملکرد پایدارتر از حالت انتظار هستند.
ککورانگان:
– بیشتر طول میکشد زیرا مدل را k بار آموزش میدهد.
– اگر دادهها بسیار بزرگ یا مدل بسیار پیچیده باشد، هزینههای محاسباتی میتواند بالا باشد.
۳. اعتبارسنجی متقاطع K-Fold طبقهبندیشده
برای مسائل طبقهبندی، به خصوص اگر کلاسها نامتعادل باشند (مثلاً ۹۰٪ منفی، ۱۰٪ مثبت)، k-fold منظم میتواند چینهایی با توزیع کلاسهای اریب ایجاد کند. k-fold طبقهبندیشده تضمین میکند که نسبت کلاسها در هر چین تقریباً برابر با نسبت کلاسها در دادههای اصلی باشد.
این امر به ویژه در ارزیابی مدلهای تشخیص بیماری، کلاهبرداری یا موارد دیگری که کلاس اقلیت کوچک است، اهمیت دارد.
۴. اعتبارسنجی متقاطع با حذف یکباره (LOOCV)
در LOOCV، تعداد foldها برابر با مقدار دادهها است (k = n). این بدان معناست که در هر تکرار، فقط یک مشاهده به دادههای آزمایشی تبدیل میشود، در حالی که بقیه به دادههای آموزشی تبدیل میشوند.
مزایای:
– تقریباً از تمام دادهها برای آموزش در هر تکرار استفاده میشود، بنابراین خطای تخمین میتواند کوچک باشد.
ککورانگان:
- برای مجموعه دادههای بزرگ، از نظر محاسباتی بسیار پرهزینه است.
– واریانس تخمین در برخی از انواع مسائل میتواند بالا باشد، زیرا مجموعه آزمون فقط یک نقطه در هر تکرار است.
LOOCV اغلب زمانی استفاده میشود که دادههای بسیار کمی وجود دارد، برای مثال تحقیقاتی با حجم نمونه کوچک.
۵. اعتبارسنجی متقاطع K-Fold مکرر
این روش، k-fold را چندین بار با تخصیصهای (تصادفی) fold مختلف تکرار میکند. هدف، کاهش وابستگی به یک تخصیص fold واحد و تولید تخمینهای پایدارتر است.
برای مثال، «۱۰-fold تکرار شده ۳ بار» به معنی اجرای ۱۰-fold ۳ بار (در مجموع ۳۰ بار آموزش و ارزیابی) است.
۶. اعتبارسنجی متقابل سریهای زمانی
برای دادههای سری زمانی، اعتبارسنجی متقابل مرسوم مناسب نیست زیرا میتواند «آینده را به فرآیند آموزش نشت دهد». در سریهای زمانی، ترتیب زمانی باید حفظ شود. بنابراین، رویکردهایی مانند:
– پنجره غلتان/لغزشی: در دوره اولیه آموزش داده میشود و سپس در دوره بعدی آزمایش انجام میشود، سپس پنجره تغییر مکان میدهد.
– پنجره در حال گسترش: دادههای آموزشی با گذشت زمان افزایش مییابند، سپس در دوره بعدی آزمایش میشوند.
این روش برای پیشبینی فروش ماهانه، قیمت سهام یا حسگرهای بلادرنگ مرتبط است.
معیارهای ارزیابی در اعتبارسنجی متقابل
اعتبارسنجی متقابل تنها یک چارچوب ارزیابی است؛ معیارهای مورد استفاده به نوع مسئله بستگی دارند:
– رگرسیون: MSE، RMSE، MAE، R-squared.
– طبقهبندی: دقت، صحت، فراخوانی، امتیاز F1، ROC-AUC.
– طبقهبندی نامتعادل: ROC-AUC، PR-AUC (دقت-فراخوانی)، دقت متعادل.
نتایج اعتبارسنجی متقابل معمولاً به صورت میانگین و انحراف معیار گزارش میشوند (مثلاً دقت 0,89 ± 0,03). انحراف معیار به درک پایداری مدل کمک میکند.
اعتبارسنجی متقابل برای انتخاب مدل و تنظیم پارامتر
یکی از کاربردهای اصلی اعتبارسنجی متقابل، انتخاب مدل و تنظیم ابرپارامتر است. برای مثال:
– انتخاب k در k-NN.
– حداکثر عمق را در درخت تصمیم انتخاب کنید.
- پارامترهای منظمسازی را در رگرسیون ریج/لاسو تعیین کنید.
- C و گاما را در SVM تعیین کنید.
در روش های مناسب، فرآیند تنظیم (tuning) با استفاده از اعتبارسنجی متقابل (cross-validation) روی داده های آموزشی انجام می شود، در حالی که داده های تست نهایی برای ارزیابی نهایی جداگانه نگه داشته می شوند. این امر از «خوش بینی بیش از حد» ناشی از بیش برازش مدل به داده های ارزیابی جلوگیری می کند.
یک رویکرد دقیقتر، اعتبارسنجی متقابل تودرتو نام دارد که اعتبارسنجی متقابل درون اعتبارسنجی متقابل است: حلقه بیرونی برای ارزیابی و حلقه داخلی برای تنظیم است. این روش در تحقیقات رایج است زیرا تخمینهای عملکرد بیطرفانهتری ارائه میدهد.
مزایا و محدودیتهای اعتبارسنجی متقابل
مزایای اصلی:
۱. تخمینهای عملکرد پایدارتری نسبت به تقسیمبندی تکی ارائه میدهد.
۲. از دادهها به طور کارآمد استفاده کنید، به خصوص وقتی مجموعه دادهها کوچک است.
۳. به انتخاب یک مدل کلیتر کمک میکند و خطر بیشبرازش را کاهش میدهد.
کِتِرباتاسان:
۱. هزینههای محاسباتی با تکرار زیاد آموزش افزایش مییابد.
۲. اگر پیشپردازش به درستی انجام نشود، نشت دادهها همچنان میتواند رخ دهد.
۳. برای دادههای گروهبندیشده (مثلاً دادههای بیمار که چندین رکورد دارد)، به یک روش خاص مانند گروه k-fold نیاز است تا یک فرد بهطور همزمان در آموزش و آزمایش ظاهر نشود.
شیوههای خوب در استفاده از اعتبارسنجی متقابل
برای اینکه یک ارزیابی معتبر باشد، باید چند اصل مهم رعایت شود:
– پیشپردازش (نرمالسازی، جانهی، انتخاب ویژگی) را درون هر لایه انجام دهید، نه یک بار برای کل دادهها. در غیر این صورت، اطلاعات لایه آزمایشی میتواند به لایه آموزشی نشت کند.
– برای طبقهبندی با کلاسهای نامتوازن، از k-fold طبقهبندیشده استفاده کنید.
– از یک طرح خاص برای دادههای سری زمانی استفاده کنید تا ترتیب نقض نشود.
– اگر هدف شما ارزیابی عملکرد نهایی مدل قبل از استقرار است، مجموعه تست نهایی را کنار بگذارید.
بستن
اعتبارسنجی متقابل ابزاری اساسی در آمار کاربردی و یادگیری ماشین برای ارزیابی منصفانهتر و قویتر عملکرد مدل است. با استفاده از اشتراکگذاری مکرر دادهها، اعتبارسنجی متقابل به کاهش سوگیری ناشی از انتخاب تقسیمبندی آموزش-آزمون کمک میکند، بیشبرازش را تشخیص میدهد و از انتخاب مدل و تنظیم فراپارامتر پشتیبانی میکند. اگرچه هزینه محاسباتی بالاتر است، اما مزایای آن اغلب ارزشش را دارد، به خصوص زمانی که مجموعه دادهها کوچک است یا زمانی که تصمیمات مبتنی بر نتایج مدل پیامدهای قابل توجهی دارند. با انتخاب نوع مناسب اعتبارسنجی متقابل و اجرای بهترین شیوهها، میتوانیم مدلهای قابل اعتمادتری بسازیم که آماده استفاده در دادههای دنیای واقعی باشند.