मैं स्वतंत्र घटकों के विश्लेषण के लिए घटकों की संख्या का चयन कैसे करूं?


11

स्वतंत्र घटक विश्लेषण में अनुरोध करने के लिए घटकों की संख्या के बारे में एक प्राथमिकताओं के बारे में अनुमान नहीं होने पर, मैं चयन प्रक्रिया को स्वचालित करना चाहता हूं। मुझे लगता है कि एक उचित मानदंड वह संख्या हो सकती है जो गणना किए गए घटकों के बीच सहसंबंध के लिए वैश्विक सबूत को कम करता है। यहाँ इस दृष्टिकोण का छद्म कोड है:

for each candidate number of components, n:
    run ICA specifying n as requested number of components
    for each pair (c1,c2) of resulting components:
        compute a model, m1: lm(c1 ~ 1)
        compute a model, m2: lm(c1 ~ c2)
        compute log likelihood ratio ( AIC(m2)-AIC(m1) ) representing the relative likelihood of a correlation between c1 & c2
    compute mean log likelihood ratio across pairs
Choose the final number of components as that which minimizes the mean log likelihood of component relatedness

मुझे लगता है कि यह स्वचालित रूप से "सही" घटकों की संख्या से बड़े उम्मीदवारों को दंडित करना चाहिए क्योंकि ऐसे उम्मीदवारों से उत्पन्न ICAs को कई अनुमानित घटकों में एकल सच्चे घटकों से जानकारी वितरित करने के लिए मजबूर किया जाना चाहिए, घटकों के जोड़े में सहसंबंध के औसत प्रमाण को बढ़ाते हैं।

इसका कोई मतलब भी है क्या? यदि ऐसा है, तो क्या ऊपर सुझाए गए लॉग लॉग लाइबिलिटी दृष्टिकोण की तुलना में अनुमानित घटकों में संबंधितता का एक समग्र मीट्रिक प्राप्त करने का एक तेज़ तरीका है (जो कि कम्प्यूटेशनल रूप से धीमी गति से हो सकता है)? यदि यह दृष्टिकोण समझ में नहीं आता है, तो एक अच्छी वैकल्पिक प्रक्रिया क्या दिख सकती है?

जवाबों:


6

वैरिएबल एनसेंबल लर्निंग अप्रोच आईसीए के लिए यह "स्वचालित प्रासंगिकता का पता लगाने" कर सकता है। यह स्वचालित रूप से उन घटकों को बंद कर देता है जो बायेसियन साक्ष्य पर बाध्य को बेहतर बनाने के लिए आवश्यक नहीं हैं।

यहाँ उपलब्ध जेम्स मिस्किन की थीसिस पर एक नज़र डालें , जो तकनीक का परिचय देता है।

यह जॉन विन (एक अन्य पीएचडी जो बायेसियन एन्सेम्बल लर्निंग के माध्यम से एक एल्गोरिथ्म पासिंग मैसेजिंग के माध्यम से सीखता है) को जावा में बहुत ही उपयुक्त तरीके से लागू किया गया है ।

तकनीक सीखने के लिए, मैंने Win ++ के एल्गोरिथ्म को c ++ में लागू करने का निर्णय लिया, जिसे यहां (सक्रिय विकास) से प्राप्त किया जा सकता है ।


2

जैसा कि टॉम कहते हैं, एक संभाव्य मॉडल में घटकों के एक छोटे सबसेट का चयन करने के लिए स्वचालित प्रासंगिकता निर्धारण एक अच्छा तरीका है।

आईसीए के लिए एक और दृष्टिकोण पूर्व में एक भारतीय बुफे प्रक्रिया का उपयोग करना है - नोल्स और घ्रामणी "इनफिनिटी स्पार्स फैक्टर विश्लेषण और अनंत स्वतंत्र घटक विश्लेषण।"

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