هوش مصنوعی مکانی ایران(ایران ژئو آی)

همیشه یک چیز جدید برای یادگرفتن هست.

داده‌های اعتبارسنجی (Validation Data)

داده‌های اعتبارسنجی (Validation Data): قطب‌نمای آموزش مدل

نویسنده: فاطمه جعفری نوبخت

تصور کنید دانش‌آموزی هستید که برای کنکور آماده می‌شوید.

  1. کتاب درسی: منبعی است که مطالب را از روی آن می‌خوانید و یاد می‌گیرید (داده‌های آموزش – Training Data).
  2. آزمون‌های آزمایشی: هر جمعه امتحان می‌دهید تا ببینید کجای کار ایراد دارد و روش مطالعه خود را اصلاح کنید (داده‌های اعتبارسنجی – Validation Data).
  3. کنکور اصلی: روز نهایی که فقط یک بار برگزار می‌شود و نتیجه واقعی شما را مشخص می‌کند (داده‌های تست – Test Data).

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

۱. سه مدل داده داریم : Train & Validation & Test

بسیاری از مبتدیان تفاوت “داده‌های اعتبارسنجی” و “داده‌های تست” را نمی‌دانند. بیایید مرزها را مشخص کنیم:

  1. داده‌های آموزش (Training Set):
    • کاربرد: مدل مستقیماً این داده‌ها را می‌بیند و وزن‌ها (Weights) و بایاس‌های خود را بر اساس آن‌ها تغییر می‌دهد.
    • حجم: معمولاً ۶۰ تا ۸۰ درصد کل داده‌ها.
  2. داده‌های اعتبارسنجی (Validation Set):
    • کاربرد: مدل از روی این داده‌ها یاد نمی‌گیرد (وزن‌ها را تغییر نمی‌دهد)، بلکه ما از این داده‌ها استفاده می‌کنیم تا بفهمیم مدل چقدر خوب عمل می‌کند تا بتوانیم فراپارامترها (Hyperparameters) را تنظیم کنیم.
    • مثال: تغییر نرخ یادگیری، تغییر تعداد لایه‌های شبکه عصبی، یا تغییر عمق درخت تصمیم.
    • حجم: معمولاً ۱۰ تا ۲۰ درصد کل داده‌ها.
  3. داده‌های تست (Test Set):
    • کاربرد: این داده‌ها تا لحظه آخر در گاوصندوق می‌مانند. مدل هرگز آن‌ها را نمی‌بیند (نه برای آموزش و نه برای تنظیم). فقط در پایان پروژه یک بار استفاده می‌شوند تا عملکرد نهایی مدل در دنیای واقعی تخمین زده شود.
    • حجم: معمولاً ۱۰ تا ۲۰ درصد کل داده‌ها.

۲. چرا به داده‌های اعتبارسنجی نیاز داریم؟

چرا مستقیماً از داده‌های تست برای تنظیم مدل استفاده نکنیم؟

اگر پارامترهای مدل را آنقدر تغییر دهید تا روی داده‌های تست بهترین نتیجه را بدهد، شما در واقع داده‌های تست را به مدل “لو” داده‌اید (Data Leakage). مدل شما روی آن داده‌های خاص عالی کار می‌کند، اما روی داده‌های جدید در دنیای واقعی شکست می‌خورد.

داده‌های اعتبارسنجی مانند یک “حائل” (Buffer) عمل می‌کنند تا داده‌های تست، دست‌نخورده و بکر باقی بمانند.

کاربردهای اصلی Validation:

  1. جلوگیری از بیش‌برازش (Overfitting): اگر خطای آموزش کم شود اما خطای اعتبارسنجی زیاد شود، یعنی مدل دارد داده‌ها را حفظ می‌کند.
  2. توقف زودهنگام (Early Stopping): ما به نمودار خطای اعتبارسنجی نگاه می‌کنیم؛ هر جا خطا شروع به بالا رفتن کرد، آموزش را قطع می‌کنیم.
  3. انتخاب مدل (Model Selection): مقایسه بین Random Forest و هر کدام روی داده‌های اعتبارسنجی بهتر بود، انتخاب می‌شود.
داده‌های اعتبارسنجی (Validation Data)
داده‌های اعتبارسنجی (Validation Data)

۳. استراتژی‌های تقسیم داده (Splitting Strategies)

چگونه داده‌ها را جدا کنیم؟ این موضوع به حجم داده‌های شما بستگی دارد:

الف) روش Hold-out (ساده‌ترین روش)

داده‌ها را به سادگی به سه بخش (مثلاً ۷۰-۱۵-۱۵) تقسیم می‌کنیم.

  • مزیت: سریع و ساده.
  • عیب: اگر داده‌های شما کم باشد، ممکن است بخش “خوب” و “ساده” داده‌ها شانسی در قسمت آموزش بیفتد و بخش “سخت” در اعتبارسنجی. نتیجه قابل اعتماد نیست.

ب) اعتبارسنجی متقابل (K-Fold Cross-Validation)

این روش استاندارد طلایی برای داده‌های متوسط و کم است.

  1. داده‌ها را به $K$ قسمت مساوی (مثلاً ۵ قسمت) تقسیم می‌کنیم.
  2. در مرحله اول، قسمت ۱ می‌شود اعتبارسنجی و بقیه آموزش.
  3. در مرحله دوم، قسمت ۲ می‌شود اعتبارسنجی و بقیه آموزش.
  4. این کار ۵ بار تکرار می‌شود و در نهایت میانگین نتایج گرفته می‌شود.
  • مزیت: از تمام داده‌ها هم برای آموزش و هم برای اعتبارسنجی استفاده می‌شود. نتیجه بسیار دقیق است.
  • عیب: زمان‌بر است (چون مدل باید ۵ بار آموزش ببیند).

۴. نکته حیاتی برای متخصصان GIS: اعتبارسنجی مکانی (Spatial Validation)

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

در داده‌های مکانی، قانون اول توبلر می‌گوید: “چیزهای نزدیک به هم، بیشتر شبیه هم هستند.”

اگر شما داده‌های یک شهر را به صورت تصادفی (Random Split) جدا کنید:

  • یک ساختمان در داده‌های آموزش است.
  • ساختمان کناری آن (که دقیقاً همان ویژگی‌ها را دارد) در داده‌های اعتبارسنجی می‌افتد.

این یعنی “تقلب”! مدل با دیدن ساختمان اول، دومی را به راحتی حدس می‌زند و شما فکر می‌کنید دقت مدلتان ۹۹٪ است، اما در واقعیت مدل چیزی یاد نگرفته است (فقط شباهت مکانی را دیده است).

راه حل: Spatial Cross-Validation

در GIS نباید داده‌ها را رندوم جدا کنید. باید داده‌ها را به صورت بلوکی (Block) جدا کنید. مثلاً شهر را به ۴ منطقه تقسیم کنید؛ مناطق ۱، ۲ و ۳ برای آموزش و منطقه ۴ برای اعتبارسنجی. این کار توانایی مدل را برای تعمیم به مناطق جدید می‌سنجد.

۵. دام‌های خطرناک (Common Pitfalls)

  1. نشت اطلاعات (Data Leakage): انجام کارهایی مثل “نرمال‌سازی” یا “پر کردن داده‌های گمشده” (Imputation) روی کل داده‌ها قبل از تقسیم‌بندی. شما باید میانگین و انحراف معیار را فقط از داده‌های آموزش بگیرید و سپس روی داده‌های اعتبارسنجی اعمال کنید.
  2. عدم توازن (Imbalance): اگر فقط ۱٪ داده‌های شما مربوط به “آتش‌سوزی” است، ممکن است در تقسیم تصادفی، هیچ نمونه آتش‌سوزی در بخش اعتبارسنجی نیفتد. باید از روش Stratified Splitting استفاده کنید تا درصد کلاس‌ها در تمام بخش‌ها یکسان بماند.

6. نتیجه‌گیری

داده‌های اعتبارسنجی، نگهبانان کیفیت مدل شما هستند. آن‌ها به شما اجازه می‌دهند با اطمینان پارامترها را دستکاری کنید، بدون اینکه نگران آلوده شدنِ تست نهایی باشید. در پروژه‌های حساس (مثل پیش‌بینی‌های محیط زیستی)، استفاده از تکنیک‌هایی مثل K-Fold و Spatial CV یک انتخاب نیست، بلکه یک ضرورت است.

نوشتن دیدگاه