سود:
- امکان انتخاب و تفسیر معیارهای طبقه بندی و رگرسیون (ماتریس سردرگمی، دقت/ فراخوان/F1، MAE/RMSE/R²) با توجه به هدف کار
- توانایی تشخیص بیش از حد یادگیری با مقایسه نمرات آموزش و آزمون و به دست آوردن عملکرد قابل اعتماد با اعتبارسنجی متقابل
- توانایی ارزیابی اینکه آیا هر مدل ارزش واقعی را با مقایسه آن با یک خط مبنا اضافه می کند یا خیر
تنظیم یک مدل آسان است. دشوار است صادقانه اندازه گیری شود که آیا واقعاً کار می کند یا خیر. موضوع این واحد مهم ترین مهارت یک دانشمند داده است: ارزیابی مدل با معیارهای مناسب، دستیابی به عملکرد پیش بینی قابل اعتماد، و گرفتن موذیانه ترین تله: یادگیری بیش از حد (به خاطر سپردن). هوش مصنوعی معیارها را محاسبه، تفسیر و مقایسه می کند. اما این به انسان بستگی دارد که تصمیم بگیرد کدام معیار برای کسب و کار شما مناسب است و آیا یک مدل به اندازه کافی خوب است یا خیر. تیمی که به معیار اشتباه نگاه می کند، می تواند یک مدل بد را برای ماه ها به عنوان "موفقیت" اشتباه بگیرد.
چرا دقت کافی نیست: ماتریس سردرگمی
اولین معیاری که در طبقه بندی به ذهن می رسد دقت است (دقت - نسبت کل پیش بینی های صحیح). اما همانطور که در واحد 6 دیدیم، دقت با داده های نامتعادل گمراه کننده است. یک شروع بهتر، ماتریس سردرگمی است - جدولی که پیش بینی ها را به چهار سطل تقسیم می کند:
- مثبت واقعی (TP): ما جعلی را چیزی که واقعا جعلی است نامیدیم. (خوب)
- منفی واقعی (TN): گفتیم واقعا تمیز است. (خوب)
- مثبت کاذب (FP): ما به اشتباه گفتیم که تمیز جعلی است. (هشدار کاذب)
- منفی کاذب (FN): ما جعلی را از دست دادیم و آن را تمیز نامیدیم. (تهدید از دست رفته)
دو معیار کلیدی از این چهار جعبه به دست می آیند. دقت: "چقدر از آنچه من جعلی می نامم در واقع جعلی است؟" - اگر هزینه های هشدار کاذب بالا باشد مهم است. حساسیت (به انگلیسی به یاد بیاورید): "چند تقلبی واقعی گرفتم؟" - زمانی مهم است که از دست دادن یک تهدید گران باشد. این دو اغلب با یکدیگر در تضاد هستند: اگر آستانه را پایین بیاورید و بیشتر بگویید "جعلی"، یادآوری افزایش می یابد اما دقت کاهش می یابد. امتیاز F1 میانگین متوازن (میانگین هارمونیک) این دو است.
توجه: پاسخ به این سوال که "کدام معیار مهم است" یک تصمیم تجاری است، نه فنی. از دست دادن یک مورد (یادآوری کم) در غربالگری سرطان فاجعه بار است. ارسال یک ایمیل مهم به اسپم (دقت پایین) در فیلتر هرزنامه آزار دهنده است. هزینه معیار را تعیین می کند.
معیارهای رگرسیون
اگر خروجی اعداد باشد، از معیارهای مختلفی استفاده می شود. MAE (میانگین خطای مطلق): چقدر برآوردها از میانگین واقعی در همان واحد انحراف دارند (مثلاً "به طور متوسط 4200 TL اشتباه می کنیم"). RMSE (ریشه میانگین مربعات خطا): خطاهای اصلی را به شدت جریمه می کند و به نقاط پرت حساس است. R2 (R-squared - ضریب تعیین): چه مقدار از تنوع در هدف را مدل توضیح می دهد (نزدیک به 1 خوب است، 0 به اندازه پیش بینی میانگین بد است، منفی حتی بدتر است).
موذیانه ترین تله: یادگیری بیش از حد
تطبیق بیش از حد - جایی که مدل دادههای آموزشی را به خاطر میسپارد اما در دادههای جدید شکست میخورد - رایجترین اشتباه در علم داده است. علامت واضح است: مدل در مجموعه آموزشی (98٪) عالی است، در مجموعه تست (72٪) بد است. مدل نویز آن نمونه خاص را به خاطر سپرده است، نه الگوی واقعی در داده ها. برعکس آن نیز وجود دارد: عدم تناسب - این مدل هم در آموزش و هم در تست بد است زیرا برای گرفتن الگو بسیار ساده است.
راههای مبارزه با یادگیری بیش از حد: سادهسازی مدل، دادههای بیشتر، منظمسازی - ترمز ریاضی که از پیچیدهتر شدن مدل جلوگیری میکند - و مهمتر از همه، اعتبارسنجی متقابل.
اعتبار سنجی متقابل: به تک پنجره اعتماد نکنید
یک غلاف آموزش/آزمون ممکن است خوش شانس یا بدشانس باشد. فقط به این دلیل که آن نمونه آسان است، می توانید نمرات بالایی را برای مجموعه تست کسب کنید. اعتبار سنجی متقاطع (به اختصار CV) این را حل می کند. رایجترین شکل CV k-fold است: دادهها به k قسمت تقسیم میشوند (مثلاً 5). در هر دور یک قسمت تست و بقیه تمرین است. این رول 5 بار و 5 امتیاز به طور متوسط. بنابراین خواهید دید که عملکرد بر اساس میانگین چند تقسیم است، نه یک تقسیم خوش شانس. توزیع نمرات نیز آموزنده است: نمرات بسیار فرار (85٪ در یک طبقه، 62٪ در طبقه دیگر) نشان می دهد که مدل ناپایدار است.
K-fold معمولی در سری های زمانی استفاده نمی شود (نشت آینده). در عوض، «زنجیرهسازی رو به جلو» (تقسیم سریهای زمانی) را انجام میدهید: همیشه با گذشته تمرین میکنید و آینده را آزمایش میکنید.
متریک
نوع مشکل
چه زمانی مهم است؟
دقت
طبقه بندی
اگر کلاس ها متعادل باشد
دقت
طبقه بندی
هشدار کاذب گران است
حساسیت (یادآوری)
طبقه بندی
اگر از دست دادن آن گران است
F1
طبقه بندی
اگر تعادل لازم است
MAE
رگرسیون
خطای قابل تفسیر
RMSE
رگرسیون
اگر اشتباهات بزرگ حیاتی هستند
R²
رگرسیون
قدرت توضیحی
سه کیف کوچک
مورد 1 - توهم دقت بالا. یک مدل تقلب 99.2 درصد دقت را نشان داد و تیم جشن گرفت. با نگاهی به ماتریس سردرگمی، نرخ واقعی: جعلی در داده ها 0.8٪ بود. این مدل تقریبا هیچ تقلبی پیدا نکرد، فقط گفت "همه واضح است". فراخوان 6 درصد بود. درس: به معیارها نگاه کنید، نه دقت.
مورد 2 - یادگیری بیش از حد نهفته. یک تیم XGBoost را در مجموعه آموزشی به 97 درصد رساند و افزایش داد. مجموعه تست 69٪ بود، اما هیچ کس نگاه نکرده بود. مدل در تولید سقوط کرد. اگر اعتبارسنجی متقاطع انجام می شد، تفاوت بزرگ بین فولدها (بیش آموزی) از همان ابتدا قابل مشاهده بود. درس: به CV و نمره آزمون اعتماد کنید، نه به نمره تحصیلی.
مورد 3 - تقسیم شانس. یک تحلیلگر از کسب 88 درصد در یک تقسیم خرسند بود. وقتی همکارش یک CV 5 برابری انجام داد، نمرات 88٪، 71٪، 83٪، 64٪، 79٪ بود - میانگین 77٪ است، اما بسیار ناپایدار است. مدل ناپایدار بود. تک محفظه گمراه کننده بود. درس: به میانگین و توزیع CV نگاه کنید، نه به سطل فردی.
چهار قالب قابل کپی
1) گزارش طبقه بندی کامل:
من مدل و مجموعه تست آموزش دیده ام. ایجاد: ماتریس سردرگمی، دقت، فراخوان، F1 (برای هر کلاس) و تعداد پشتیبانی. من استنباط می کنم، اما این به من بستگی دارد: به شما می گویم کدام معیار مهم است. توجه داشته باشید که دقت با داده های نامتعادل می تواند گمراه کننده باشد.
2) کنترل بیش از حد یادگیری:
نمرات مدل من را در هر دو مجموعه TRAINING و TEST در کنار هم چاپ کنید. تفاوت بین آنها را محاسبه کنید و هشدار دهید زیرا تفاوت زیاد نشانه یادگیری بیش از حد است. اگر تفاوت زیاد است، تنظیم یا سادهسازی را پیشنهاد دهید.
3) اعتبار سنجی متقابل:
اعتبار سنجی متقاطع 5 برابری (برای طبقه بندی طبقه بندی) انجام دهید. امتیاز، میانگین و انحراف استاندارد هر چین را چاپ کنید. اگر امتیازها بسیار نوسان هستند (std بالا)، نشان می دهد که مدل ناپایدار است. از خطوط لوله استفاده کنید تا تحولات فقط از قسمت آموزش در هر لایه یاد بگیرند.
4) مقایسه پایه:
متریک مدل من را با خط پایه DummyClassifier کنار هم قرار دهید. آیا مدل به طور قابل توجهی از خط پایه عبور می کند؟ اگر قبول نشد، مشخص کنید که مدل هیچ مقدار واقعی اضافه نمی کند.
اعلان ضعیف / اعلان قوی
اعلان ضعیف:
مدل من خوبه؟
"خوب" تعریف نشده است. مشخص نیست کدام متریک، کدام آستانه، کدام خط مبنا. هوش مصنوعی می تواند یک عدد دقت واحد را ارائه دهد و گمراه کند.
اعلان قدرتمند:
نقش شما: دستیار ارزیابی طبقه بندی، داده های نامتعادل (12٪ مثبت). اولویت: یادآوری (از دست ندادن نکات مثبت). وظیفه: (1) ماتریس سردرگمی، (2) دقت/ فراخوان/F1، (3) میانگین CV طبقه بندی شده 5 برابر و std، (4) مقایسه پایه DummyClassifier. روی یادآوری و تفاوت پایه تمرکز کنید، نه دقت. نظر بدید ولی من تصمیم نهایی رو میگیرم
در اینجا، اولویت متریک، CV و شرایط پایه مشخص است.
اشتباهات رایج
- اعتماد به دقت در داده های نامتعادل. دقت 99 درصد ممکن است به هیچ وجه کلاس اقلیت را جذب نکند. به ماتریس سردرگمی نگاه کنید.
- فقط به نمره تحصیلی خود نگاه کنید. تحصیلات عالی، نمره پایین آزمون بیش از حد یادگیری است. همیشه دو نمره را با هم مقایسه کنید.
- تکیه بر یک محفظه واحد. تقسیم خوش شانس گمراه کننده است. به میانگین و توزیع با اعتبارسنجی متقابل نگاه کنید.
- با پایه مقایسه نمی شود. شما نمی توانید "خوب" بگویید بدون اینکه بدانید آیا این مدل یک پیش بینی کننده احمق را شکست می دهد یا خیر.
- استفاده از k-fold معمولی در سری های زمانی. آینده را درز می کند. تقسیم سری زمانی مورد نیاز است.
نکته: در کنار هر مدل سه عدد بنویسید: امتیاز آموزشی، میانگین اعتبارسنجی متقاطع و نمره پایه. این سه نفر در یک نگاه فراآموزی (آموزش >> CV) و کم ارزش گذاری (CV ≈ پایه) را نشان می دهد.
به طور خلاصه
ساختن یک مدل آسان است، اما ارزیابی صادقانه آن دشوار است. در طبقه بندی، ماتریس سردرگمی، دقت، و یادآوری بسیار آموزنده تر از دقت هستند. هزینه کار تعیین می کند که کدام یک مهم است. MAE، RMSE و R² در رگرسیون استفاده می شوند. موذیانه ترین تله یادگیری بیش از حد است: همیشه تمرین و نمره آزمون را مقایسه کنید. بر میانگین و توزیع اعتبار متقابل تکیه کنید، نه یک تقسیم. همه چیز را با یک پایه مقایسه کنید. هوش مصنوعی همه اینها را محاسبه می کند، اما این به انسان بستگی دارد که تصمیم بگیرد از کدام معیار استفاده کند.
وظیفه کاربردی
استخراج ماتریس سردرگمی، دقت، فراخوانی و F1 برای یک مدل طبقه بندی. سپس اعتبارسنجی متقاطع 5 برابری انجام دهید و به توزیع امتیاز در بین چینها نگاه کنید. در نهایت، امتیاز آموزشی، میانگین CV و نمره پایه را در کنار هم بنویسید. در یک جمله نظر دهید که آیا مدل شما بیش از حد یاد می گیرد و پایه را پشت سر می گذارد.
چک لیست
- [ ] آیا به جای دقت به معیار واقعی کار (دقت/ فراخوان/F1 و غیره) نگاه کرده ام؟
- [ ] آیا ماتریس سردرگمی را بررسی کرده ام؟
- [ ] آیا من نمره آموزش و آزمون را مقایسه کرده ام و از نظر بیش یادگیری بررسی کرده ام؟
- [ ] آیا من به میانگین و توزیع با اعتبارسنجی متقاطع نگاه کرده ام؟
- [ ] آیا من مدل را با یک خط پایه مقایسه کرده ام؟