عناوين مطالب: '
معیارهای ارزیابی مدل یا الگوریتم جهت تشخیص دقت و صحت
در این مبحث میخواهیم تعدادی از معیارهای ارزیابی هوش مصنوعی را بررسی کنیم. یکی از مهمترین مراحل پس از طراحی و ساخت یک مدل یا یک الگوریتم، ارزیابی کارآیی (performance)، دقت و ضحت آن است. در ادامه با روس هایی برای ارزیابی مدل آشنا میشویم.
معیارهای متنوعی برای ارزیابی کارایی الگوریتم ها وجود دارد. در انتخاب معیارهای ارزیابی کارایی می بایست دلایل قانع کننده وجود داشته باشد چرا که چگونگی اندازه گیری و مقایسه کارایی الگوریتم ها، کاملا به معیارهایی که انتخاب می کنید وابسته است. همچنین چگونگی وزن دادن به اهمیت ویژگی های مختلف در نتایج، کاملا تحت تاثیر معیار هایی است که انتخاب می کنید.
یک مثل معروف وجود دارد که میگوید «چیزی را نتوانی ارزیابی کنی، نمیتوانی بهبود دهی». در بحث الگوریتمهای طبقه بندی هم برای اینکه مشخص شود آیا الگوریتم مدنظر، بر روی دادههای مسئله خوب جواب داده است یا خیر، بایستی کارایی، دقت یا صخت آن ارزیابی شود.
تعریف حساسیت (sensitivity) و تشخیصپذیری (specificity)
حساسیت و تشخیصپذیری دو شاخص مهم برای ارزیابی آماری عملکرد نتایج آزمونهای طبقهبندی باینری (دودویی یا دوحالته) هستند، که در آمار به عنوان توابع طبقهبندی شناخته میشوند. نتایج را بعد از تحلیل می توان به دو گروه داده مثبت و منفی تقسیم کرد. روش های آزمون و ارزیابی، نتایج یک آزمایش را به این دو دسته تقسیم میکند. سپس کیفیت الگوریتم با استفاده از شاخصهای حساسیت و تشخیصپذیری قابل اندازهگیری و توصیف می شوند.
دسته بندی داده ها یعد از تحلیل
۱- مثبت صحیح (True Positive) که یک معیار مثبت است.
۲- مثبت کاذب (False Positive) که یک معیار منفی است.
۳- منفی صحیح (True Negative) که یک معیار مثبت است.
۴- منفی کاذب (False Negative) که یک معیار منفی است.
نکته مهم: پارامتر تشخیصپذیری را نیز اصطلاحا صحت (Precision) در برابر پارامتر (False Positive)، و حساسیت را نیز اصطلاحا صحت (Recall) در برابر پارامتر (False Negative) مینامند.
نکته: یک ترجمه خوب و قابل درک برای مثبت کاذب “اتهام غلط” و یک ترجمه قابل درک برای منفی کاذب “اعتماد غلط” است.
مثال های از “مثبت های کاذب” و “منفی های کاذب”
- بخش امنیت فرودگاه: یک “مثبت کاذب” هنگامی است که اشیاء معمولی مانند کلیدها و یا سکه ها به اشتباه اسلحه تشخیص داده می شوند (و ماشین صدای “بیپ” را ایجاد می کند)
- کنترل کیفیت: یک “مثبت کاذب” هنگامی است که محصول با کیفیت خوب، مردود می شود و یک “منفی کاذب” هنگامی است که محصول بی کیفیت مورد قبول واقع می شود
- نرم افزار ضد ویروس: یک “مثبت کاذب” هنگامی است که یک فایل عادی بعنوان یک ویروس شناخته می شود
- آزمایش پزشکی: گرفتن آزمایش های ارزان قیمت و بررسی آن توسط تعداد زیادی از پزشکان می تواند مثبتهای کاذب زیادی به بار آورد (یعنی جواب تست بگوید که بیمار هستید در حالی که چنین نیست)، و سپس خواسته شود که دوباره آزمایش های با دقت بیشتر بگیرید.
کدام معیارها باید بهتر باشند:
بدیهی است معیار های که تشخیص درست را نمایش میدهند باید بهتر باشند که در زیر با رنگ سبز نشان داده شده است.
۱- مثبت صحیح (True Positive) = درست شناسایی شده است.
۲- مثبت کاذب (False Positive) = اشتباه شناسایی شده است (خطای نوع یک در انجام آزمون).
۳- منفی صحیح (True Negative) = به درستی رد شد.
۴- منفی کاذب (False Negative) = اشتباه رد شد (خطای نوع دوم در انجام آزمون).
ماتریس اختلاط یا درهم ريختگی (confusion matrix)
به ماتریسی گفته میشود که نتیجه ارزیابیِ عملکردِ الگوریتمها در آن نمیش داده میشود. معمولاً چنین نمایشی برای الگوریتمهای یادگیری با ناظر استفاده میشود، اگرچه در یادگیری بدون ناظر نیز کاربرد دارد. معمولاً به کاربرد این ماتریس در الگوریتمهای بدون ناظر ماتریس تطابق می گویند. هر ستون از ماتریس، نمونهای از مقدار پیشبینی شده را نشان میدهد. در صورتی که هر سطر نمونهای واقعی (درست) را در بر دارد. اسم این ماتریس نیز از آنجا بدست میآید که امکان اشتباه و تداخل بین نتایج را آسان تر قابل مشاهده می کند.
در حوزه الگوریتم های هوش مصنوعی، ماتریس در هم ریختگی به ماتریسی گفته میشود که در آن عملکرد الگوریتمها را نمایش میدهند. معمولاً چنین نمایشی برای الگوریتمهای یادگیری با ناظر استفاده میشود، اگرچه در یادگیری بدون ناظر نیز کاربرد دارد. همان طور که ذکر شد معمولاً به کاربرد این ماتریس در الگوریتمهای بدون ناظر ماتریس تطابق میگویند. هر ستون از ماتریس، نمونهای از مقدار پیشبینیشده را نشان میدهد. درصورتیکه هر سطر نمونهای واقعی (درست) را در بر دارد. در خارج از دنیای هوش مصنوعی این ماتریس معمولاً ماتریس پیشایندی (contingency matrix) یا ماتریس خطا (error matrix) نامیده میشود.
روش های ارزیابی دقت و صحت
درنهایت بعد از هر تحلیلی نتایج بهدستآمده را باید در چهار گروهی که در بالا توصیف شد، دسته بندی کرد تا بتوان کیفیت تحلیل را مورد ارزیابی قرار داد. همچنین کارایی الگوریتم را برای موارد استفاده مختلف تفسیر و توصیف نمود. در ارزیابی نتایج معمولا معیارهای زیر متصور است و بیشترین استفاده را نسبت به معیار های ارزیابی دیگر دارد.
- تشکیل ماتریس اختلاط (confusion matrix)
- دقت (Accuracy)
- صحت (Precision)
- Recall: زمانی که ارزش false negatives بالا باشد، معیار Recall، معیار مناسبی خواهد بود.
- F1 Score
- MCC: پارامتر دیگری است که برای ارزیابی کارایی الگوریتمهای یادگیری ماشین از آن استفاده میشود. این پارامتر بیانگر کیفیت کلاسبندی برای یک مجموعه باینری میباشد.
دقت (Accuracy):
به طور کلی، دقت به این معناست که مدل تا چه اندازه خروجی را درست پیشبینی میکند. با نگاه کردن به دقت ، بلافاصله میتوان دریافت که آیا مدل درست آموزش دیده است یا خیر و کارآیی آن به طور کلی چگونه است. اما این معیار اطلاعات جزئی در مورد کارآیی مدل ارائه نمیدهد.
Accuracy = (TP+TN) / (TP+FN+FP+TN)
صحت (Precision) :
وقتی که مدل نتیجه را مثبت (positive) پیشبینی میکند، این نتیجه تا چه اندازه درست است؟ زمانی که ارزش false positives بالا باشد، معیار صحت، معیار مناسبی خواهد بود. فرض کنید، مدلی برای تشخیص سرطان داشته باشیم و این مدل Precision پایینی داشته باشد. نتیجه این امر این است که این مدل، بیماری بسیاری از افراد را به اشتباه سرطان تشخیص میدهد. نتیجه این امر استرس زیاد، آزمایشهای فراوان و هزینههای گزافی را برای بیمار به دنبال خواهد داشت.
در واقع، «حساسیت» معیاری است که مشخص میکند دستهبند، به چه اندازه در تشخیص تمام افراد مبتلا به بیماری موفق بودهاست. همانگونه که از رابطه فوق مشخص است، تعداد افراد سالمی که توسط دستهبند به اشتباه به عنوان فرد بیمار تشخیص داده شدهاند، هیچ تاثیری در محاسبه این پارامتر ندارد و در واقع زمانی که پژوشهگر از این پارامتر به عنوان پارامتر ارزیابی برای دستهبند خود استفاده میکند، هدفش دستیابی به نهایت دقت در تشخیص نمونههای کلاس مثبت است.
در واقع نسبت مقداری موارد صحیح طبقهبندیشده توسط الگوریتم از یک کلاس مشخص، به کل تعداد مواردی که الگوریتم چه بهصورت صحیح و چه بهصورت غلط، در آن کلاس طبقهبندی کرده است که بهصورت زیر محاسبه میشود:
Precision =TP / (TP+FP)
فراخوانی یا حساسیت یا Recall :
در نقطه مقابل این پارامتر، ممکن است در مواقعی دقت تشخیص کلاس منفی حائز اهمیت باشد. از متداولترین پارامترها که معمولا در کنار حساسیت بررسی میشود، پارامتر خاصیت (Specificity)، است که به آن «نرخ پاسخهای منفی درست» (True Negative Rate) نیز میگویند. خاصیت به معنی نسبتی از موارد منفی است که آزمایش آنها را به درستی به عنوان نمونه منفی تشخیص داده است. این پارامتر به صورت زیر محاسبه میشود.
زمانی که ارزش false negatives بالا باشد، معیار Recall، معیار مناسبی خواهد بود. فرض کنیم مدلی برای تشخیص بیماری کشنده ابولا داشته باشیم. اگر این مدل Recall پایینی داشته باشد چه اتفاقی خواهد افتاد؟ این مدل افراد زیادی که آلوده به این بیماری کشنده هستند را سالم در نظر میگیرد و این فاجعه است. نسبت مقداری موارد صحیح طبقهبندی شده توسط الگوریتم از یک کلاس به تعداد موارد حاضر در کلاس مذکور که بهصورت زیر محاسبه میشود:
Recall = Sensitivity = (TPR) = TP / (TP+FN)
معیارهای ارزیابی F1 Score یا F-measure
معیار F1، یک معیار مناسب برای ارزیابی دقت یک آزمایش است. این معیار Precision و Recall را با هم در نظر میگیرد. معیار F1 در بهترین حالت، یک و در بدترین حالت صفر است.
F-measure= 2 * (Recall * Precision) / (Recall + Precision)
معیار (Specificity):
در نقطه مقابل این پارامتر، ممکن است در مواقعی دقت تشخیص کلاس منفی حائز اهمیت باشد. از متداولترین پارامترها که معمولا در کنار حساسیت بررسی میشود، پارامتر خاصیت (Specificity)، است که به آن «نرخ پاسخهای منفی درست» (True Negative Rate) نیز میگویند. خاصیت به معنی نسبتی از موارد منفی است که آزمایش آنها را به درستی به عنوان نمونه منفی تشخیص داده است. این پارامتر به صورت زیر محاسبه میشود.
Specificity (TNR) = TN / (TN+FP)
معیارهای ارزیابی MCC:
پارامتر دیگری است که برای ارزیابی کارایی الگوریتمهای یادگیری ماشین از آن استفاده میشود. این پارامتر بیانگر کیفیت کلاسبندی برای یک مجموعه باینری میباشد. (MCC (Matthews correlation coefficient، سنجهای است که بیانگر بستگی مابین مقادیر مشاهده شده از کلاس باینری و مقادیر پیشبینی شده از آن میباشد. مقادیر مورد انتظار برای این کمیت در بازه 1- و 1 متغیر میباشد. مقدار 1+، نشان دهنده پیشبینی دقیق و بدون خطای الگوریتم یادگیر از کلاس باینری میباشد. مقدار 0، نشان دهنده پیشبینی تصادفی الگوریتم یادگیر از کلاس باینری میباشد. مقدار 1-، نشان دهنده عدم تطابق کامل مابین موارد پیشبینی شده از کلاس باینری و موارد مشاهده شده از آن میباشد. مقدار این پارامتر را بهطور صریح، با توجه به مقادیر ماتریس آشفتگی به شرح زیر، میتوان محاسبه نمود:
ادامه مطلب به زودی…
آدرس کانال تلگرام سایت بیگ دیتا:
آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel
جهت دیدن سرفصل های دوره های آموزشی بر روی اینجا کلیک کنید.
بازدیدها: 108589
lombard
lombard ivest
lombard ivest
lombard ivest
lombard
lombard
lombard
lombard
lombard ivest
lombard ivest
lombard ivest
lombard
lombard
lombard ivest
lombard
lombard
lombard ivest
lombard ivest
lombard
lombard ivest
lombard
lombard ivest
lombard ivest
lombard
lombard ivest
lombard ivest
lombard
lombard ivest
lombard ivest
lombard
lombard
lombard
lombard
lombard
سلام ببخشید معیارهای precision و recall فقط در مسائل طبقه بندی باینری کاربرد دارند یا برای مسائل چند کلاس هم قابل تعریفند؟
سلام وقت بخیر
ببینید خواهرم هر دو پارامتر مربوط به صحت است. متنها پارامتر تشخیصپذیری را اصطلاحا صحت(Precision) در برابر پارامتر (False Positive)، و حساسیت را نیز اصطلاحا صحت(Recall) در برابر پارامتر (False Negative) مینامند. یعنی هر دو صحت را نشان میدهند ولی یکی صحت دربرابر مثبت کاذب و دیگری صحت دربرابر منفی کاذب را نشان میدهد.
در متن هم اصلاح کردم.
ممنون سوال خوبی بود
سلام ببخشید شما در یکجا precision رو دقت ترجمه کردید ویکجای دیگه صحت. recall هم صحت ترجمه کرده بودید که به نظر با توجه به فرمولش درست بود. ممنون اگر شفافش کنید.
سلام میشه لینک داخل مطلبو چک کنید.برای من مشکل داشت.ممنون
مطلب بسیار خوبی بود.ممنون
سلام.خواستم بابت وبسایت خوبتون ازتون
تشکر کنم و امیدوارم باعث ایجاد انگیزه
براتون بشه
اقا لینک مطلبو من پیدا نکردم.میشه راهنماییم کنید؟