
Accuracy, Precision, Recall — ML model үнэлэх 3 чухал хэмжүүр

О.Дэлгэрмаа
Багш


О.Дэлгэрмаа
Багш
Хамгийн түрүүнд Accuracy-ийг аваад үзье. Accuracy нь загварын нийт гүйцэтгэлийг илэрхийлэх суурь үзүүлэлт бөгөөд бүх таамаглалуудын дундаас зөв ангилсан хувь хэмжээг харуулдаг. Жишээлбэл, model 100 өгөгдлөөс 90-ийг нь зөв ангилсан бол accuracy нь 90 хувь байна. Энэхүү хэмжүүр нь ерөнхий үнэлгээ өгөхөд тохиромжтой боловч өгөгдөл тэнцвэргүй (imbalanced) үед бодит гүйцэтгэлийг бүрэн илэрхийлж чаддаггүй.

Харин Precision нь загвар эерэг гэж ангилсан үр дүнгүүдийн дундаас хэд нь үнэхээр зөв байсан бэ гэдгийг хэмждэг үзүүлэлт бөгөөд эерэг таамаглалын найдвартай байдлыг илэрхийлнэ. Энэ нь ялангуяа буруу эерэг (false positive) үр дүн гаргах нь өндөр эрсдэлтэй нөхцөлд чухал ач холбогдолтой. Жишээ нь, хэрэв system 10 хүнийг “өвчтэй” гэж илрүүлсэн бөгөөд тэдгээрээс 8 нь үнэхээр өвчтэй байсан бол precision нь 80 хувь болно. Өөрөөр хэлбэл precision нь “тийм” гэж хэлэхдээ хэр найдвартай байгааг хэмждэг гэсэн үг.

Тэгвэл энэ дээрх Precision дээр агуулагдаж байгаа True Positive, False Positive гэж ямар утгатайг нь тайлбарлая. True Positive болон False Positive гэдэг маань confusion matrix гэсэн суурь ойлголт юм.
Confusion Matrix гэдэг нь ангиллын загварын гүйцэтгэлийг үнэлэхэд ашиглагддаг суурь хэрэгсэл бөгөөд загварын таамаглалуудыг бодит үр дүнтэй харьцуулан дөрвөн төрөлд ангилж харуулдаг. Үүнд True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) гэсэн дөрвөн үндсэн ойлголт багтана.
True Positive (TP) нь бодит байдал дээр эерэг байсан өгөгдлийг загвар мөн эерэг гэж зөв ангилсан тохиолдлыг илэрхийлнэ. Өөрөөр хэлбэл, “тийм” гэж хэлэх ёстой үед зөв “тийм” гэж хэлсэн гэсэн үг юм.
False Positive (FP) нь бодит байдал дээр сөрөг байсан боловч загвар буруу эерэг гэж ангилсан тохиолдлыг хэлнэ. Энэ нь “тийм биш” байхад “тийм” гэж андуурсан алдаа бөгөөд практикт буруу дохио (false alarm) үүсгэдэг.
True Negative (TN) нь бодит байдал дээр сөрөг байсан өгөгдлийг загвар мөн сөрөг гэж зөв ангилсан тохиолдол юм.
False Negative (FN) нь бодит байдал дээр эерэг байсан боловч загвар түүнийг илрүүлж чадаагүй, сөрөг гэж ангилсан тохиолдлыг илэрхийлнэ. Энэ нь “тийм” байхад “үгүй” гэж алдсан алдаа юм.
Иймээс Confusion Matrix нь загварын зөв болон буруу таамаглалуудыг нарийвчлан задлан шинжлэх боломж олгодог бөгөөд Precision, Recall зэрэг үзүүлэлтүүдийг тооцоолох үндэс болдог. Precision нь TP болон FP утгуудаас хамаардаг бол Recall нь TP болон FN утгуудаас хамааран тооцогддог.
Одоо сүүлийнх болох Recall-ийг авч үзье. Recall нь бодит эерэг тохиолдлуудаас хэдийг загвар зөв илрүүлж чадсан бэ гэдгийг хэмжих үзүүлэлт бөгөөд алдагдсан эерэг тохиолдлууд (false negative)-ыг багасгах чадварыг илэрхийлдэг. Энэ нь бүх чухал тохиолдлыг алдалгүй илрүүлэх шаардлагатай системүүдэд онцгой ач холбогдолтой.

Accuracy, Precision, Recall гурав хоорондоо төстэй мэт харагддаг боловч өөр өөр утгатай. Accuracy нь нийт таамаглалын зөв байдлын хувь бол, Precision нь түүнийх нь “Эерэг” гэж хэлсэн дундаа хэр зөв вэ, Recall нь олох ёстой зүйлсээ хэр алдалгүй олж байна вэ гэдгийг олдог. Тиймээс ямар асуудал дээр ажиллаж байгаагаас шалтгаалан аль үзүүлэлт нь илүү чухал вэ гэдэг өөрчлөгдөнө.
Жишээ нь өвчин оношлох систем дээр recall маш чухал байдаг. Учир нь үнэхээр өвчтэй хүнийг model анзааралгүй өнгөрөөвөл үр дагавар нь ноцтой байж болно. Харин spam email шүүх систем дээр precision илүү чухал байх тохиолдол олон. Учир нь буруу email-ийг spam гэж ангилбал хэрэглэгчийн чухал мэдээлэл алдагдаж магадгүй.
Иймээс Machine Learning-ийн model-ийг үнэлэхдээ зөвхөн нэг тоон үзүүлэлт харж дүгнэх нь учир дутагдалтай. Accuracy нь ерөнхий дүр зургийг өгдөг бол Precision болон Recall нь model-ийн бодит чадварыг илүү нарийн харуулдаг бөгөөд Accuracy, Precision, Recall нь Machine Learning-ийн үнэлгээний хамгийн суурь бөгөөд хамгийн чухал ойлголтуудын нэг юм Сайн model гэдэг нь заавал хамгийн өндөр accuracy-тай model байх албагүй. Харин тухайн асуудлын хэрэгцээнд тохирсон зөв үзүүлэлт дээр сайн ажиллаж байгаа model-ийг сайн model гэж үзнэ.