एक त्रुटि सतह उत्तल क्या है? क्या यह कोवरिनास मैट्रिक्स या हेसियन द्वारा निर्धारित किया जाता है?


17

मैं वर्तमान में प्रतिगमन के लिए कम से कम वर्गों (और अन्य) के अनुमानों के बारे में सीख रहा हूं , और मैं जो कुछ अनुकूली एल्गोरिथ्म साहित्य में पढ़ रहा हूं, अक्सर वाक्यांश "... और चूंकि त्रुटि सतह उत्तल है ..." प्रकट होता है और किसी भी गहराई के साथ क्यों यह शुरू करने के लिए उत्तल है जहां नहीं पाया जाना है।

... तो क्या यह वास्तव में उत्तल बनाता है ?

मुझे लगता है कि यह बार-बार होने वाली चूक स्वाभाविक रूप से कष्टप्रद है क्योंकि मैं अपने स्वयं के लागत कार्यों के साथ अपने अनुकूली एल्गोरिदम को डिजाइन करने में सक्षम होना चाहता हूं, लेकिन अगर मैं यह नहीं बता सकता कि मेरी लागत फ़ंक्शन उत्तल त्रुटि सतह पैदा करता है या नहीं, मैं अभ्यस्त नहीं हूं ग्रेडिएंट डिसेंट की तरह कुछ लागू करने में बहुत दूर हो जाओ क्योंकि वहाँ एक वैश्विक न्यूनतम नहीं होगा। शायद मैं रचनात्मक प्राप्त करना चाहता हूं - शायद मैं उदाहरण के लिए मेरी त्रुटि मानदंड के रूप में कम से कम वर्गों का उपयोग नहीं करना चाहता हूं।

गहराई से खुदाई करने पर, (और मेरे प्रश्न यहां से शुरू होते हैं), मैंने पाया कि यह बताने में सक्षम होने के लिए कि क्या आपके पास उत्तल त्रुटि सतह है, तो आपको यह सुनिश्चित करना होगा कि आपका हेसियन मैट्रिक्स सकारात्मक अर्ध-निश्चित है। सममित मैट्रिक के लिए, यह परीक्षा सरल है - बस यह सुनिश्चित करें कि हेसियन मैट्रिक्स के सभी eigenvalues ​​गैर-नकारात्मक हैं। (यदि आपका मैट्रिक्स सममित नहीं है, तो आप इसे अपने स्वयं के स्थानान्तरण से जोड़कर सममित बना सकते हैं और ग्रामियन के गुण से एक ही स्वदेशी परीक्षण कर सकते हैं , लेकिन यहाँ महत्वपूर्ण नहीं है)।

हेसियन मैट्रिक्स क्या है? हेसियन मैट्रिक्स आपके लागत फ़ंक्शन के विभाजन के सभी संभावित संयोजन को संहिताबद्ध करता है। कितने हिस्से हैं? आपके फ़ीचर वेक्टर में जितनी सुविधाएँ हैं। भागमभाग की गणना कैसे करें? मूल लागत समारोह से आंशिक व्युत्पन्न 'हाथ से' लें।

इसलिए मैंने ठीक यही किया है: मेरा मानना ​​है कि हमारे पास x डेटा मैट्रिक्स है, जिसे मैट्रिक्स द्वारा निरूपित किया गया है , जहाँ, उदाहरणों की संख्या को दर्शाता है, और प्रत्येक उदाहरण में सुविधाओं की संख्या को दर्शाता है। (जो कि विभाजन की संख्या भी होगी)। मुझे लगता है कि हम कह सकते हैं कि हमारे पास सेंसर से टाइम नमूने और स्थानिक नमूने हैं, लेकिन भौतिक अनुप्रयोग यहां बहुत महत्वपूर्ण नहीं है।mnXmnmn

इसके अलावा, हमारे पास आकार x का एक वेक्टर है । (यह आपका 'लेबल' वेक्टर है, या आपका 'जवाब' की हर पंक्ति के अनुरूप है )। सादगी के लिए, मैंने इस विशेष उदाहरण के लिए मान लिया है । तो 2 'उदाहरण' और 2 'सुविधाएँ'।ym1Xm=n=2

तो अब मान लीजिए कि आप 'लाइन' या बहुपत्नीत्व का पता लगाना चाहते हैं। यही है, आप अपने इनपुट डेटा सुविधाओं को अपने बहुपद सह-कुशल वेक्टर खिलाफ प्रोजेक्ट करते हैं, जैसे कि आपकी लागत फ़ंक्शन है:θ

J(θ)=12mi=1m[θ0x0[i]+θ1x1[i]y[i]]2

अब, हम पहले आंशिक व्युत्पन्न wrt , (सुविधा 0) को इस प्रकार :θ0

δJ(θ)δθ0=1mi=1m[θ0x0[i]+θ1x1[i]y[i]]x0[i]

δJ(θ)δθ0=1mi=1m[θ0x02[i]+θ1x1[i]x0[i]y[i]x0[i]]

अब, हम सभी दूसरे भाग की गणना करते हैं, इसलिए:

δ2J(θ)δθ02=1mi=1mx02[i]

δ2J(θ)δθ0θ1=1mi=1mx0[i]x1[i]

δ2J(θ)δθ1θ0=1mi=1mx1[i]x0[i]

δ2J(θ)δθ12=1mi=1mx12[i]

हम जानते हैं कि हेसियन कुछ भी नहीं है:

H(J(θ))=[δ2J(θ)δθ02δ2J(θ)δθ0θ1δ2J(θ)δθ1θ0δ2J(θ)δθ12]

H(J(θ))=[1mi=1mx02[i]1mi=1mx0[i]x1[i]1mi=1mx1[i]x0[i]1mi=1mx12[i]]

अब, मैंने डेटा मैट्रिक्स निर्माण कैसे किया है, इसके आधार पर , (मेरे 'फीचर' कॉलम से चलते हैं, और मेरे उदाहरण पंक्तियों से चलते हैं), हेस्सियन ऐसा प्रतीत होता है:X

H(J(θ))=XTX=Σ

... जो नमूना covariance मैट्रिक्स के अलावा कुछ भी नहीं है !

इसलिए मुझे इस बात पर पूरा यकीन नहीं है कि कैसे व्याख्या की जाए - या मुझे यह कहना चाहिए, मुझे इस बात का पूरा यकीन नहीं है कि मुझे यहां कितना सामान्य होना चाहिए। लेकिन मुझे लगता है कि मैं कह सकता हूं कि:

  • अटल सत्य:

    • हेसियन मैट्रिक्स हमेशा यह नियंत्रित करता है कि आपकी त्रुटि / लागत सतह उत्तल है या नहीं।
    • यदि आप हेसियन मैट्रिक्स पॉस-सेमी-डिफ हैं, तो आप उत्तल हैं, (और इष्टतम समाधान में परिवर्तित करने के लिए ढाल वंश जैसे एल्गोरिदम का खुशी से उपयोग कर सकते हैं)।
  • केवल LSE के लिए सही:

    • एलएसई लागत मानदंड के लिए हेसियन मैट्रिक्स मूल सहसंयोजक मैट्रिक्स के अलावा कुछ भी नहीं है। (!)।
    • मेरे लिए इसका मतलब यह है कि, यदि मैं एलएसई मानदंड का उपयोग करता हूं, तो डेटा स्वयं निर्धारित करता है कि मेरे पास उत्तल सतह है या नहीं? ... तो इसका क्या मतलब होगा कि मेरे सहसंयोजक मैट्रिक्स के आइजनवेक्टर किसी भी तरह लागत सतह को 'आकार' देने की क्षमता रखते हैं? क्या यह हमेशा सच होता है? या यह सिर्फ LSE मानदंड के लिए काम करता है? यह सिर्फ मेरे साथ नहीं बैठता है कि त्रुटि सतह की उत्तलता डेटा पर निर्भर होनी चाहिए।

इसलिए इसे मूल प्रश्न के संदर्भ में वापस रखते हुए, कोई यह कैसे निर्धारित करता है कि त्रुटि त्रुटि (आपके द्वारा चुने गए कुछ लागत फ़ंक्शन के आधार पर) उत्तल है या नहीं? क्या यह निर्धारण डेटा पर आधारित है, या हेस्सियन?

धन्यवाद

TLDR: कैसे, बिल्कुल, और व्यावहारिक रूप से मैं यह निर्धारित करने के बारे में जाता हूं कि मेरी लागत-फ़ंक्शन और / या डेटा-सेट एक उत्तल या गैर-उत्तल त्रुटि सतह है या नहीं?

जवाबों:


7

आप एकल आयाम में रैखिक-सबसे कम वर्गों के बारे में सोच सकते हैं। लागत समारोह जैसा कुछ है । पहला व्युत्पन्न (जैकबियन) तब , इसलिए में रैखिक । दूसरा व्युत्पन्न (हेसियन) - एक स्थिर।a22aa2

चूंकि दूसरा व्युत्पन्न सकारात्मक है, आप उत्तल लागत फ़ंक्शन के साथ काम कर रहे हैं। यह बहुभिन्नरूपी पथरी में सकारात्मक निश्चित हेसियन मैट्रिक्स के लिए eqivalent है।

आप केवल दो चर ( , ) से , इस प्रकार हेसियन विशेष रूप से सरल है।θ1θ2

व्यवहार में, हालांकि, अक्सर कई चर शामिल होते हैं, इसलिए हेसियन का निर्माण और निरीक्षण करना अव्यावहारिक है।

अधिक कुशल विधि कम से कम वर्गों की समस्या में सीधे याकूबियन मैट्रिक्स पर काम करना है:J

Jx=b

J रैंक-डेफिसिट, एकवचन या निकट-एकवचन हो सकता है। ऐसे मामलों में, लागत फ़ंक्शन का द्विघात सतह लगभग सपाट और / या बेतहाशा किसी दिशा में फैला होता है। आप यह भी देख सकते हैं कि आपका मैट्रिक्स सैद्धांतिक रूप से हल है, लेकिन समाधान संख्यात्मक रूप से अस्थिर है। इस तरह के मामलों से निपटने के लिए पूर्व-निर्धारण की एक विधि का उपयोग किया जा सकता है।

कुछ एल्गोरिदम सरल एक चलाने Cholesky अपघटन के । यदि एल्गोरिथ्म विफल हो जाता है, तो इसका मतलब है कि एकवचन (या बीमार अवस्था) है।JJ

संख्यात्मक रूप से अधिक स्थिर, लेकिन अधिक महंगा एक क्यूआर अपघटन है , जो कि केवल तभी होता है जब नियमित होता है।J

अंत में, अत्याधुनिक विधि एक विलक्षण मूल्य अपघटन (एसवीडी) है , जो सबसे महंगी है, प्रत्येक मैट्रिक्स पर किया जा सकता है, संख्यात्मक रैंक का खुलासा करता है और आपको रैंक-कमी वाले मामलों का अलग से इलाज करने की अनुमति देता है।J

मैंने रैखिक और गैर-रैखिक कम से कम वर्गों के समाधान के बारे में एक लेख लिखा था, जो इन विषयों को विस्तार से शामिल करता है:

मैथ.नेट के साथ लीनियर और नॉनलाइनियर लिस्ट-स्क्वायर

महान पुस्तकों के संदर्भ भी हैं जो कम से कम वर्गों से संबंधित उन्नत विषयों से संबंधित हैं (मापदंडों / डेटा बिंदुओं में सहसंयोजक, पूर्व-निर्धारण, स्केलिंग, ऑर्थोगोनल दूरी प्रतिगमन - कुल न्यूनतम-वर्ग, न्यूनतम सटीकता और सटीकता की सटीकता का निर्धारण करने वाले आदि) )।

मैंने लेख के लिए एक नमूना परियोजना बनाई है, जो खुला स्रोत है:

LeastSquaresDemo - बाइनरी

LeastSquaresDemo - स्रोत (C #)


धन्यवाद Libor: 1) स्पर्शरेखा लेकिन, चोल्स्की एक मैट्रिक्स स्क्वायर रूट की तरह है जो ऐसा लगता है, हाँ? 2) निश्चित नहीं कि मैं आपकी बात को समझ सकता हूं कि हेसियन आपको त्रुटि बिंदु पर प्रत्येक बिंदु पर उत्तलता के बारे में कैसे बताता है - क्या आप सामान्य रूप से कह रहे हैं? क्योंकि एलएसई व्युत्पत्ति से ऊपर, हेस्सियन मापदंडों पर निर्भर नहीं करता है , और सिर्फ डेटा पर। शायद आप सामान्य रूप में मतलब है? 3) अंत में कुल मिलाकर, यह कैसे निर्धारित किया जाए कि क्या कोई त्रुटि सतह उत्तल है - बस यह सुनिश्चित करने के लिए छड़ी है कि हेस्पियन एसपीडी है? लेकिन आपने उल्लेख किया है कि यह पर निर्भर हो सकता है ... तो कोई इसे कैसे सुनिश्चित कर सकता है? धन्यवाद! θθ
स्पेसी

2) हां मेरा मतलब सामान्य तौर पर है। रैखिक कम से कम वर्गों में, संपूर्ण त्रुटि सतह में निरंतर हेसियन होता है। द्विघात का दूसरा गर्भाधान लेना स्थिर है, हेसियन के लिए भी यही बात लागू होती है। 3) यह आपके डेटा मैट्रिक्स की कंडीशनिंग पर निर्भर करता है। यदि हेसियन एसपीडी है, तो आप एक एकल बंद समाधान है और त्रुटि सतह सभी दिशाओं में उत्तल है। अन्यथा डेटा मैट्रिक्स बीमार या विलक्षण है। मैंने हेसियन का उपयोग करने के लिए कभी भी जांच नहीं की है, बल्कि डेटा मैट्रिक्स के विलक्षण मानों का निरीक्षण किया है या जाँच की है कि इसमें चोल्स्की अपघटन है या नहीं। दोनों तरीके आपको बताएंगे कि क्या कोई समाधान है।
लिबोर

Libor - 1) यदि आप कर सकते हैं, तो कृपया जोड़ें कि आपने डेटा मैट्रिक्स के SVD का उपयोग कैसे किया है , या आपने किस प्रकार चोल्स्की अपघटन का उपयोग किया है, यह जांचने के लिए कि आपके पास एक बंद समाधान है, वे बहुत उपयोगी लगते हैं और यह एक अच्छा बिंदु है, और मुझे यह जानने के लिए उत्सुक होना चाहिए कि उन का उपयोग कैसे करें। 2) आखिरी बात, यह सुनिश्चित करने के लिए कि मैं आपको हेसियन के बारे में समझता हूं: इसलिए हेस्सियन सामान्य रूप से, और / या का एक कार्य है । यदि यह एसपीडी है, तो हमारे पास उत्तल सतह है। (यदि हेसियन में , तो भी, हमें हर जगह इसका मूल्यांकन करना होगा, ऐसा लगता है)। एक बार फिर धन्यवाद। XθXθ
स्पेसी

मोहम्मद: 1) मैंने उत्तर को फिर से लिखा है और अपने लेख के साथ लिस्ट-स्क्वायर के बारे में लिंक जोड़े हैं (कुछ त्रुटियां हो सकती हैं, मैंने इसे अभी तक आधिकारिक रूप से प्रकाशित नहीं किया है) जिसमें नमूना परियोजना शामिल है। मुझे आशा है कि यह आपको समस्या को अधिक गहराई से समझने में मदद करेगा ... 2) रैखिक-कम से कम वर्गों में, हेसियन स्थिर है और केवल डेटा बिंदुओं पर निर्भर करता है। सामान्य तौर पर, यह मॉडल के मापदंडों पर भी निर्भर करता है, लेकिन यह केवल गैर-रैखिक कम से कम वर्गों का मामला है।
लिबोर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.