फैक्टोरियल कोड

फैक्टोरियल कोड अधिकांश वास्तविक विश्व डेटा सेट में डेटा वैक्टर होते हैं जिनके व्यक्तिगत घटक सांख्यिकीय रूप से स्वतंत्र नहीं होते हैं। दूसरे शब्दों में, किसी तत्व का मूल्य जानने से डेटा वेक्टर में तत्वों के मूल्य के बारे में जानकारी मिलेगी। जब ऐसा होता है, तो डेटा का एक फैक्टोरियल कोड बनाना वांछनीय हो सकता है, अर्थात, प्रत्येक डेटा वेक्टर का एक नया वेक्टर-मूल्य प्रतिनिधित्व (गणित) जिससे यह परिणामी कोड वेक्टर (हानि-मुक्त कोडिंग) द्वारा विशिष्ट रूप से एन्कोड किया जा सके, लेकिन कोड घटक सांख्यिकीय रूप से स्वतंत्र हैं।

बाद में पर्यवेक्षित शिक्षण सामान्यतः तब बढ़िया काम करता है जब कच्चे इनपुट डेटा को पहली बार ऐसे फैक्टोरियल कोड में अनुवादित किया जाता है। उदाहरण के लिए, मान लीजिए कि अंतिम लक्ष्य अत्यधिक अनावश्यक पिक्सेल वाली छवियों को वर्गीकृत करना है। एक अनुभवहीन बेयस क्लासिफायर यह मान लेगा कि पिक्सेल सांख्यिकीय रूप से स्वतंत्र यादृच्छिक चर हैं और इसलिए अच्छे परिणाम देने में विफल रहते हैं। चूँकि, यदि डेटा को पहले तथ्यात्मक तरीके से एन्कोड किया गया है, तो अनुभवहीन बेयस क्लासिफायरियर अपने वैश्विक इष्टतम प्रदर्शन को प्राप्त करेगा (श्मिधुबर एट अल 1996 से तुलना किया गया है)।

फैक्टोरियल कोड बनाने के लिए, होरेस बारलो  और सहकर्मियों ने बाइनरी अंक प्रणाली कोड (1989) के कोड घटकों की  अंश  एन्ट्रॉपी के योग को कम करने का सुझाव दिया। जुर्गन श्मिडहुबर (1992) ने भविष्यवक्ताओं और बाइनरी [ सुविधा ( यंत्र अधिगम ) ] डिटेक्टरों के संदर्भ में समस्या को फिर से तैयार किया, प्रत्येक को इनपुट के रूप में कच्चा डेटा प्राप्त हुआ। प्रत्येक डिटेक्टर के लिए एक भविष्यवक्ता होता है जो अन्य डिटेक्टरों को देखता है और विभिन्न इनपुट वैक्टर या छवियों के जवाब में अपने स्वयं के डिटेक्टर के आउटपुट की भविष्यवाणी करना सीखता है। लेकिन प्रत्येक डिटेक्टर यथासंभव अप्रत्याशित बनने के लिए मशीन लर्निंग एल्गोरिदम का उपयोग करता है। इस उद्देश्य फ़ंक्शन का वैश्विक इष्टतम विशेषता डिटेक्टरों के आउटपुट में वितरित फैशन में दर्शाए गए एक फैक्टोरियल कोड से मेल खाता है।

पेन्स्की, रॉसेट और फेडर (2016, 2017) ने परिमित वर्णमाला आकारों पर स्वतंत्र घटक विश्लेषण के संदर्भ में इस समस्या का और अध्ययन किया। प्रमेयों की एक श्रृंखला के माध्यम से वे दिखाते हैं कि फैक्टोरियल कोडिंग समस्या को एक शाखा और बाउंड सर्च ट्री एल्गोरिदम के साथ त्रुटिहीन रूप से हल किया जा सकता है, या रैखिक समस्याओं की एक श्रृंखला के साथ कसकर अनुमानित किया जा सकता है। इसके अतिरिक्त, वे एक सरल परिवर्तन (अर्थात्, व्यवस्था क्रमपरिवर्तन) प्रस्तुत करते हैं जो इष्टतम समाधान का एक लालची लेकिन बहुत प्रभावी अनुमान प्रदान करता है। व्यावहारिक रूप से, वे दिखाते हैं कि सावधानीपूर्वक कार्यान्वयन के साथ, व्यवस्था क्रम परिवर्तन के अनुकूल गुणों को एक असम्बद्ध रूप से इष्टतम गणनीय जटिलता में प्राप्त किया जा सकता है। महत्वपूर्ण रूप से, वे सैद्धांतिक गारंटी प्रदान करते हैं, यह दिखाते हुए कि चूंकि प्रत्येक यादृच्छिक वेक्टर को स्वतंत्र घटकों में कुशलतापूर्वक विघटित नहीं किया जा सकता है, अधिकांश वैक्टर बहुत अच्छी तरह से विघटित होते हैं (अर्थात, एक छोटी स्थिर निवेश के साथ), जैसे-जैसे आयाम बढ़ता है। इसके अतिरिक्त, वे कई सेटअपों (2017) में डेटा संपीड़न के लिए फैक्टोरियल कोड के उपयोग का प्रदर्शन करते हैं।

यह भी देखें

 * ब्लाइंड सिग्नल पृथक्करण |ब्लाइंड सिग्नल सेपरेशन (बीएसएस)
 * प्रधान घटक विश्लेषण|प्रधान घटक विश्लेषण (पीसीए)
 * कारक विश्लेषण
 * बिना पर्यवेक्षण के सीखना
 * मूर्ति प्रोद्योगिकी
 * संकेत आगे बढ़ाना

संदर्भ

 * Horace Barlow, T. P. Kaushal, and G. J. Mitchison. Finding minimum entropy codes. Neural Computation, 1:412-423, 1989.
 * Jürgen Schmidhuber. Learning factorial codes by predictability minimization. Neural Computation, 4(6):863-879, 1992
 * J. Schmidhuber and M. Eldracher and B. Foltin. Semilinear predictability minimization produces well-known feature detectors. Neural Computation, 8(4):773-786, 1996
 * A. Painsky, S. Rosset and M. Feder. Generalized independent component analysis over finite alphabets. IEEE Transactions on Information Theory, 62(2):1038-1053, 2016
 * A. Painsky, S. Rosset and M. Feder. Large Alphabet Source Coding using Independent Component Analysis. IEEE Transactions on Information Theory, 63(10):6514 - 6529, 2017