فرض کنید به شما وظیفه داده شده است که یک کیسه را با 10 کیلوگرم شن پر کنید. آن را پر می کنید تا زمانی که دستگاه اندازه گیری 10 کیلوگرم را به شما بدهد یا اگر 10 کیلوگرم بیشتر شد، ماسه را بیرون می آورید.
درست مانند آن ماشین توزین، اگر پیشبینیهای شما خاموش باشد، عملکرد تلفات شما عدد بالاتری را تولید میکند. اگر خیلی خوب باشند، عدد کمتری را تولید می کند. همانطور که الگوریتم خود را برای بهبود مدل خود آزمایش می کنید، تابع ضرر شما به شما می گوید که آیا به جایی می رسید (یا می رسید).
تابعی که می خواهیم کمینه یا حداکثر کنیم تابع یا معیار هدف نامیده می شود. هنگامی که ما آن را به حداقل می رسانیم، ممکن است آن را تابع هزینه، تابع ضرر یا تابع خطا نیز بنامیم
در هسته خود، یک تابع زیان معیاری است که نشان می دهد مدل پیش بینی شما چقدر خوب عمل می کند تا بتواند نتیجه (یا مقدار) مورد انتظار را پیش بینی کند. ما مسئله یادگیری را به یک مسئله بهینه سازی تبدیل می کنیم، یک تابع ضرر تعریف می کنیم و سپس الگوریتم را برای به حداقل رساندن تابع ضرر بهینه می کنیم.
انواع توابع از دست دادن چیست؟
متداول ترین توابع از دست دادن عبارتند از:
- خطای میانگین مربعات
- میانگین خطای مطلق
- Log-Likelihood Loss
- از دست دادن لولا
- ضرر هوبر
- خطای میانگین مربعات
میانگین مربعات خطا (MSE) فضای کاری توابع اولیه ضرر است، زیرا درک و پیاده سازی آن آسان است و به طور کلی به خوبی کار می کند. برای محاسبه MSE، تفاوت بین پیشبینیهای مدل خود و حقیقت پایه را در نظر میگیرید، آن را مربع میکنید و سپس آن را در کل مجموعه دادهها میانگین میگیرید. نتیجه همیشه بدون توجه به علامت مقادیر صدق پیشبینیشده و پایه مثبت است و مقدار کامل 0. 0 است.
2. میانگین خطای مطلق
میانگین خطای مطلق (MAE) فقط در تعریف کمی متفاوت از MSE است، اما به طور جالبی ویژگی های تقریباً کاملاً متضادی را ارائه می دهد. برای محاسبه MAE، شما تفاوت بین پیشبینیهای مدل خود و حقیقت پایه را در نظر میگیرید، قدر مطلق را برای آن تفاوت اعمال میکنید و سپس آن را در کل مجموعه دادهها میانگین میگیرید.
3. Log-Likelihood Loss
این تابع از دست دادن نیز نسبتا ساده است و معمولا در مسائل طبقه بندی استفاده می شود. در این، خطای بین دو توزیع احتمال با استفاده از آنتروپی متقاطع اندازه گیری می شود.
در اینجا، می بینید که وقتی کلاس واقعی 1 باشد، نیمه دوم تابع ناپدید می شود و زمانی که کلاس واقعی 0 باشد، نیمه اول کاهش می یابد. به این ترتیب، ما فقط گزارش احتمال پیشبینیشده واقعی را برای کلاس حقیقت زمینی ضرب میکنیم.
آنتروپی متقاطع برای یک مشکل پیش بینی باینری یا دو کلاس در واقع به عنوان میانگین آنتروپی متقاطع در تمام مثالها محاسبه می شود.
این عملکرد یکی از محبوب ترین اقدامات برای مسابقات Kaggle است. این فقط یک اصلاح ساده از عملکرد احتمال با لگاریتم ها است.
4. از دست دادن لولا
عملکرد از دست دادن لولا با دستگاه های بردار پشتیبانی (SVM) محبوب است. اینها برای آموزش طبقه بندی ها استفاده می شود. بگذارید "T" خروجی هدف باشد به گونه ای که T = -1 یا 1 و نمره طبقه بندی کننده "Y" باشد ، سپس از دست دادن لولا برای پیش بینی به این صورت داده می شود: L (y) = حداکثر (0 ، 1-t. y)
5. از دست دادن هوبر
ما می دانیم که MSE برای یادگیری خارج از کشور بسیار عالی است در حالی که MAE برای نادیده گرفتن آنها عالی است. اما چیزی در وسط چیست؟مثالی را در نظر بگیرید که در آن ما یک مجموعه داده از 100 مقدار داریم که می خواهیم مدل ما برای پیش بینی آموزش داده شود. از تمام این داده ها ، 25 ٪ از مقادیر مورد انتظار 5 است و 75 ٪ دیگر 10 است.
ضرر MSE این ترفند را کاملاً انجام نمی دهد زیرا ما "Outliers" نداریم. 25 ٪ به هیچ وجه کسری کوچک نیست. از طرف دیگر ، ما لزوماً نمی خواهیم وزن آن 25 ٪ خیلی کم با MAE باشد. این مقادیر 5 نزدیک به میانگین نیستند (10 - از 75 ٪ از امتیازات دارای ارزش 10 هستند) ، اما آنها نیز خارج از کشور نیستند.
راه حل ما؟
عملکرد از دست دادن هوبر.
باخت هوبر با متعادل کردن MSE و MAE در کنار هم ، بهترین های هر دو جهان را ارائه می دهد. ما می توانیم آن را با استفاده از عملکرد piecewise زیر تعریف کنیم:
آنچه در واقع این معادله به معنای این است که برای مقادیر ضرر کمتر از دلتا ، از MSE استفاده کنید. برای مقادیر از دست دادن بیشتر از دلتا ، از Mae استفاده کنید. این به طور موثری بهترین های هر دو جهان را از دو عملکرد از دست دادن ترکیب می کند.
نتیجه
توابع از دست دادن چیزی بیش از یک نمایش استاتیک از نحوه عملکرد مدل شما ارائه می دهد - آنها چگونه الگوریتم های شما در وهله اول داده ها را متناسب می کنند. بیشتر الگوریتم های یادگیری ماشین از نوعی عملکرد از دست دادن در فرآیند بهینه سازی یا یافتن بهترین پارامترها (وزن) برای داده های خود استفاده می کنند.
نکته مهم ، انتخاب عملکرد ضرر مستقیم با عملکرد فعال سازی مورد استفاده در لایه خروجی شبکه عصبی شما مرتبط است. این دو عنصر طراحی به هم وصل شده اند.
به پیکربندی لایه خروجی به عنوان انتخابی در مورد فریم بندی مشکل پیش بینی خود و انتخاب عملکرد ضرر به عنوان راهی برای محاسبه خطا برای یک فریم خاص از مشکل خود فکر کنید.
خواندن کتاب یادگیری عمیق توسط ایان گودفلور ، یوشوا بنگیو و آرون کورویل.