क्या यह पीसीए और एलडीए के संयोजन के लिए समझ में आता है?


25

मान लें कि मेरे पास पर्यवेक्षित सांख्यिकीय वर्गीकरण कार्य के लिए एक डेटासेट है, उदाहरण के लिए, बेयस के क्लासिफायरियर के माध्यम से। इस डेटासेट में 20 विशेषताएं हैं और मैं इसे प्राइमरी कंपोनेंट एनालिसिस (PCA) और / या रैखिक डिस्क्रिमिनेंट एनालिसिस (LDA) जैसी डायमेंशनलिटी रिडक्शन तकनीकों के जरिए 2 फीचर्स में उबालना चाहता हूं।

दोनों तकनीक डेटा को एक छोटे फीचर उप-स्थान पर प्रोजेक्ट कर रही हैं: पीसीए के साथ, मैं उन दिशा-निर्देशों (घटकों) को खोजूंगा जो कि डेटासेट में भिन्नता को (वर्ग लेबल पर विचार किए बिना), और LDA के साथ मेरे पास घटक होंगे जो बीच में अधिकतम होंगे -अलग जुदाई।

अब, मैं सोच रहा हूं कि क्या, कैसे और क्यों इन तकनीकों को जोड़ा जा सकता है और अगर यह समझ में आता है।

उदाहरण के लिए:

  1. पीसीए के माध्यम से डेटासेट को बदलना और इसे नए 2D सबस्पेस पर प्रोजेक्ट करना
  2. अधिकतम के लिए LDA के माध्यम से रूपांतरण (पहले से ही PCA- रूपांतरित) डेटासेट। इन-क्लास अलगाव

या

  1. PCA चरण को छोड़ देना और LDA से शीर्ष 2 घटकों का उपयोग करना।

या कोई अन्य संयोजन जो समझ में आता है।


2
कोई सार्वभौमिक नहीं हो सकता best practice। पीसीए और एलडीए, आयामी कमी तकनीकों के रूप में, बहुत अलग हैं। कभी-कभी लोग पीसीए को एलडीए से पहले करते हैं, लेकिन इसके भेदभावपूर्ण आयामों को दूर करने के लिए (छोड़े गए पीसी के साथ) फेंकने के अपने जोखिम हैं। आपके द्वारा पूछे गए सवाल वास्तव में इस साइट पर कई बार किसी न किसी रूप में पूछे गए हैं। कृपया "पीसीए एलडीए" खोजें, यह पढ़ने के लिए कि लोगों ने इसे क्या कहा।
ttnphns

@SebastianRaschka: मुझे आश्चर्य है कि अगर मेरा जवाब यहाँ उपयोगी था, या क्या आपके पास इन मुद्दों के बारे में कोई और प्रश्न हैं?
अमीबा का कहना है कि मोनिका

@amoeba क्षमा करें, यह अब तक जवाब नहीं देखा - किसी तरह यह दरार के माध्यम से फिसल गया होगा, धन्यवाद!

जवाबों:


44

सारांश: समस्या को नियमित करने और ओवर-फिटिंग से बचने के लिए एलडीए से पहले पीसीए का प्रदर्शन किया जा सकता है।

झील प्राधिकरण अनुमानों के eigendecomposition के माध्यम से गणना याद रखें कि , जहां और within- और के बीच स्तरीय सहप्रसरण मैट्रिक्स कर रहे हैं। यदि से कम डेटा बिंदु हैं (जहाँ आपके स्थान की , अर्थात सुविधाओं / चर की संख्या), तो एकवचन होगा और इसलिए इसका उल्टा नहीं किया जा सकता है। इस मामले में सीधे एलडीए प्रदर्शन करने का कोई तरीका नहीं है, लेकिन अगर कोई पहले पीसीए लागू करता है, तो यह काम करेगा। @ एरन ने यह टिप्पणी टिप्पणियों में उनके उत्तर के लिए की, और मैं इससे सहमत हूं (लेकिन सामान्य रूप से उनके जवाब से असहमत हूं, जैसा कि आप अब देखेंगे)।ΣW1ΣBΣWΣBNNΣW

हालाँकि, यह समस्या का केवल एक हिस्सा है। बड़ी तस्वीर यह है कि एलडीए बहुत आसानी से डेटा को ओवरफिट कर देता है। ध्यान दें कि एलडीए अभिकलन में वर्ग-सहसंयोजक मैट्रिक्स उल्टा हो जाता है; उच्च-आयामी मेट्रिसेस लिए वास्तव में संवेदनशील ऑपरेशन है जो केवल विश्वसनीय तरीके से किया जा सकता है यदि का अनुमान वास्तव में अच्छा है। लेकिन उच्च आयाम , का सटीक अनुमान प्राप्त करना वास्तव में मुश्किल है , और व्यवहार में अक्सर यह अनुमान लगाने के लिए एन डेटा बिंदुओं की तुलना में बहुत अधिक होना चाहिए कि अनुमान अच्छा है। अन्यथा Σ डब्ल्यूΣWN1ΣWNΣW लगभग एकवचन होगा (अर्थात कुछ प्रतिजन बहुत कम होंगे), और यह परीक्षण डेटा पर मौका प्रदर्शन के साथ प्रशिक्षण डेटा पर ओवर-फिटिंग, अर्थात निकट-उत्तम श्रेणी पृथक्करण का कारण होगा।

इस समस्या से निपटने के लिए, किसी को समस्या को नियमित करने की आवश्यकता है। इसका एक तरीका यह है कि पहले आयामीता को कम करने के लिए पीसीए का उपयोग किया जाए। वहाँ अन्य, यकीनन बेहतर होते हैं, जैसे नियमित झील प्राधिकरण (आरएलडीए) विधि है जो बस का उपयोग करता है छोटे से λ के बजाय Σ डब्ल्यू (यह कहा जाता है संकोचन आकलनकर्ता ), लेकिन पहले पीसीए कर धारणात्मक है सरल दृष्टिकोण और अक्सर ठीक काम करता है।(1λ)ΣW+λIλΣW

चित्रण

यहां ओवर-फिटिंग समस्या का एक चित्रण है। मैंने 10-, 50-, 100-, और 150-आयामी स्थानों में मानक गाऊसी वितरण (मतलब शून्य, इकाई विचरण) से 3 वर्गों में प्रति वर्ग 60 नमूने उत्पन्न किए और 2D पर डेटा को प्रोजेक्ट करने के लिए LDA को लागू किया:

एलडीए में ओवरफिटिंग

ध्यान दें कि कैसे आयाम बढ़ता है, कक्षाएं बेहतर और बेहतर रूप से अलग हो जाती हैं, जबकि वास्तव में वर्गों के बीच कोई अंतर नहीं है

हम देख सकते हैं कि अगर हम कक्षाओं को थोड़ा अलग कर दें तो पीसीए ओवरफिटिंग को रोकने में कैसे मदद करता है। मैंने पहली कक्षा के पहले समन्वय में 2, दूसरी कक्षा के पहले समन्वय के लिए 2 और तीसरी कक्षा के पहले समन्वय में 3 जोड़ दिए। अब वे थोड़ा अलग हो गए हैं, ऊपरी बाएँ उप-भाग देखें:

एलडीए में ओवरफिटिंग और पीसीए के साथ नियमितीकरण

ओवरफिटिंग (शीर्ष पंक्ति) अभी भी स्पष्ट है। लेकिन अगर मैं पीसीए के साथ डेटा को प्री-प्रोसेस करता हूं, तो हमेशा 10 आयाम (नीचे पंक्ति) रखते हुए, ओवरफिटिंग गायब हो जाती है जबकि कक्षाएं लगभग-अलग-अलग अलग रहती हैं।

पुनश्च। गलतफहमी को रोकने के लिए: मैं यह दावा नहीं कर रहा हूं कि पीसीए + एलडीए एक अच्छा नियमितीकरण रणनीति है (इसके विपरीत, मैं आरएलडीए का उपयोग करने की सलाह दूंगा), मैं बस यह प्रदर्शित कर रहा हूं कि यह एक संभावित रणनीति है।


अद्यतन करें। बहुत पहले इसी तरह के विषय पर निम्नलिखित सूत्र में चर्चा की गई है, जिसमें @cbeleites द्वारा दिए गए रोचक और व्यापक उत्तर दिए गए हैं:

इस प्रश्न को भी कुछ अच्छे उत्तरों के साथ देखें:


यह एक महान जवाब है, गंभीरता से! और अंतर्निहित सिद्धांत की व्याख्या करते हुए आपके पास एक अच्छा व्यावहारिक स्पष्टीकरण भी है, मेरे संदर्भ संग्रह के लिए एक और शानदार जवाब। आपका बहुत बहुत धन्यवाद!

मैं दूसरे कथानक को नहीं समझता, ऐसा लगता है कि एलडीए (नीचे पंक्ति) से पहले पीसीए के साथ कक्षाएं अलग नहीं होती हैं
पियरे

@ पियरे, दूसरे प्लॉट पर कक्षाएं ऐसी उत्पन्न होती हैं कि वे लगभग अलग नहीं होती हैं। जुदाई छोटी है। नीचे की पंक्ति में आप इस मामूली जुदाई को देख सकते हैं, लेकिन आपको बारीकी से देखने की जरूरत है: नीले और लाल वर्गों पर ध्यान दें और आप देखेंगे कि एक को बाईं ओर और दूसरे को दाईं ओर स्थानांतरित किया गया है।
अमीबा का कहना है कि मोनिका

ठीक है मैं समझा। मैं यह भूल गया कि शीर्ष पंक्ति में हम जिन वर्गों को देखते हैं, वे वास्तव में ओवरफिटिंग हैं। धन्यवाद
पियरे

1

यदि आपके पास दो वर्ग की समस्या है, तो एलडीए आपको 1 आयाम तक ले जाएगा। पहले PCA करने का कोई कारण नहीं है।


1
हम्म, मैं यहां आपके तर्क का पालन नहीं करता हूं: मुझे पूरा यकीन है कि एलडीए आपको 1-आयाम तक नीचे नहीं लाता है जब तक आप चुनते नहीं हैं। यह इस बात पर निर्भर करता है कि मूल्यों को घटाकर आप कितने स्वदेशी को छाँटने के बाद कितने स्वदेशी को बनाए रखना चाहते हैं। शायद मुझे यहाँ कुछ याद आ रहा है ... लेकिन मैंने कक्षाओं की संख्या का उल्लेख नहीं किया है। मान लेते हैं कि हमारे पास 20 सुविधाओं में से प्रत्येक के साथ 3 कक्षाएं हैं, और मैं उन्हें 3 डी सबस्पेस पर प्रोजेक्ट करना चाहता हूं।

1
पहले पीसीए करने का एकमात्र कारण यह है कि यदि भीतर-वर्ग सहसंयोजक मैट्रिक्स विलक्षण है। यदि आपके पास 20 सुविधाएँ और तीन वर्ग हैं तो यह विलक्षण नहीं होगा इसलिए न ही पहले PCA करें।
हारून

4
assume we have 3 classes। @ सबैस्टियनरास्का: तब एलडीए आपको अधिकतम 2 भेदभावपूर्ण कार्य करने की अनुमति देगा। LDA में eigenvalues ​​की संख्या न्यूनतम (num_groups-1, num_features) है।
tnnphns

@ सेबैस्टियन एलडीए से आपके द्वारा लिए जाने वाले भेदभावपूर्ण कार्यों की संख्या इस बात पर निर्भर करती है कि आप इसके साथ क्या करना चाहते हैं। एक स्थान परिवर्तन के रूप में यह बहुत अधिक "पर्यवेक्षित" पीसीए जैसा है और आप जितना चाहें उतना उठा सकते हैं। एक के रूप में hyperplane जुदाई वर्गीकरण विधि, hyperplane परिभाषा के अनुसार आयाम N-1 की है। मैं अतिरिक्त जानकारी के लिए उस विषय पर एक प्रश्न पूछ सकता हूं, क्योंकि मुझे अभी भी समझ में नहीं आया है कि कहां से min(num_groups-1,num_features)आता है ...
मैथ्यू

1
@ मैथ्यू मुझे विश्वास है कि यह इन-क्लास क्लास बिखरने वाले मैट्रिक्स के कारण है, आप इसे सी (सी = क्लास की संख्या) मेट्रिसेस जोड़कर बनाते हैं जिनकी रैंक 1 या उससे कम है। तो आप अधिकतम पर केवल c-1 गैर-शून्य eigenvalues ​​कर सकते हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.