آموزشیادگیری ماشین

درس ۴۹ از ۹۹، هوش مصنوعی، حدود ۷ دقیقه خواندن

اعتبارسنجی متقابل

جواب کوتاه

اعتبارسنجی متقابل یعنی داده رو چند تیکه کنیم؛ هر دور، یه تیکه رو برای سنجیدن کنار بذاریم و با بقیه مدل رو آموزش بدیم، تا هر تیکه یه بار نوبت سنجیدن بشه؛ آخرش میانگین نمره‌ها رو بگیریم. مثل مزه کردن آش: از یه گوشه‌ی قابلمه یه قاشق کافی نیست، چون شاید شانسی شور باشه؛ از پنج جا می‌چشیم. یه بار تقسیم داده هم ممکنه شانسی خوب یا بد دربیاد. رایج‌ترین شکلش «k-تایی» نام داره، مثلا با ۵ یا ۱۰ تیکه. با این روش هم یه نمره‌ی مطمئن‌تر داریم، هم می‌بینیم نمره‌ها چقدر بالا و پایین می‌شن، و برای انتخاب مدل یا ابرپارامتر خیلی به کار میاد.

یه قاشق کافی نیست

آش رو پختید و می‌خواید ببینید نمکش اندازه‌ست. یه قاشق از یه گوشه‌ی قابلمه کافیه؟

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

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

شانس یه تقسیم

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

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

پنج دور

روال رایجش این‌طوریه:

  1. داده رو تصادفی به پنج تیکه‌ی هم‌اندازه تقسیم کنید.
  2. دور اول: تیکه‌ی ۱ آزمون، بقیه آموزش. نمره رو بنویسید.
  3. دور دوم: تیکه‌ی ۲ آزمون، بقیه آموزش. و همین‌طور تا دور پنجم.

هر تیکه دقیقا یه بار آزمون شده، و هر مثال هم یه بار سنجیده شده. به این روش می‌گن «اعتبارسنجی k-تایی»، که اینجا k پنجه. ۱۰-تایی هم خیلی رایجه.

پنج نمره

بعد از پنج دور، پنج تا نمره داریم:

میانگینشون ۸۳٫۶ می‌شه؛ این نمره خیلی مطمئن‌تر از هر کدوم به‌تنهاییه. یه چیز دیگه هم می‌بینیم: نمره‌ها از ۷۹ تا ۸۸ بالا و پایین شدن. یعنی اگه فقط یه بار تقسیم کرده بودیم، ممکن بود ۷۹ یا ۸۸ رو گزارش کنیم؛ هر دو گمراه‌کننده.

اگه یه مدل دیگه میانگین ۸۴ و یکی دیگه ۸۳٫۶ بگیره، با این بالا و پایین، این فرق کوچیک احتمالا معنی‌دار نیست.

چند نکته

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

به چه درد می‌خوره

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

درس بعد درباره‌ی همین انتخاب‌هاست: ابرپارامترها و تنظیمشون.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • داده رو k تیکه کن.
  • هر دور، یه تیکه آزمون، بقیه آموزش.
  • هر تیکه یه بار آزمون.
  • میانگین k نمره: مطمئن‌تر.
  • برای انتخاب مدل و ابرپارامتر.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد