FastICA एक निश्चित-बिंदु एल्गोरिथ्म है जो स्वतंत्र घटक विश्लेषण (ICA) करने के लिए उपयोग किया जाता है, जो एक बहुचर संकेत को पारस्परिक सांख्यिकीय स्वतंत्रता मानकर योजक उप-घटकों में अलग करने की एक संगणनात्मक विधि है। प्रमुख घटक विश्लेषण (PCA) के विपरीत, जो संकेतों को सहसंबंध-मुक्त करता है, ICA ऐसे घटकों की तलाश करता है जो न केवल असंबद्ध हों बल्कि सांख्यिकीय रूप से स्वतंत्र भी हों। FastICA व्यापक रूप से संकेत प्रसंस्करण, विशेषता निष्कर्षण, और अंध स्रोत पृथक्करण में उपयोग किया जाता है, जिसके अनुप्रयोग ऑडियो प्रसंस्करण से लेकर जैव चिकित्सा डेटा विश्लेषण तक हैं।
यह एल्गोरिथ्म 1997 में आपो हाइवेरिनन और एर्की ओजा द्वारा प्रस्तुत किया गया था, जो तंत्रिका नेटवर्क और सूचना सिद्धांत में पहले के कार्यों पर आधारित था। यह अन्य ICA विधियों, जैसे अधिकतम संभावना या पारस्परिक सूचना न्यूनीकरण पर आधारित, की तुलना में अपनी गति और सरलता के लिए जाना जाता है। FastICA गैर-गाऊसीयता को अधिकतम करने वाली दिशाओं को पुनरावृत्त रूप से खोजकर कार्य करता है, जिसे नेजेंट्रॉपी या कर्टोसिस के अनुमानों के माध्यम से मापा जाता है, और आमतौर पर डेटा को केंद्रित और सफेद करने के बाद लागू किया जाता है।
गणितीय आधार
FastICA केंद्रीय सीमा प्रमेय पर निर्भर करता है, जो बताता है कि स्वतंत्र यादृच्छिक चरों का योग गाऊसी वितरण की ओर प्रवृत्त होता है। इसलिए, मिश्रण से स्वतंत्र घटकों को अलग करने में ऐसी दिशाएँ खोजना शामिल है जिनमें प्रक्षेपित डेटा यथासंभव गैर-गाऊसी हो। एल्गोरिथ्म गैर-गाऊसीयता को मापने के लिए एक कंट्रास्ट फ़ंक्शन का उपयोग करता है, आमतौर पर कर्टोसिस का निरपेक्ष मान या नेजेंट्रॉपी का अधिक मजबूत अनुमान, जैसे हाइपरबोलिक कोसाइन फ़ंक्शन का लॉग।
निश्चित-बिंदु पुनरावृत्ति एक भार वेक्टर w को अद्यतन करती है ताकि कंट्रास्ट फ़ंक्शन को अधिकतम किया जा सके, एक इकाई-मानक बाधा के अधीन। अद्यतन नियम कंट्रास्ट फ़ंक्शन के ग्रेडिएंट से लिया गया है और इसमें डेटा की अपेक्षा और गैर-द्विघात फ़ंक्शन का व्युत्पन्न शामिल है। प्रत्येक पुनरावृत्ति के बाद, भार वेक्टर को पहले पाए गए घटकों के खिलाफ ऑर्थोगोनलाइज़ किया जाता है ताकि सहसंबंध-मुक्ति सुनिश्चित हो सके। एल्गोरिथ्म तब अभिसरण करता है जब w में परिवर्तन एक सीमा से नीचे होता है, आमतौर पर कुछ पुनरावृत्तियों के भीतर।
एल्गोरिथ्म चरण
FastICA कई स्पष्ट चरणों से गुजरता है। पहले, इनपुट डेटा को माध्य घटाकर केंद्रित किया जाता है। दूसरे, डेटा को सफेद किया जाता है, आमतौर पर PCA का उपयोग करके, ताकि सहसंबंध हटाए जा सकें और प्रत्येक घटक को इकाई विचरण में स्केल किया जा सके। सफेदी समस्या को सरल बनाती है क्योंकि यह मिश्रण मैट्रिक्स को ऑर्थोगोनल बनाती है, जिससे अनुमानित किए जाने वाले मापदंडों की संख्या कम हो जाती है।
प्रीप्रोसेसिंग के बाद, एल्गोरिथ्म एक यादृच्छिक भार वेक्टर w को प्रारंभ करता है। निश्चित-बिंदु पुनरावृत्ति तब अद्यतन नियम लागू करती है: w_new = E[x g(w^T x)] - E[g'(w^T x)] w, जहां g गैर-द्विघात फ़ंक्शन का व्युत्पन्न है, और E डेटा पर अपेक्षा को दर्शाता है। नए वेक्टर को इकाई लंबाई में सामान्यीकृत किया जाता है। कई घटकों के लिए, प्रत्येक भार वेक्टर को पहले अनुमानित वैक्टरों के खिलाफ ग्राम-श्मिट जैसी प्रक्रिया का उपयोग करके ऑर्थोगोनलाइज़ किया जाता है। प्रक्रिया अभिसरण तक दोहराई जाती है, जिससे अनमिक्सिंग मैट्रिक्स प्राप्त होता है जो सफेद डेटा को स्वतंत्र घटकों में बदल देता है।
अनुप्रयोग
FastICA का विभिन्न क्षेत्रों में व्यापक उपयोग हुआ है। जैव चिकित्सा इंजीनियरिंग में, इसे इलेक्ट्रोएन्सेफलोग्राफी (EEG) और कार्यात्मक चुंबकीय अनुनाद इमेजिंग (fMRI) डेटा पर लागू किया जाता है ताकि तंत्रिका संकेतों को आंखों के झपकने या मांसपेशियों की गतिविधि जैसे कलाकृतियों से अलग किया जा सके। ऑडियो प्रसंस्करण में, यह अंध स्रोत पृथक्करण को सक्षम करता है, जैसे कई माइक्रोफोनों द्वारा रिकॉर्ड किए गए मिश्रण से व्यक्तिगत वक्ताओं को अलग करना, एक तकनीक जिसे कॉकटेल पार्टी समस्या के रूप में जाना जाता है।
वित्त में, FastICA का उपयोग परिसंपत्ति रिटर्न को चलाने वाले छिपे कारकों की पहचान करने के लिए किया जाता है, जो जोखिम प्रबंधन और पोर्टफोलियो अनुकूलन में मदद करता है। छवि प्रसंस्करण में, यह प्राकृतिक छवियों से स्वतंत्र विशेषताओं को अलग कर सकता है, जिससे बनावट विश्लेषण और वस्तु पहचान में सहायता मिलती है। एल्गोरिथ्म की गति इसे वास्तविक समय अनुप्रयोगों के लिए उपयुक्त बनाती है, जिसमें श्रवण यंत्रों में भाषण संवर्धन और दूरसंचार में शोर में कमी शामिल है।
अन्य विधियों के साथ तुलना
FastICA की तुलना अक्सर अन्य ICA एल्गोरिथ्मों, जैसे Infomax और JADE (जॉइंट अनुमानित विकर्णीकरण ऑफ आइजनमैट्रिसेस) से की जाती है। Infomax, अधिकतम एंट्रॉपी पर आधारित, आउटलायर्स के प्रति अधिक मजबूत है लेकिन धीमा है। JADE चौथे क्रम के क्यूमुलेंट का उपयोग करता है और निम्न-आयामी डेटा के लिए कुशल है लेकिन आयाम बढ़ने पर संगणनात्मक रूप से महंगा हो जाता है। FastICA गति और सटीकता के बीच संतुलन प्रदान करता है, विशेष रूप से उच्च-आयामी डेटासेट के लिए, और इसकी निश्चित-बिंदु प्रकृति सीखने की दर ट्यूनिंग की आवश्यकता से बचती है, ग्रेडिएंट-आधारित विधियों के विपरीत।
हालांकि, FastICA की सीमाएं हैं। यह मानता है कि स्वतंत्र घटक गैर-गाऊसी हैं, जो कई वास्तविक दुनिया के संकेतों के लिए मान्य है लेकिन गाऊसी स्रोतों के लिए नहीं। एल्गोरिथ्म प्रारंभिकरण के प्रति संवेदनशील भी हो सकता है, संभावित रूप से स्थानीय ऑप्टिमा में परिवर्तित हो सकता है। विभिन्न कंट्रास्ट फ़ंक्शन या सममित ऑर्थोगोनलाइज़ेशन का उपयोग करने वाले FastICA के रूपांतर इन मुद्दों को कम करने के लिए विकसित किए गए हैं।
सॉफ्टवेयर और कार्यान्वयन
FastICA कई प्रोग्रामिंग वातावरणों में लागू किया गया है। पायथन में scikit-learn लाइब्रेरी अपने decomposition मॉड्यूल के भीतर एक FastICA क्लास प्रदान करती है, जो उपयोगकर्ताओं के लिए एक सीधा इंटरफ़ेस प्रदान करती है। MATLAB में एक समर्पित FastICA टूलबॉक्स है, और R में fastICA पैकेज है। इन कार्यान्वयनों में आमतौर पर कंट्रास्ट फ़ंक्शन, घटकों की संख्या, और अभिसरण सहिष्णुता चुनने के विकल्प शामिल होते हैं, जिससे एल्गोरिथ्म शोधकर्ताओं और चिकित्सकों के लिए विभिन्न क्षेत्रों में सुलभ हो जाता है।
एल्गोरिथ्म का प्रभाव आधुनिक Machine learning और Artificial intelligence पाइपलाइनों तक फैला हुआ है, जहां इसका उपयोग विशेषता निष्कर्षण और डेटा प्रीप्रोसेसिंग के लिए किया जाता है। इसके सिद्धांत Neural network मॉडल से भी संबंधित हैं जो विरल या स्वतंत्र प्रतिनिधित्व सीखते हैं, हालांकि Deep learning जैसी गहन शिक्षण विधियां अक्सर स्पष्ट स्वतंत्रता बाधाओं के बजाय Loss Functions और Batch Normalization पर निर्भर करती हैं।