ZCA वाइटनिंग और PCA वाइटनिंग में क्या अंतर है?


59

मैं ZCA वाइटनिंग और सामान्य श्वेतकरण के बारे में उलझन में हूं (जो कि पीसीए eigenvalval के वर्गमूल द्वारा प्रमुख घटकों को विभाजित करके प्राप्त किया जाता है)। जहाँ तक मुझे पता है,

U

xZCAwhite=UxPCAwhite,
जहां PCA eigenvectors हैं।U

जेडसीए व्हाइटनिंग के उपयोग क्या हैं? सामान्य श्वेतकरण और ZCA श्वेतकरण के बीच अंतर क्या हैं?


2
"न्यूरल नेटवर्क्स: ट्रिक्स ऑफ़ द ट्रेड" के अनुसार, पीसीए और जेडसीए केवल एक रोटेशन से भिन्न होते हैं।
मार्टिन थोमा

जवाबों:


80

आइए आपके (केंद्रित) डेटा एक में संग्रहित किया जाना मैट्रिक्स के साथ कॉलम और में सुविधाओं (चर) पंक्तियों में डेटा इंगित करता है। Covariance मैट्रिक्स पास स्तंभों में eigenvectors हैं और के विकर्ण पर eigenvalues , ताकि ।X d n C = X d X / n E D C = E D E Xn×dXdnC=XX/nEDC=EDE

फिर जिसे आप "सामान्य" कहते हैं, PCA परिवर्तन , उदाहरण के लिए डेटा का उपयोग करके डेटा को सफेद करने के तरीके में मेरा जवाब देखें प्रमुख कंपोनेंट विश्लेषण?WPCA=D1/2E

हालांकि, यह श्वेतकरण परिवर्तन अद्वितीय नहीं है। दरअसल, सफेद किए गए डेटा को किसी भी रोटेशन के बाद सफेद किया जाएगा, जिसका अर्थ है कि ऑर्थोगोनल मैट्रिक्स साथ कोई भी भी एक परिवर्तन होगा। क्या कहा जाता है ZCA सफेद में, हम ले (साथ खड़ी दिखती सहप्रसरण मैट्रिक्स के eigenvectors) इस orthogonal मैट्रिक्स, यानी के रूप में आर डब्ल्यू जेड सी = डी - 1 / 2 = सी - 1 / 2W=RWPCARE

WZCA=ED1/2E=C1/2.

जेडसीए परिवर्तन की एक परिभाषित संपत्ति ( जिसे कभी-कभी "महलानोबिस ट्रांसफॉर्मेशन" भी कहा जाता है) यह है कि यह सफेद डेटा के परिणामस्वरूप होता है जो मूल डेटा के लिए जितना संभव हो उतना कम है (कम से कम वर्गों में)। दूसरे शब्दों में, यदि आप लिए चाहते हैं, तो को व्हाइट किया जा रहा है, तो आपको चाहिए । यहाँ एक 2 डी चित्रण है:एक्स एकएक = डब्ल्यू जेड सी XXA2XAA=WZCA

पीसीए और जेडसीए व्हाइटनिंग

लेफ्ट सबप्लॉट डेटा और उसके प्रमुख अक्ष को दर्शाता है। वितरण के ऊपरी-दाएं कोने में डार्क शेडिंग पर ध्यान दें: यह उसके अभिविन्यास को चिह्नित करता है। की पंक्तियाँ दूसरे सबप्लॉट पर दिखाई जाती हैं: ये वेक्टर्स हैं जिन पर डेटा अनुमानित किया जाता है। सफेद करने के बाद (नीचे) वितरण गोल दिखता है, लेकिन ध्यान दें कि यह भी घुमा हुआ दिखता है --- अंधेरे कोने अब पूर्व की ओर है, उत्तर-पूर्व की तरफ नहीं। की पंक्तियों को तीसरे सबप्लॉट पर दिखाया गया है (ध्यान दें कि वे ऑर्थोगोनल नहीं हैं!)। श्वेतकरण (नीचे) के बाद वितरण गोल दिखता है और यह मूल रूप से उसी तरह उन्मुख होता है। बेशक, एक PCA सफेद डेटा से ZCA सफेद किए गए डेटा को साथ घुमाकर प्राप्त कर सकता है ।डब्ल्यू जेड सी WPCAWZCAE

"ZCA" शब्द बेल और सेजनोस्की 1996 में पेश किया गया लगता हैस्वतंत्र घटक विश्लेषण के संदर्भ में, और "शून्य-चरण घटक विश्लेषण" के लिए खड़ा है। अधिक जानकारी के लिए वहाँ देखें। शायद, आप छवि प्रसंस्करण के संदर्भ में इस शब्द के पार आए। यह पता चला है, कि जब प्राकृतिक छवियों (सुविधाओं के रूप में पिक्सेल, प्रत्येक छवि को डेटा बिंदु के रूप में) पर लागू किया जाता है, तो प्रमुख अक्ष बढ़ते आवृत्तियों के फूरियर घटकों की तरह दिखते हैं, नीचे उनके चित्र 1 का पहला कॉलम देखें। इसलिए वे बहुत "वैश्विक" हैं। दूसरी ओर, ZCA परिवर्तन की पंक्तियाँ बहुत "स्थानीय" दिखती हैं, दूसरा कॉलम देखें। यह ठीक है क्योंकि ZCA संभव के रूप में डेटा को बदलने की कोशिश करता है, और इसलिए प्रत्येक पंक्ति को मूल आधार फ़ंक्शन (जो केवल एक सक्रिय पिक्सेल के साथ चित्र होगा) के करीब होना चाहिए। और यह संभव है,

पीसीए और जेडसीए बेल एंड सेजनोस्की 1996 में

अपडेट करें

ZCA फ़िल्टर्स और ZCA से बदले गए चित्रों के और अधिक उदाहरण Krizhevsky, 2009 में दिए गए हैं , टिनी इमेज से कई मल्टीपल लेयर्स ऑफ़ लर्निंग , @ bayerj के उत्तर (+1) में भी उदाहरण देखें।

मुझे लगता है कि ये उदाहरण एक विचार देते हैं जब ZCA व्हाइटनिंग पीसीए एक के लिए बेहतर हो सकता है। अर्थात्, ZCA- श्वेत चित्र अभी भी सामान्य छवियों से मिलते जुलते हैं , जबकि PCA- श्वेत चित्र सामान्य छवियों की तरह कुछ भी नहीं दिखते हैं। यह शायद कंफ्यूज़नल न्यूरल नेटवर्क (जैसे क्रिज़ेव्स्की के पेपर में इस्तेमाल किया गया) जैसे एल्गोरिदम के लिए महत्वपूर्ण है , जो पड़ोसी पिक्सल का एक साथ इलाज करते हैं और इसलिए प्राकृतिक छवियों के स्थानीय गुणों पर बहुत भरोसा करते हैं। अधिकांश अन्य मशीन लर्निंग एल्गोरिदम के लिए यह बिल्कुल अप्रासंगिक होना चाहिए कि पीसीए या जेडसीए के साथ डेटा को सफेद किया गया है या नहीं।


धन्यवाद! मेरे पास एक प्रश्न है: तो इसका मतलब है कि ZCA मूल रूप से पहुंच को बदल रहा है, लेकिन डेटा की स्थिति को बहुत नहीं बदलता है? (आपके छायांकन क्षेत्र के आधार पर)। इसके अलावा, इसका मतलब यह है कि जब भी हम व्हाइटनिंग करते हैं, हमें जेडसीए व्हाइटनिंग करना चाहिए? हम PCAwhitening या ZCA व्हाइटनिंग का उपयोग करने का निर्णय कैसे करेंगे?
RockTheStar

4
(1) मुझे बिल्कुल यकीन नहीं है कि आपका क्या मतलब है, लेकिन मैं इसे इस तरह कहूंगा: ZCA इसे गोलाकार बनाने के लिए डेटासेट को फैलाता है, लेकिन इसे घुमाने की कोशिश नहीं करता (जबकि PCA इसे काफी घुमाता है)। (2) मुझे वास्तव में लगता है कि ज्यादातर मामलों में यह मायने नहीं रखता कि आप पीसीए या जेडसीए व्हाइटनिंग का उपयोग करते हैं या नहीं। एकमात्र ऐसी स्थिति जिसकी मैं कल्पना कर सकता हूं कि जेडसीए बेहतर हो सकता है, कंफ्यूजनल न्यूरल नेटवर्क के लिए प्री-प्रोसेसिंग है। कृपया मेरे उत्तर के लिए एक अद्यतन देखें।
अमीबा का कहना है कि

5
PCA एक फूरियर ट्रांसफॉर्म करने जैसा है, ZCA ट्रांसफ़ॉर्म करना, गुणा करना और वापस ट्रांसफ़ॉर्म करना, एक (शून्य-चरण) लीनियर फ़िल्टर को लागू करना है। तो हम देखते हैं कि प्रत्येक पिक्सेल पर फ़िल्टर आवेग प्रतिक्रिया है। ऑपरेशन में शामिल "घटक" समान हैं, ई के कॉलम, जो "प्रमुख घटक" हैं ... मेरा मतलब है, आप डब्ल्यू घटकों की पंक्तियों को भी कॉल कर सकते हैं, लेकिन मुझे लगता है कि यह समझना महत्वपूर्ण है कि समान "प्रमुख घटक" शामिल हैं, और जब आप जेडसीए लागू करते हैं तो आप मूल डोमेन पर वापस आ जाते हैं, जबकि पीसीए के साथ आपको सिग्नल को "पुनर्निर्माण" करने की आवश्यकता होती है।
dividebyzero

1
आपकी अंतिम टिप्पणी के लिए @dividebyzero +1, मुझे लगता है कि यह एक मूल्यवान परिप्रेक्ष्य है। किसी भी मामले में, मुझे आशा है कि मेरे अंतिम आंकड़े का अर्थ (जो लिंक किए गए पेपर से लिया गया है) अब स्पष्ट है।
अमीबा का कहना है कि मोनिका

1
@ साझाकरण आपको उस पृष्ठ पर पीसीए श्वेत चित्र नहीं दिख रहे हैं! वे "पीसीए आयाम-कम की गई छवियां" दिखाते हैं, अर्थात पीसीए के माध्यम से पुनर्निर्माण , लेकिन स्वयं पीसीए अनुमान नहीं।
अमीबा का कहना है कि मोनिका

23

एक सहसंयोजक मैट्रिक्स जहां एक को देखते हुए Eigenvalues ​​का विकर्ण मैट्रिक्स है , साधारण व्हाइटनिंग रिसोर्स को डेटा को एक ऐसे स्थान में बदलने में मदद करता है जहाँ सहसंयोजक मैट्रिक्स विकर्ण है: (संकेतन के कुछ दुरुपयोग के साथ।) इसका मतलब है कि हम डेटा को अनुसार परिवर्तित करके सहसंयोजक को विकर्ण कर सकते हैं

X¯X¯T=LDLT
D=diag(λ1,λ2,,λn)
D1L1X¯X¯TLTD1=D1L1LDLTLTD1=I
X~=D1L1X.

यह पीसीए के साथ साधारण सफेदी है। अब, ZCA कुछ अलग करता है - यह Eigenvalues ​​में एक छोटा एप्सिलॉन जोड़ता है और डेटा को वापस बदल देता है। यहां ZCA से पहले और बाद में CIFAR डेटा सेट से कुछ तस्वीरें दी गई हैं।

X~=L(D+ϵ)1L1X.

ZCA से पहले:

ZCA से पहले

ZCA के बादϵ=0.0001

ZCA 1e-4 के बाद

ZCA के बादϵ=0.1

ZCA के साथ .1 के बाद

दृष्टि डेटा के लिए, उच्च आवृत्ति डेटा आमतौर पर निचले Eigenvalues ​​द्वारा फैलाए गए स्थान में निवास करेगा। इसलिए ZCA इनको मजबूत करने का एक तरीका है, जिससे अधिक दृश्यमान किनारे आदि बनते हैं।


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

हां, उलटा होने से पहले, धन्यवाद। चूंकि यह आमतौर पर एसवीडी के साथ किया जाता है, इसलिए मुझे नहीं पता कि क्या व्युत्क्रम को स्थिर करना आवश्यक है।
बायरज

मैंने प्रभाव दिखाने के लिए एक और तस्वीर जोड़ी है।
बायरज

2
+1, लेकिन मेरे पास और भी बहुत सारे न्यूपिक्स और प्रश्न हैं। (1) एप्सिलॉन के बारे में मेरा क्या मतलब है कि यह जेडसीए के लिए विशिष्ट नहीं है, इसका इस्तेमाल पीसीए व्हाइटनिंग के लिए भी किया जा सकता है। (2) मुझे यकीन नहीं है कि मैं एसवीडी के बारे में आपकी टिप्पणी को समझता हूं: एसवीडी या नहीं, किसी को एकवचन मूल्यों को उलटने की आवश्यकता है, इसलिए एप्सिलॉन की आवश्यकता है। (3) PCA व्हाइटनिंग ट्रांसफ़ॉर्मेशन , आपने इसे दूसरे तरीके से लिखा है, और यह दूसरे सूत्र में गणना को गलत बनाता है ... (4) अच्छे आंकड़े, वे कहाँ हैं से? (५) क्या आप जानते हैं कि पीसीए व्हाइटनिंग के लिए ZCA व्हाइटनिंग किन स्थितियों में बेहतर होगी और क्यों? D1/2L
अमीबा का कहना है कि मोनिका

(१) सहमत हो गया। मुझे इसका कोई मतलब नहीं है कि इसका क्या मतलब है। (२) मेरा अपघटन ज्ञान यहाँ अधूरा है, लेकिन मैंने यह मान लिया कि एक विलक्षण सहसंयोजक मैट्रिक्स पर एक शास्त्रीय व्युत्क्रम मैट्रिक्स विफल हो जाएगा, जबकि एक मैट्रिक्स पर SVD एक विलक्षण सहसंयोजक को जन्म नहीं देगा। (३) धन्यवाद, इसे ठीक कर देंगे। (४) मेरे कोड से :) (५) मैं इस बात की परिकल्पना करता हूं कि कई एल्गोरिदम के लिए जो अधूरा प्रतिनिधित्व देते हैं (जैसे GainShape K-Means, Auto encoders, RICA) और / या एक समान काम करते हैं, जैसे कि PC के बीजीय इंडिपेब्रेशन इंडिपेंडेंस ऑफ फीचर्स में दर्द होता है, लेकिन मुझे इस बारे में कोई कठिन ज्ञान नहीं है।
बायरज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.