जवाबों:
लॉग नुकसान की अच्छी संपत्ति है कि यह एक अलग कार्य है। सटीकता अधिक महत्वपूर्ण हो सकती है और निश्चित रूप से अधिक व्याख्या योग्य है, लेकिन बैकप्रॉपैगेशन एल्गोरिथ्म के कारण नेटवर्क के प्रशिक्षण में सीधे उपयोग करने योग्य नहीं है, जिसके लिए नुकसान फ़ंक्शन को अलग-अलग करने की आवश्यकता होती है। जब आपका पसंदीदा नुकसान सीधे अनुकूलन योग्य नहीं होता है (सटीकता की तरह) आप एक नुकसान फ़ंक्शन का उपयोग करते हैं जो सच्चे मीट्रिक को प्रॉक्सी करने के लिए समान व्यवहार करता है। बाइनरी वर्गीकरण के मामले में आप अंत में एक सिग्मोइड का उपयोग करेंगे और अनुमानित सटीकता के लिए एक लॉग नुकसान होगा। वे अत्यधिक सहसंबद्ध हैं।
हां, वे दोनों y और y_hat की सटीकता को मापते हैं और हां वे आमतौर पर सहसंबद्ध होते हैं। कभी-कभी हानि फ़ंक्शन सटीकता नहीं हो सकता है, लेकिन आप अभी भी सटीकता को मापने में रुचि रखते हैं, भले ही आप इसे सीधे अनुकूलित नहीं कर रहे हों। Google का TensorFlow MNIST उदाहरण क्रॉस एन्ट्रॉपी लॉस को न्यूनतम / अनुकूलित करता है लेकिन परिणाम की रिपोर्ट करते समय उपयोगकर्ता को सटीकता प्रदर्शित करता है, और यह पूरी तरह से ठीक है।
कभी-कभी आप सटीकता को सीधे अनुकूलित नहीं करना चाहते हैं। उदाहरण के लिए, यदि आपके पास गंभीर वर्ग असंतुलन है, तो आपका मॉडल हमेशा सबसे सामान्य वर्ग को उठाकर सटीकता को अधिकतम करेगा, लेकिन यह एक उपयोगी मॉडल नहीं होगा। इस मामले में एन्ट्रापी / लॉग-लॉस ऑप्टिमाइज़ करने के लिए एक बेहतर नुकसान फ़ंक्शन होगा।
show_accuracy
पैरामीटर सही पर सेट है (जैसे फिटिंग या मूल्यांकन में)। क्या वो सही है?
def your_own_metric(y_true, y_pred)
फंक्शन बना सकते हैं और इसे पास कर सकते हैंmodel.compile(..., metrics=[your_own_metric])