معیار F1-Score در GeoAI: هنر ایجاد تعادل میان دقت و حساسیت
نویسنده: فاطمه جعفری نوبخت
تمرکز صرف بر Precision (دقت) باعث میشود مدل محافظهکار شود و بسیاری از عوارض را نبیند، و تمرکز صرف بر Recall (فراخوانی) باعث میشود مدل بیش از حد حساس شده و هشدارهای اشتباه (False Positive) زیادی تولید کند.
اما در پروژههای واقعی GeoAI، ما معمولاً به هر دو نیاز داریم. ما مدلی میخواهیم که هم عوارض را خوب پیدا کند و هم در تشخیص خود مطمئن باشد. اینجاست که F1-Score به عنوان داور نهایی وارد میدان میشود.
۱. معیار F1-Score چیست؟
F1-Score میانگینِ هارمونیک (Harmonic Mean) بین Precision و Recall است. برخلاف میانگین حسابی ساده، میانگین هارمونیک زمانی که یکی از دو مقدار بسیار پایین باشد، کل امتیاز را به شدت پایین میکشد.
فرمول آن به صورت زیر است:
F1 = 2 \cdot \frac{Precision \cdot Recall}{Precision + Recall}
این معیار عددی بین ۰ و ۱ (یا ۰ تا ۱۰۰ درصد) است.
- F1 بالا: یعنی مدل هم در پیدا کردن عوارض خوب عمل کرده (Recall بالا) و هم خطای کاذب کمی داشته است (Precision بالا).
- F1 پایین: یعنی مدل یا در پیدا کردن عوارض کور بوده یا دچار توهم شده است (خطای زیاد).
۲. چرا در GeoAI به F1-Score نیاز حیاتی داریم؟
دلیل اصلی محبوبیت F1 در علوم مکانی، مسئلهای به نام «دادههای نامتوازن» (Imbalanced Data) است.
در اکثر نقشهها و تصاویر ماهوارهای، کلاس مورد نظر ما بخش بسیار کوچکی از تصویر را اشغال کرده است.
مثال: فرض کنید میخواهیم «استخرهای شنا» را در یک شهر شناسایی کنیم.
- واقعیت: شاید تنها ۱٪ از پیکسلهای شهر مربوط به استخر باشد و ۹۹٪ بقیه ساختمان، جاده یا فضای سبز است.
- مشکل Accuracy: اگر مدل ما هیچ استخری را شناسایی نکند و همه چیز را «غیر استخر» بنامد، دقت کلی (Accuracy) آن ۹۹٪ خواهد بود! این عدد عالی به نظر میرسد، اما مدل عملاً بیاستفاده است.
- راه حل F1: در این حالت، چون Recall برابر با صفر است (هیچ استخری پیدا نشده)، فرمول F1-Score نتیجه صفر را برمیگرداند.
F1-Score دروغ نمیگوید. این معیار، چهره واقعی مدل را در مواجهه با عوارض کمیاب مکانی نشان میدهد.
۳. تفسیر F1 در کاربردهای مختلف مکانی
الف) نقشهبرداری کاربری اراضی (LULC)
در طبقهبندی تصاویر (Classification)، معمولاً کلاسه «آب» یا «جنگل» ممکن است غالب باشد و کلاسه «مناطق مسکونی» کمترین وسعت را داشته باشد. یک F1-Score بالا (مثلاً بالای ۰.۸۵) نشان میدهد که مدل توانسته مرزهای بین این کلاسها را به درستی تفکیک کند و تحت تأثیر کلاسهای غالب قرار نگرفته است.
ب) استخراج ردپای ساختمان (Building Footprint Extraction)
در اینجا F1-Score تعادلی بین شکل هندسی ساختمان و نویزهای اطراف است.
- اگر F1 پایین باشد و Precision بالا: مدل فقط ساختمانهای خیلی واضح و بزرگ را پیدا کرده و ساختمانهای کوچک یا سایهدار را رها کرده است.
- اگر F1 پایین باشد و Recall بالا: مدل همه ساختمانها را پیدا کرده اما خیابانها و کانتینرها را هم اشتباهاً ساختمان در نظر گرفته است.
۴. حالت پیشرفته: Macro-F1 در برابر Micro-F1
وقتی با چند کلاس سروکار داریم (مثلاً نقشه شامل جنگل، آب، شهر و کشاورزی است)، نحوه میانگینگیری F1 بسیار مهم میشود:
- Micro-F1:
تمام TP، FP و FN ها را برای همه کلاسها با هم جمع میزند و یک F1 کلی حساب میکند.
- کاربرد: زمانی که عملکرد کلی سیستم مهم است و کلاسهای بزرگ (مثل جنگل) اولویت دارند.
- Macro-F1:
ابتدا F1 را برای هر کلاس جداگانه حساب میکند (F1 جنگل، F1 آب، …) و سپس از آنها میانگین میگیرد.
- کاربرد: زمانی که کلاسهای کمیاب (مثل “مناطق آلوده به نفت”) برایمان به اندازه کلاسهای بزرگ اهمیت دارند. Macro-F1 به ما اطمینان میدهد که کلاسهای کوچک در سایه کلاسهای بزرگ گم نمیشوند.
۵. چگونه F1-Score را بهبود دهیم؟
اگر F1 مدل شما پایین است، یعنی تعادل به هم خورده است. برای بهبود آن:
- تنظیم آستانه (Threshold Tuning): پیشفرض مدلها برای تصمیمگیری ۵۰٪ است. با تغییر این عدد میتوانید تعادل بین Precision و Recall را تغییر دهید تا F1 ماکسیمم شود.
- نمونهبرداری سخت (Hard Example Mining): روی نمونههایی که مدل در آنها گیج میشود (مثلاً تشخیص سقفهای سبز از چمنزار) تمرکز کنید و دادههای آموزشی بیشتری از آن نوع اضافه کنید.
6. نتیجهگیری
در هوش مصنوعی مکانی، Accuracy برای آماتورهاست و F1-Score برای حرفهایها.
زمانی که میخواهید به کارفرما یا مدیر پروژه نشان دهید که مدل شما واقعاً «کاربردی» است و صرفاً روی دادههای راحت آمارسازی نکرده، F1-Score قدرتمندترین عدد شماست. این معیار تضمین میکند که مدل شما نه کور است (Recall خوب) و نه متوهم (Precision خوب).
