Principal component analysis (PCA) एक रैखिक आयामीता न्यूनीकरण तकनीक है जो संभावित रूप से सहसंबद्ध चरों के डेटासेट को कम संख्या में असंबद्ध चरों, जिन्हें प्रमुख घटक कहा जाता है, में परिवर्तित करती है। यह विधि डेटा में अधिकतम विचरण की दिशाओं की पहचान करती है और मूल अवलोकनों को इन दिशाओं पर प्रक्षेपित करती है, जिससे एक निम्न-आयामी प्रतिनिधित्व उत्पन्न होता है जो अधिकतम संभव जानकारी बनाए रखता है। PCA Machine learning में अन्वेषणात्मक डेटा विश्लेषण, फीचर इंजीनियरिंग और प्रीप्रोसेसिंग के लिए सबसे व्यापक रूप से उपयोग किए जाने वाले उपकरणों में से एक है, और यह आनुवंशिकी से लेकर वित्त तक के क्षेत्रों में एक मौलिक अवधारणा के रूप में भी कार्य करता है।
यह तकनीक पहली बार 1901 में कार्ल पियर्सन द्वारा प्रस्तुत की गई थी और बाद में 1933 में हेरोल्ड हॉटलिंग द्वारा स्वतंत्र रूप से विकसित की गई थी। यह गणितीय रूप से केंद्रित डेटा मैट्रिक्स पर एकल मान अपघटन (SVD) करने के समतुल्य है, जो इसे कम्प्यूटेशनल रूप से कुशल और संख्यात्मक रूप से स्थिर बनाता है। PCA को लेबल किए गए डेटा की आवश्यकता नहीं होती है, जिससे यह एक unsupervised विधि है, और यह मानता है कि सबसे बड़े विचरण की दिशाएँ सबसे अधिक जानकारीपूर्ण हैं, जो कई वास्तविक-विश्व डेटासेट के लिए सत्य है।
गणितीय सूत्रीकरण
एक डेटा मैट्रिक्स X को देखते हुए, जिसमें n अवलोकन और p चर हैं, PCA प्रत्येक चर को केंद्रित करके शून्य माध्य बनाने से शुरू होता है। केंद्रित डेटा का सहप्रसरण मैट्रिक्स गणना की जाती है, और इसके eigenvectors और eigenvalues प्राप्त किए जाते हैं। Eigenvectors, जो घटते eigenvalue के अनुसार क्रमबद्ध होते हैं, प्रमुख घटक अक्षों को परिभाषित करते हैं, जबकि eigenvalues प्रत्येक घटक द्वारा समझाए गए विचरण की मात्रा को इंगित करते हैं। पहला प्रमुख घटक सबसे बड़ा संभव विचरण पकड़ता है, दूसरा पहले के लिए orthogonal होने की बाधा के तहत अगला सबसे बड़ा पकड़ता है, और इसी तरह आगे।
डेटा का पहले k प्रमुख घटकों पर प्रक्षेपण एक k-आयामी प्रतिनिधित्व उत्पन्न करता है। पहले k घटकों द्वारा समझाए गए कुल विचरण का अनुपात उनके eigenvalues का योग है जो सभी eigenvalues के कुल योग से विभाजित होता है। यह मात्रा k के चयन का मार्गदर्शन करती है, अक्सर एक scree plot या 95% विचरण प्रतिधारण जैसी सीमा का उपयोग करके।
मशीन लर्निंग में अनुप्रयोग
Machine learning पाइपलाइनों में, PCA का उपयोग अक्सर मॉडल प्रशिक्षित करने से पहले सुविधाओं की संख्या कम करने के लिए किया जाता है। उच्च-आयामी डेटासेट आयामीता के अभिशाप से पीड़ित हो सकते हैं, जिससे overfitting और बढ़ी हुई कम्प्यूटेशनल लागत होती है। डेटा को निम्न-आयामी उप-स्थान पर प्रक्षेपित करके, PCA मॉडल सामान्यीकरण में सुधार कर सकता है और प्रशिक्षण को तेज कर सकता है। यह विशेष रूप से छवि प्रसंस्करण जैसे क्षेत्रों में आम है, जहाँ कच्चे पिक्सेल तीव्रताएँ अत्यधिक सहसंबद्ध होती हैं, और जीनोमिक्स में, जहाँ हजारों जीनों के अभिव्यक्ति स्तर एक साथ मापे जाते हैं।
PCA एक विज़ुअलाइज़ेशन उपकरण के रूप में भी कार्य करता है। डेटा को पहले दो या तीन प्रमुख घटकों पर प्रक्षेपित करने से शोधकर्ता उच्च-आयामी डेटा को दो या तीन आयामों में प्लॉट कर सकते हैं, जिससे clusters, outliers या अन्य संरचनाएँ प्रकट होती हैं। इसका उपयोग अक्सर Neural network क्लासिफायर जैसी अधिक जटिल विधियों को लागू करने से पहले अन्वेषणात्मक विश्लेषण में किया जाता है।
एक और अनुप्रयोग शोर न्यूनीकरण है। सबसे छोटे eigenvalue वाले घटकों को हटाने से, PCA उन दिशाओं को फ़िल्टर करता है जिन्हें मुख्य रूप से शोर युक्त माना जाता है, signal-प्रधान उप-स्थान को बनाए रखते हुए। यह सिद्धांत चेहरे की पहचान के लिए eigenfaces जैसी तकनीकों के अंतर्गत है, जहाँ PCA को 1990 के दशक में प्रसिद्ध रूप से लागू किया गया था।
अन्य तकनीकों से संबंध
PCA कारक विश्लेषण से निकटता से संबंधित है, लेकिन दोनों अपने लक्ष्यों में भिन्न हैं: PCA डेटा में विचरण को समझाने का लक्ष्य रखता है, जबकि कारक विश्लेषण latent कारकों का उपयोग करके सहप्रसरण संरचना को मॉडल करता है। PCA बहुआयामी स्केलिंग (MDS) का एक विशेष मामला भी है जब dissimilarity माप Euclidean दूरी होती है। Deep learning के संदर्भ में, PCA का उपयोग कभी-कभी Neural network इनपुट के लिए प्रीप्रोसेसिंग चरण के रूप में किया जाता है, हालाँकि आधुनिक विधियाँ अक्सर सीखे गए प्रतिनिधित्व पर निर्भर करती हैं।
Kernel PCA nonlinear मैनिफोल्ड्स के लिए विधि को विस्तारित करता है, जो प्रमुख घटकों की गणना करने से पहले एक kernel फलन लागू करता है, जिससे nonlinear संरचनाओं को पकड़ने की अनुमति मिलती है। Sparse PCA और robust PCA ऐसे variants हैं जो क्रमशः sparsity लागू करते हैं या outliers को संभालते हैं। इन विस्तारों ने सिग्नल प्रोसेसिंग और कंप्यूटर विज़न में उपयोग पाया है।
सीमाएँ और विचारणीय बातें
PCA रैखिकता मानता है, जिसका अर्थ है कि यह केवल चरों के बीच रैखिक संबंधों को पकड़ सकता है। Nonlinear मैनिफोल्ड्स पर स्थित डेटा के लिए, PCA भ्रामक परिणाम उत्पन्न कर सकता है, और t-SNE या UMAP जैसी विधियाँ अक्सर विज़ुअलाइज़ेशन के लिए पसंद की जाती हैं। PCA चरों के स्केलिंग के प्रति भी संवेदनशील है; मानकीकरण के बिना, बड़े विचरण वाले चर घटकों पर हावी हो जाते हैं। इसलिए, PCA लागू करने से पहले प्रत्येक चर को इकाई विचरण में मानकीकृत करना सामान्य अभ्यास है।
प्रमुख घटकों की व्याख्या चुनौतीपूर्ण हो सकती है, क्योंकि प्रत्येक घटक सभी मूल चरों का एक रैखिक संयोजन है। यह कुछ अनुप्रयोगों में घटकों को भौतिक अर्थ सौंपना कठिन बनाता है। इसके अतिरिक्त, PCA एक unsupervised विधि है और वर्ग labels पर विचार नहीं करता है, इसलिए यह उन दिशाओं को हटा सकता है जो वर्गीकरण के लिए महत्वपूर्ण हैं लेकिन कम विचरण रखती हैं।
ऐतिहासिक और आधुनिक संदर्भ
PCA को विभिन्न क्षेत्रों में स्वतंत्र रूप से पुनः खोजा गया है, जिसमें मौसम विज्ञान (अनुभवजन्य orthogonal फलनों के रूप में) और पारिस्थितिकी शामिल हैं। इसकी गणितीय नींव 20वीं सदी की शुरुआत में रखी गई थी, और 1950 के दशक में कंप्यूटरों के आगमन ने इसे बड़े डेटासेट पर व्यावहारिक अनुप्रयोग सक्षम किया। आज, PCA डेटा वैज्ञानिकों के टूलकिट में एक मानक उपकरण बना हुआ है और सभी प्रमुख सांख्यिकीय और Machine learning पुस्तकालयों, जिसमें scikit-learn, R और MATLAB शामिल हैं, में लागू किया गया है।
बड़े पैमाने पर Artificial intelligence के युग में, PCA का उपयोग अभी भी Deep learning मॉडलों में whitening जैसे कार्यों के लिए और Large language model पाइपलाइनों में embeddings को संपीड़ित करने के लिए किया जाता है। इसकी सरलता, व्याख्यात्मकता और कम्प्यूटेशनल दक्षता यह सुनिश्चित करती है कि अधिक जटिल nonlinear विधियों की उपलब्धता के बावजूद इसकी प्रासंगिकता बनी रहे।