पीसीए एक ज्यामितीय समस्या (दूरियों के साथ) से रैखिक बीजगणित की समस्या (आइगेनट्रैक्टर्स के साथ) में कैसे बदल जाता है, इसके लिए एक सहज व्याख्या क्या है?


54

मैंने पीसीए के बारे में बहुत कुछ पढ़ा है, जिसमें विभिन्न ट्यूटोरियल और प्रश्न शामिल हैं (जैसे कि यह एक , यह एक , यह एक और यह एक )।

पीसीए अनुकूलन करने की कोशिश कर रही ज्यामितीय समस्या मेरे लिए स्पष्ट है: पीसीए पुनर्निर्माण (प्रक्षेपण) त्रुटि को कम करके पहले प्रमुख घटक को खोजने की कोशिश करता है, जो एक साथ अनुमानित डेटा के विचरण को अधिकतम करता है।

यहाँ छवि विवरण दर्ज करें

जब मैंने पहली बार पढ़ा कि, मैंने तुरंत रेखीय प्रतिगमन जैसी चीज के बारे में सोचा; हो सकता है कि आप जरूरत पड़ने पर ग्रेडिएंट डिसेंट का उपयोग करके इसे हल कर सकें।

हालाँकि, तब मेरा दिमाग उड़ गया था जब मैंने पढ़ा कि अनुकूलन समस्या को रैखिक बीजगणित का उपयोग करके और eigenvectors और eigenvalues ​​को खोजने के द्वारा हल किया जाता है। मुझे यह समझ में नहीं आ रहा है कि रैखिक बीजगणित का यह प्रयोग किस तरह से होता है।

तो मेरा सवाल है: पीसीए एक ज्यामितीय अनुकूलन समस्या से एक रैखिक बीजगणित समस्या में कैसे बदल सकता है? क्या कोई सहज व्याख्या प्रदान कर सकता है?

मैं इस तरह के एक जवाब की तलाश नहीं कर रहा हूं जो कहता है कि "जब आप पीसीए की गणितीय समस्या को हल करते हैं, तो यह कोवरियन मैट्रिक्स के स्वदेशी और ईजेनवेक्टर्स को खोजने के बराबर होता है।" कृपया बताएं कि eigenvectors मुख्य घटक क्यों बनते हैं और eigenvalues ​​उन पर डेटा प्रोजेक्ट के विचरण के लिए क्यों निकलते हैं

मैं एक सॉफ्टवेयर इंजीनियर हूं, न कि गणितज्ञ।

नोट: ऊपर का आंकड़ा इस पीसीए ट्यूटोरियल से लिया और संशोधित किया गया था ।


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

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

1
optimization problemहाँ पीसीए समस्या को हल किया जा सकता है (पुनरावृत्त, अभिसरण) अनुकूलन दृष्टिकोण, मुझे विश्वास है। लेकिन चूंकि इसने मैथ्स के माध्यम से फॉर्म सॉल्यूशन को बंद कर दिया है, इसलिए उस सरल, कुशल समाधान का उपयोग क्यों न करें?
ttnphns

तुम पूछते हो provide an intuitive explanation। मुझे आश्चर्य है कि अमीबा द्वारा सहज और स्पष्ट उत्तर क्यों , जहां मैंने लिंक किया है, आपके अनुरूप नहीं होगा। तुम पूछते हो _why_ eigenvectors come out to be the principal components...क्यों? परिभाषा से! Eigenvectors हैं एक डेटा बादल के प्रिंसिपल दिशाओं।
ttnphns

6
CwCw=λw

जवाबों:


54

समस्या का विवरण

पीसीए अनुकूलन करने की कोशिश कर रही ज्यामितीय समस्या मेरे लिए स्पष्ट है: पीसीए पुनर्निर्माण (प्रक्षेपण) त्रुटि को कम करके पहले प्रमुख घटक को खोजने की कोशिश करता है, जो एक साथ अनुमानित डेटा के विचरण को अधिकतम करता है।

ये सही है। मैं इन दोनों योगों के बीच मेरा उत्तर में कनेक्शन की व्याख्या यहाँ (गणित के बिना) या यहाँ (गणित के साथ)।

Cww=1wCw

(यदि यह स्पष्ट नहीं है तो बस: यदि केंद्रित डेटा मैट्रिक्स है, तो प्रक्षेपण द्वारा दिया जाता है और इसका विचरण )XXw1n1(Xw)Xw=w(1n1XX)w=wCw

दूसरी ओर, का एक eigenvector है, परिभाषा के अनुसार, कोई भी वेक्टर जैसे कि ।CvCv=λv

यह पता चलता है कि पहला प्रमुख दिशा सबसे बड़े eigenvalue के साथ eigenvector द्वारा दी गई है। यह एक बकवास और आश्चर्यजनक बयान है।


सबूत

यदि कोई पीसीए पर कोई पुस्तक या ट्यूटोरियल खोलता है, तो कोई भी ऊपर दिए गए विवरण के लगभग एक-लाइन प्रमाण को पा सकता है। हम बाधा के तहत को अधिकतम करना चाहते हैं , जो कि ; यह एक लैगेंज गुणक का परिचय दिया जा सकता है और ; विभेदित करते हुए, हम , जो कि ईजेनवेक्टर समीकरण है। हम देखते हैं कि वास्तव में है उद्देश्य समारोह है, जो देता है में इस समाधान प्रतिस्थापन सबसे बड़ा eigenvalue होने के लिएwCww=ww=1wCwλ(ww1)Cwλw=0λwCwλ(ww1)=wCw=λww=λ । इस तथ्य के आधार पर कि इस उद्देश्य फ़ंक्शन को अधिकतम किया जाना चाहिए, सबसे बड़ा eigenvalue, QED होना चाहिए।λ

यह ज्यादातर लोगों के लिए बहुत सहज नहीं है।

एक बेहतर सबूत (उदाहरण के लिए @कार्डिनल द्वारा इस स्वच्छ उत्तर को देखें ) का कहना है कि क्योंकि सममित मैट्रिक्स है, यह इसके आइजनवेक्टर आधार में विकर्ण है। (इसे वास्तव में वर्णक्रमीय प्रमेय कहा जाता है ।) इसलिए हम एक ऑर्थोगोनल आधार चुन सकते हैं, अर्थात् द्वारा दिया गया एक, जहां विकर्ण है और विकर्ण पर eigenvalues । उस आधार में, सरलता से , या दूसरे शब्दों में विचरण eigenvalues ​​के भारित योग द्वारा दिया जाता है। यह लगभग तत्काल है कि इस अभिव्यक्ति को अधिकतम करने के लिए बसCCλiwCwλiwi2w=(1,0,0,,0), यानी पहला , पैदावार विचरण (वास्तव में, इस समाधान से और छोटे लोगों के लिए सबसे बड़े ईगेंवल्यू के "ट्रेडिंग" भागों को केवल छोटे समग्र विचरण के लिए प्रेरित करेगा)। ध्यान दें कि का मूल्य आधार पर निर्भर नहीं करता है! एक रोटेशन के लिए eigenvector के आधार मात्रा में परिवर्तन, इसलिए 2D में कोई भी स्कैल्पलोट के साथ कागज के एक टुकड़े को घुमाने की कल्पना कर सकता है; जाहिर है कि इससे कोई परिवर्तन नहीं हो सकता।λ1wCw

मुझे लगता है कि यह बहुत सहज और बहुत उपयोगी तर्क है, लेकिन यह वर्णक्रमीय प्रमेय पर निर्भर करता है। तो यहाँ असली मुद्दा मुझे लगता है: वर्णक्रमीय प्रमेय के पीछे अंतर्ज्ञान क्या है?


वर्णक्रम प्रमेय

एक सममित मैट्रिक्स । सबसे बड़े eigenvalue साथ इसका eigenvector । इस आइजनवेक्टर को पहला आधार वेक्टर बनाएं और दूसरे आधार वाले वैक्टर को बेतरतीब ढंग से चुनें (जैसे कि ये सभी अलंकारिक हों)। इस आधार में कैसे दिखेगा?Cw1λ1C

यह शीर्ष-बाएँ कोने में होगा , क्योंकि इस आधार में और को बराबर होना चाहिए ।λ1w1=(1,0,00)Cw1=(C11,C21,Cp1)λ1w1=(λ1,0,00)

उसी तर्क से यह पहले कॉलम में तहत शून्य होगा ।λ1

लेकिन क्योंकि यह सममित है, इसलिए यह पहली पंक्ति में साथ ही शून्य होगा । तो ऐसा लगेगा:λ1

C=(λ10000),

जहां खाली जगह का मतलब है कि वहां कुछ तत्वों का ब्लॉक है। क्योंकि मैट्रिक्स सममित है, यह ब्लॉक सममित भी होगा। तो हम इसे ठीक उसी तर्क को लागू कर सकते हैं, जो प्रभावी रूप से दूसरे आधार वेक्टर के रूप में दूसरे का उपयोग कर रहा है, और विकर्ण पर और प्राप्त कर रहा है। यह तब तक जारी रह सकता है जब तक कि विकर्ण नहीं हो जाता। यह मूलतः वर्णक्रमीय प्रमेय है। (ध्यान दें कि यह केवल इसलिए काम करता है क्योंकि सममित है।)λ1λ2CC


यहां ठीक उसी तर्क का अधिक सार सुधार है।

हम जानते हैं कि , इसलिए पहला eigenvector एक 1-आयामी उप-क्षेत्र को परिभाषित करता है, जहां एक स्केलर गुणन के रूप में कार्य करता है। आइए अब हम किसी भी वेक्टर orthogonal to । फिर यह लगभग तत्काल है कि भी orthogonal to । वास्तव में:Cw1=λ1w1Cvw1Cvw1

w1Cv=(w1Cv)=vCw1=vCw1=λ1vw1=λ10=0.

इसका मतलब यह है कि पूरे शेष उप-ऑर्थोगोनल से पर कार्य करता है, जैसे कि वह से अलग रहता है । यह सममित मैट्रिक्स की महत्वपूर्ण संपत्ति है। इसलिए हम वहां सबसे बड़ा पा सकते हैं, , और उसी तरीके से आगे बढ़ सकते हैं, आखिरकार एक असामान्य आधार बना सकते हैं।Cw1w1w2


"लाग्रेंज मल्टीप्लायर" मेरे लिए वास्तव में स्पष्ट है। हालाँकि, क्या आप मुझे बता सकते हैं कि हमें एक इकाई लंबाई की आवश्यकता क्यों है? धन्यवाद
हैताओ दू

2
@ hxd1011 यहाँ पहले से ही यह सवाल है, लेकिन संक्षेप में: ऐसा इसलिए है क्योंकि अन्यथा आप किसी भी संख्या से को गुणा कर सकते हैं और इस संख्या के वर्ग से बढ़ जाएगा। तो समस्या अ-परिभाषित हो जाती है: इस अभिव्यक्ति का अधिकतम अनंत है। वास्तव में, की दिशा पर प्रक्षेपण के विचरण है केवल तभी इकाई लंबाई है। wwCwwwCww
अमीबा ने कहा कि मोनिका

मुझे लगता है कि अधिकांश पाठकों के लिए थोड़ा अधिक परिचित हो सकता है; मैंने इसे यहां बदल दिया। धन्यवाद। n1
अमीबा का कहना है कि मोनिका

@amoeba: उत्तर के लिए धन्यवाद। आपकी कुछ धारणा से मैं भ्रमित हूँ। आप इकाई-लंबाई वाले वेक्टर को इंगित करने के लिए w का उपयोग करते हैं जो पहले eigenvector (प्रमुख घटक) के रूप में निकलता है। जब मैं पीसीए को आर (जैसे prcomp(iris[,1:4], center=T, scale=T)) में चलाता हूं , तो मुझे यूनिट-लंबाई के आईजेनवेक्टर जैसे कि फ्लोट्स का एक गुच्छा दिखाई देता है (0.521, -0.269, 0.580, 0.564)। हालांकि, "सबूत" के तहत आपके उत्तर में, आप लिखते हैं कि यह लगभग तत्काल है कि इस अभिव्यक्ति को अधिकतम करने के लिए बस w = (1,0,0,…, 0), यानी पहला eigenvector लेना चाहिए । क्यों अपने सबूत में eigenvector इतनी अच्छी तरह से गठित दिखता है?
stackoverflowuser2010

1
हाय @ user58865, कुहनी से हलका धक्का: मैं पहली बार जवाब देना भूल गया। पतला है, एक अदिश राशि है - यह सिर्फ एक संख्या है। कोई भी संख्या "सममित" है :) और इसके स्थानान्तरण के बराबर है। क्या इस का कोई मतलब निकलता है? w1Cv
अमीबा का कहना है कि

5

इकार्ट एंड यंग ( https://ccrma.stanford.edu/~dattorro/eckart%26young.1936.pdf ) द्वारा 1936 से एक परिणाम है , जो निम्नलिखित बताता है।

1rdkukvkT=argminX^ϵM(r)||XX^||F2

जहाँ M (r) रैंक-आर मेट्रिसेस का सेट है, जिसका मूल रूप से X के SVD का पहला r अवयव X का सर्वश्रेष्ठ निम्न-श्रेणी का मैट्रिक्स सन्निकटन देता है और सबसे बेहतर वर्ग फ्रोबेनियस मानदंड के रूप में परिभाषित किया गया है - वर्ग का योग एक मैट्रिक्स के तत्व।

यह मैट्रिस के लिए एक सामान्य परिणाम है और पहली नजर में डेटा सेट या आयामीता में कमी से कोई लेना-देना नहीं है।

हालाँकि, यदि आप को एक मैट्रिक्स के रूप में नहीं सोचते हैं, बल्कि डेटा बिंदुओं के वैक्टर का प्रतिनिधित्व करने वाले मैट्रिक्स के स्तंभों के बारे में सोचते हैं तो वर्ग त्रुटि त्रुटियों के संदर्भ में न्यूनतम प्रतिनिधित्व त्रुटि के साथ सन्निकटन है।XXX^


4

यह मेरा पीसीए के पीछे रैखिक बीजगणित पर है। रैखिक बीजगणित में, प्रमुख प्रमेयों में से एक । यह बताता है कि यदि वास्तविक गुणांकों के साथ n मैट्रिक्स द्वारा S कोई सममित n है, तो S के पास सभी स्वदेशी होने के साथ n eigenvectors हैं। इसका अर्थ है कि हम D को विकर्ण मैट्रिक्स के साथ धनात्मक प्रविष्टियों के साथ लिख सकते हैं। वह और में कोई बुराई नहीं है । A आधार मैट्रिक्स का परिवर्तन है। यही है, यदि हमारा मूल आधार तो द्वारा दिए गए आधार के संबंध मेंSpectral TheoremS=ADA1D=diag(λ1,λ2,,λn)λ1λ2λnx1,x2,,xnA(x1),A(x2),A(xn)S की क्रिया विकर्ण है। इसका अर्थ यह भी है कि को एक ऑर्थोगोनल आधार माना जा सकता है यदि हमारी सहसंयोजक मैट्रिक्स n चरों की n टिप्पणियों के लिए थी, तो हम किया जाएगा। द्वारा प्रदान किया गया आधार PCA आधार है। यह रैखिक बीजगणित तथ्यों से निम्नानुसार है। संक्षेप में यह सच है क्योंकि एक पीसीए आधार eigenvectors का एक आधार है और आकार n के एक वर्ग मैट्रिक्स के अधिकतम n eigenvectors हैं। बेशक अधिकांश डेटा मैट्रिस वर्ग नहीं हैं। यदि X, पी वेरिएबल्स के n अवलोकनों के साथ एक डेटा मैट्रिक्स है, तो X, p द्वारा आकार n का है। मैं मानूंगा कि (चर की तुलना में अधिक अवलोकन) और उसA(xi)||A(xi)||=λiA(xi)
n>prk(X)=p(सभी चर रैखिक रूप से स्वतंत्र हैं)। न तो धारणा आवश्यक है, लेकिन यह अंतर्ज्ञान के साथ मदद करेगा। रैखिक बीजगणित में स्पेक्ट्रल प्रमेय से एक सामान्यीकरण होता है जिसे एकवचन मान अपघटन कहा जाता है। इस तरह के एक एक्स के लिए यह कहा गया है कि यू के साथ, वी ऑर्थोनॉर्मल (वर्ग) आकार एन और पी के मैट्रिसेस और केवल गैर-नकारात्मक के साथ एक वास्तविक विकर्ण मैट्रिक्स विकर्ण पर प्रविष्टियाँ। फिर से हम V के आधार को पुनर्व्यवस्थित कर सकते हैं ताकि मैट्रिक्स के संदर्भ में, इसका मतलब है कि अगर और if । X=UΣVtΣ=(sij)s11s22spp>0X(vi)=siiuiipsii=0i>nviपीसीए अपघटन दे। अधिक सटीक रूप से पीसीए अपघटन है। क्यों? फिर, रैखिक बीजगणित कहता है कि केवल पी eigenvectors हो सकते हैं। SVD नए वैरिएबल (V के कॉलम द्वारा दिए गए) देता है जो ऑर्थोगोनल होते हैं और जिनमें नॉर्म्स कम होते हैं। ΣVt


4

"जो एक साथ अनुमानित डेटा के विचरण को अधिकतम करता है।" क्या आपने रेलेह भागवत के बारे में सुना है ? शायद यह देखने का एक तरीका है। अच्छी तरह से सहसंयोजक मैट्रिक्स की रेलेह भाग आपको अनुमानित डेटा का विचरण देता है। (और विकी पेज बताता है कि क्यों eigenvectors रेले भागफल को अधिकतम करते हैं)


1

@amoeba देता है साफ-सुथरी औपचारिकता और प्रमाण:

हम इसे इस प्रकार औपचारिक रूप दे सकते हैं: सहसंयोजक मैट्रिक्स सी को देखते हुए, हम एक वेक्टर डब्ल्यू की इकाई लंबाई, 1w such = 1 की तलाश कर रहे हैं, जैसे कि डब्ल्यू टी सीडब्ल्यू अधिकतम है।

लेकिन मुझे लगता है कि इसके लिए एक सहज प्रमाण है:

यह पता चलता है कि पहला प्रमुख दिशा सबसे बड़े eigenvalue के साथ eigenvector द्वारा दी गई है। यह एक बकवास और आश्चर्यजनक बयान है।

हम डब्ल्यू व्याख्या कर सकते हैं टी वेक्टर w और Cw जो डॉट उत्पाद है, जो के माध्यम से जा डब्ल्यू द्वारा प्राप्त के रूप में Cw परिवर्तन सी:

w T Cw = ‖w‖ * ‖Cw cos * cos (w, Cw)

चूँकि w की लंबाई फिक्स है, w t Cw को अधिकतम करने के लिए , हमें आवश्यकता है:

  1. अधिकतम ‖Cw‖
  2. अधिकतम कोस (w, Cw)

यह पता चलता है कि यदि हम C को eigenvector के रूप में लेते हैं तो सबसे बड़ा eigenvalue है, हम दोनों को एक साथ संग्रहित कर सकते हैं:

  1. ‖Cw from अधिकतम है, (यदि इस eigenvector से विचलन होता है, तो इसे orthogonal eigenvectors के साथ विघटित करें, आपको .Cw‖ की कमी देखनी चाहिए।)
  2. w और Cw एक ही दिशा में, cos (w, Cw) = 1, अधिकतम

चूंकि eigenvectors ऑर्थोगोनल हैं, सी के अन्य eigenvectors के साथ मिलकर वे X के लिए प्रमुख घटकों का एक सेट बनाते हैं।


1 का प्रमाण

orthogonal प्राथमिक और माध्यमिक eigenvector v1 और v2 में womposite , मान लें कि उनकी लंबाई क्रमशः v1 और v2 है। हम सबूत देना चाहते हैं

1 w) 2 > ((λ 1 v1) 2 + (λ 2 v2) 2 )

λ 1 > λ 2 के बाद से , हमारे पास है

((λ 1 v1) 2 + (λ 2 v2) 2 )

<((λ 1 v1) 2 + (λ 1 v2) 2 )

= (λ 1 ) 2 * (v1 2 + v2 2 )

= (λ 1 ) 2 * w 2

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.