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

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

دقت (Accuracy) و دامش

جواب کوتاه

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

مدل تنبل

یه جعبه صد تا پرتقال داره و فقط یکیش کرم داره. کارگاه یه مدل خریده که کرم‌خورده‌ها رو پیدا کنه. فروشنده می‌گه: «دقتش ۹۹ درصده!» خوبه؟

حالا یه مدل تنبل رو در نظر بگیرید که اصلا به پرتقال نگاه نمی‌کنه و همیشه می‌گه «سالمه». درباره‌ی ۹۹ تا درست گفته و فقط یکی رو اشتباه. دقتش هم ۹۹ درصده! ولی حتی یه کرم‌خورده هم پیدا نکرده؛ یعنی دقیقا همون کاری که براش خریده بودیمش رو نکرده.

پس «دقت ۹۹ درصد» به‌تنهایی هیچی نمی‌گه. به این دام می‌گن پارادوکس دقت.

دقت یعنی چی

  1. همه‌ی جواب‌های مدل رو با جواب درست مقایسه کنید.
  2. بشمرید چند تاش درست بوده.
  3. تقسیم بر کل کنید: ۹۹ از ۱۰۰ یعنی ۹۹ درصد.

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

کجا گول می‌زنه

همون مدل تنبل رو روی دو جور جعبه ببینید:

توی جعبه‌ی نیم‌به‌نیم، مدل تنبل فقط ۵۰ درصد دقت داره و همه می‌فهمن بی‌فایده‌ست. ولی توی جعبه‌ی ۹۹ به ۱، همون مدل بی‌فایده ۹۹ درصد می‌گیره. ریشه‌ی مشکل اینه که دسته‌ها نامتوازن هستن: یکیش خیلی کمیابه.

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

با تنبل مقایسه کن

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

اگه مدل تنبل ۹۹ درصد می‌گیره و مدل شما ۹۹٫۲، تقریبا هیچ کاری نکرده. اگه مدل تنبل ۵۰ درصد می‌گیره و مدل شما ۹۰، خیلی کار کرده. یعنی دقت همیشه باید کنار این خط پایه دیده بشه.

جاش چی

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

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

دو کلمه‌ی شبیه

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

توی یادگیری ماشین، به accuracy می‌گیم «دقت» و به precision «صحت»، که درس خودش رو داره. اگه جایی این دو تا جابه‌جا ترجمه شده بود، تعجب نکنید؛ به تعریفش نگاه کنید.

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

  • دقت: سهم جواب‌های درست.
  • دسته‌ی کمیاب؟ دقت گول می‌زنه.
  • همیشه با مدل تنبل مقایسه کن.
  • اشتباه‌ها رو جدا بشمر.
  • صحت و بازخوانی، درس‌های بعد.

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

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

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

۱۵ پرسش

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

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

درس بعد