कर्नल प्रिंसिपल कंपोनेंट विश्लेषण (कर्नल PCA) मशीन लर्निंग में नॉनलाइनियर डाइमेंशनैलिटी रिडक्शन के लिए एक तकनीक है। यह शास्त्रीय प्रिंसिपल कंपोनेंट विश्लेषण(PCA) को कर्नल ट्रिक लागू करके विस्तारित करता है, जो एल्गोरिदम को उच्च-आयामी, अंतर्निहित फीचर स्पेस में संचालित करने की अनुमति देता है, बिना उस स्पेस में डेटा के निर्देशांकों की स्पष्ट गणना किए। यह कर्नल PCA को नॉनलाइनियर पैटर्न पकड़ने में सक्षम बनाता है जो लीनियर PCA चूक जाता है, जिससे यह डेटा विज़ुअलाइज़ेशन, शोर रिडक्शन, और अन्य एल्गोरिदम के लिए प्रीप्रोसेसिंग जैसे कार्यों के लिए उपयोगी होता है।
यह विधि 1998 में बर्नहार्ड शोल्कॉप्फ, अलेक्जेंडर स्मोला, और क्लॉस-रॉबर्ट मुलर द्वारा प्रस्तुत की गई थी। उनके सूत्रीकरण ने दिखाया कि फीचर स्पेस में प्रिंसिपल कंपोनेंट्स को कर्नल मैट्रिक्स पर आइगेनवैल्यू समस्या हल करके प्राप्त किया जा सकता है, जिसमें डेटा पॉइंट्स के बीच जोड़ीवार समानताएं होती हैं जो कर्नल फंक्शन के माध्यम से गणना की जाती हैं। सामान्य कर्नल में पोलिनोमियल कर्नल, रेडियल बेसिस फंक्शन(RBF) कर्नल, और सिग्मॉइड कर्नल शामिल हैं। कर्नल और उसके पैरामीटरों का चयन परिणामी एम्बेडिंग को महत्वपूर्ण रूप से प्रभावित करता है।
गणितीय सूत्रीकरण
n डेटा पॉइंट्स x_i के एक सेट को इनपुट स्पेस में देखते हुए, कर्नल PCA पहले प्रत्येक पॉइंट को एक फीचर स्पेस में एक फंक्शन φ के माध्यम से मैप करता है, जैसे कि φ(x_i) एक संभवतः अनंत-आयामी हिल्बर्ट स्पेस में एक वेक्टर है। कर्नल फंक्शन k(x_i, x_j) आंतरिक उत्पाद ⟨φ(x_i), φ(x_j)⟩ की गणना करता है। एल्गोरिदम फीचर स्पेस में डेटा को केंद्रित करता है, कर्नल मैट्रिक्स को संशोधित करके, फिर केंद्रित कर्नल मैट्रिक्स के आइगेनवेक्टर और आइगेनवैल्यू की गणना करता है। एक नए पॉइंट का एक प्रिंसिपल कंपोनेंट पर प्रोजेक्शन कर्नल मूल्यांकनों के भारित योग के रूप में व्यक्त किया जाता है, नए पॉइंट और प्रशिक्षण पॉइंट्स के बीच, आइगेनवेक्टर से प्राप्त भारों के साथ।
लीनियर PCA के विपरीत, जो मूल स्पेस में अधिकतम वेरिएंस की दिशाएं ढूंढता है, कर्नल PCA फीचर स्पेस में अधिकतम वेरिएंस की दिशाएं ढूंढता है। प्रिंसिपल कंपोनेंट्स की संख्या अधिकतम प्रशिक्षण पॉइंट्स की संख्या होती है, और विधि इनपुट डाइमेंशनैलिटी से अधिक कंपोनेंट्स उत्पन्न कर सकती है। व्यवहार में, कोई आमतौर पर संबंधित आइगेनवैल्यू के परिमाण के आधार पर शीर्ष k कंपोनेंट्स का चयन करता है।
अन्य विधियों से संबंध
कर्नल PCA अन्य कर्नल-आधारित विधियों जैसे सपोर्ट वेक्टर मशीन(SVMs) और गाऊसीय प्रोसेस रिग्रेशन से निकटता से संबंधित है, जो सभी कर्नल ट्रिक पर निर्भर करते हैं। इसे PCA के नॉनलाइनियर सामान्यीकरण के रूप में देखा जा सकता है, और यह स्पेक्ट्रल क्लस्टरिंग और मल्टीडाइमेंशनल स्केलिंग से भी जुड़ा है। लीनियर कर्नल के मामले में, कर्नल PCA बिल्कुल मानक PCA में कम हो जाता है। यह विधि अधिक उन्नत नॉनलाइनियर एम्बेडिंग तकनीकों जैसे t-डिस्ट्रिब्यूटेड स्टोकास्टिक नेबर एम्बेडिंग(t-SNE) और यूनिफॉर्म मैनिफोल्ड अप्रोक्सिमेशन और प्रोजेक्शन(UMAP) का अग्रदूत भी है, हालांकि वे विधियां विभिन्न उद्देश्यों को अनुकूलित करती हैं।
अनुप्रयोग और सीमाएं
कर्नल PCA विभिन्न क्षेत्रों में लागू किया गया है, जिसमें चेहरा पहचान, छवि डीनॉइज़िंग, और एनोमली डिटेक्शन शामिल हैं। चेहरा पहचान में, यह नॉनलाइनियर फीचर निकाल सकता है जो लीनियर PCA की तुलना में वर्गीकरण सटीकता में सुधार करते हैं। एनोमली डिटेक्शन के लिए, फीचर स्पेस में पुनर्निर्माण त्रुटि आउटलायर्स को संकेत कर सकती है। हालांकि, कर्नल PCA में उल्लेखनीय सीमाएं हैं: कम्प्यूटेशनल लागत प्रशिक्षण नमूनों की संख्या के साथ द्विघातीय रूप से स्केल करती है, जिससे यह बिना अप्रोक्सिमेशन के बहुत बड़े डेटासेट के लिए अव्यवहारिक हो जाता है। कर्नल और हाइपरपैरामीटरों का चयन अक्सर क्रॉस-वैलिडेशन की आवश्यकता होती है, और परिणामी कंपोनेंट्स की व्याख्यात्मकता लीनियर PCA की तुलना में कम होती है। इसके अतिरिक्त, विधि मानती है कि डेटा फीचर स्पेस में एक निम्न-आयामी मैनिफोल्ड पर स्थित है, जो सभी मामलों में सत्य नहीं हो सकता है।
व्यवहारिक विचार
कर्नल PCA को लागू करने में एक कर्नल फंक्शन और उसके पैरामीटरों का चयन शामिल है, जैसे RBF कर्नल में बैंडविड्थ। कर्नल मैट्रिक्स को केंद्रित किया जाना चाहिए, और आइगेनवैल्यू डिकम्पोज़िशन मानक लीनियर अलजेब्रा लाइब्रेरीज़ का उपयोग करके किया जा सकता है। बड़े पैमाने की समस्याओं के लिए, अनुमानित विधियां जैसे Nyström विधि या रैंडम फीचर मैप कम्प्यूटेशनल बोझ कम कर सकती हैं। आधुनिक मशीन लर्निंग पाइपलाइनों में, कर्नल PCA अक्सर क्लस्टरिंग या वर्गीकरण एल्गोरिदम लागू करने से पहले एक प्रीप्रोसेसिंग चरण के रूप में उपयोग किया जाता है। इसे लोकप्रिय लाइब्रेरीज़ जैसे scikit-learn में लागू किया गया है, जो विभिन्न कर्नल और सॉल्वर के लिए विकल्पों के साथ एक KernelPCA क्लास प्रदान करता है।