मैं वर्तमान में प्रतिगमन के लिए कम से कम वर्गों (और अन्य) के अनुमानों के बारे में सीख रहा हूं , और मैं जो कुछ अनुकूली एल्गोरिथ्म साहित्य में पढ़ रहा हूं, अक्सर वाक्यांश "... और चूंकि त्रुटि सतह उत्तल है ..." प्रकट होता है और किसी भी गहराई के साथ क्यों यह शुरू करने के लिए उत्तल है जहां नहीं पाया जाना है।
... तो क्या यह वास्तव में उत्तल बनाता है ?
मुझे लगता है कि यह बार-बार होने वाली चूक स्वाभाविक रूप से कष्टप्रद है क्योंकि मैं अपने स्वयं के लागत कार्यों के साथ अपने अनुकूली एल्गोरिदम को डिजाइन करने में सक्षम होना चाहता हूं, लेकिन अगर मैं यह नहीं बता सकता कि मेरी लागत फ़ंक्शन उत्तल त्रुटि सतह पैदा करता है या नहीं, मैं अभ्यस्त नहीं हूं ग्रेडिएंट डिसेंट की तरह कुछ लागू करने में बहुत दूर हो जाओ क्योंकि वहाँ एक वैश्विक न्यूनतम नहीं होगा। शायद मैं रचनात्मक प्राप्त करना चाहता हूं - शायद मैं उदाहरण के लिए मेरी त्रुटि मानदंड के रूप में कम से कम वर्गों का उपयोग नहीं करना चाहता हूं।
गहराई से खुदाई करने पर, (और मेरे प्रश्न यहां से शुरू होते हैं), मैंने पाया कि यह बताने में सक्षम होने के लिए कि क्या आपके पास उत्तल त्रुटि सतह है, तो आपको यह सुनिश्चित करना होगा कि आपका हेसियन मैट्रिक्स सकारात्मक अर्ध-निश्चित है। सममित मैट्रिक के लिए, यह परीक्षा सरल है - बस यह सुनिश्चित करें कि हेसियन मैट्रिक्स के सभी eigenvalues गैर-नकारात्मक हैं। (यदि आपका मैट्रिक्स सममित नहीं है, तो आप इसे अपने स्वयं के स्थानान्तरण से जोड़कर सममित बना सकते हैं और ग्रामियन के गुण से एक ही स्वदेशी परीक्षण कर सकते हैं , लेकिन यहाँ महत्वपूर्ण नहीं है)।
हेसियन मैट्रिक्स क्या है? हेसियन मैट्रिक्स आपके लागत फ़ंक्शन के विभाजन के सभी संभावित संयोजन को संहिताबद्ध करता है। कितने हिस्से हैं? आपके फ़ीचर वेक्टर में जितनी सुविधाएँ हैं। भागमभाग की गणना कैसे करें? मूल लागत समारोह से आंशिक व्युत्पन्न 'हाथ से' लें।
इसलिए मैंने ठीक यही किया है: मेरा मानना है कि हमारे पास x डेटा मैट्रिक्स है, जिसे मैट्रिक्स द्वारा निरूपित किया गया है , जहाँ, उदाहरणों की संख्या को दर्शाता है, और प्रत्येक उदाहरण में सुविधाओं की संख्या को दर्शाता है। (जो कि विभाजन की संख्या भी होगी)। मुझे लगता है कि हम कह सकते हैं कि हमारे पास सेंसर से टाइम नमूने और स्थानिक नमूने हैं, लेकिन भौतिक अनुप्रयोग यहां बहुत महत्वपूर्ण नहीं है।
इसके अलावा, हमारे पास आकार x का एक वेक्टर है । (यह आपका 'लेबल' वेक्टर है, या आपका 'जवाब' की हर पंक्ति के अनुरूप है )। सादगी के लिए, मैंने इस विशेष उदाहरण के लिए मान लिया है । तो 2 'उदाहरण' और 2 'सुविधाएँ'।
तो अब मान लीजिए कि आप 'लाइन' या बहुपत्नीत्व का पता लगाना चाहते हैं। यही है, आप अपने इनपुट डेटा सुविधाओं को अपने बहुपद सह-कुशल वेक्टर खिलाफ प्रोजेक्ट करते हैं, जैसे कि आपकी लागत फ़ंक्शन है:
अब, हम पहले आंशिक व्युत्पन्न wrt , (सुविधा 0) को इस प्रकार :
अब, हम सभी दूसरे भाग की गणना करते हैं, इसलिए:
हम जानते हैं कि हेसियन कुछ भी नहीं है:
अब, मैंने डेटा मैट्रिक्स निर्माण कैसे किया है, इसके आधार पर , (मेरे 'फीचर' कॉलम से चलते हैं, और मेरे उदाहरण पंक्तियों से चलते हैं), हेस्सियन ऐसा प्रतीत होता है:
... जो नमूना covariance मैट्रिक्स के अलावा कुछ भी नहीं है !
इसलिए मुझे इस बात पर पूरा यकीन नहीं है कि कैसे व्याख्या की जाए - या मुझे यह कहना चाहिए, मुझे इस बात का पूरा यकीन नहीं है कि मुझे यहां कितना सामान्य होना चाहिए। लेकिन मुझे लगता है कि मैं कह सकता हूं कि:
अटल सत्य:
- हेसियन मैट्रिक्स हमेशा यह नियंत्रित करता है कि आपकी त्रुटि / लागत सतह उत्तल है या नहीं।
- यदि आप हेसियन मैट्रिक्स पॉस-सेमी-डिफ हैं, तो आप उत्तल हैं, (और इष्टतम समाधान में परिवर्तित करने के लिए ढाल वंश जैसे एल्गोरिदम का खुशी से उपयोग कर सकते हैं)।
केवल LSE के लिए सही:
- एलएसई लागत मानदंड के लिए हेसियन मैट्रिक्स मूल सहसंयोजक मैट्रिक्स के अलावा कुछ भी नहीं है। (!)।
- मेरे लिए इसका मतलब यह है कि, यदि मैं एलएसई मानदंड का उपयोग करता हूं, तो डेटा स्वयं निर्धारित करता है कि मेरे पास उत्तल सतह है या नहीं? ... तो इसका क्या मतलब होगा कि मेरे सहसंयोजक मैट्रिक्स के आइजनवेक्टर किसी भी तरह लागत सतह को 'आकार' देने की क्षमता रखते हैं? क्या यह हमेशा सच होता है? या यह सिर्फ LSE मानदंड के लिए काम करता है? यह सिर्फ मेरे साथ नहीं बैठता है कि त्रुटि सतह की उत्तलता डेटा पर निर्भर होनी चाहिए।
इसलिए इसे मूल प्रश्न के संदर्भ में वापस रखते हुए, कोई यह कैसे निर्धारित करता है कि त्रुटि त्रुटि (आपके द्वारा चुने गए कुछ लागत फ़ंक्शन के आधार पर) उत्तल है या नहीं? क्या यह निर्धारण डेटा पर आधारित है, या हेस्सियन?
धन्यवाद
TLDR: कैसे, बिल्कुल, और व्यावहारिक रूप से मैं यह निर्धारित करने के बारे में जाता हूं कि मेरी लागत-फ़ंक्शन और / या डेटा-सेट एक उत्तल या गैर-उत्तल त्रुटि सतह है या नहीं?