2000-आयामी अंधेरे कमरे में काली बिल्ली की तलाश
मैंने मशीन लर्निंग एल्गोरिदम के लिए एक स्ट्रेस टेस्ट किया।
अधिकांश बेंचमार्क उबाऊ होते हैं। वे MNIST या Titanic जैसे सरल डेटासेट का उपयोग करते हैं। मैं मॉडल्स को उनकी चरम सीमा तक ले जाना चाहता था।
मैंने 21 एल्गोरिदम के बीच मुकाबला कराया। इसमें शामिल थे:
- पारंपरिक मॉडल: Linear Regression, k-NN, SVR.
- ट्री एन्सेम्बल्स: Random Forest, ExtraTrees.
- बूस्टिंग के दिग्गज: XGBoost, LightGBM, CatBoost, HistGradientBoosting.
- न्यूरल नेटवर्क: Multi-layer perceptrons और TabNet.
- अंडरडॉग: Polyharmonic Cascade.
कार्य सरल लग रहा था। मैंने मॉडल्स को एक जटिल 3D सतह सीखने के लिए कहा। लेकिन फिर मैंने दो बड़ी बाधाएं जोड़ दीं:
डाइमेंशनलिटी नॉइज़ (Dimensionality Noise): मैंने उन्हें 2,000 फीचर्स दिए। केवल दो ही वास्तविक थे। बाकी 1,998 शुद्ध शोर (noise) थे। यह जीनोमिक्स या सेंसर रीडिंग जैसे वास्तविक दुनिया के डेटा की नकल करता है।
कोऑर्डिनेट रोटेशन (Coordinate Rotation): मैंने पूरे फीचर स्पेस को घुमा दिया। इसका मतलब है कि उपयोगी सिग्नल अब किसी एक कॉलम के साथ संरेखित नहीं था। यह सभी 2,000 डाइमेंशन्स में फैल गया था।
परिणाम चौंकाने वाले थे।
XGBoost और LightGBM जैसे ट्री-आधारित मॉडल टैबुलर डेटा के राजा हैं। वे तब जीतते हैं जब डेटा कॉलम के साथ संरेखित होता है। लेकिन जब मैंने स्पेस को घुमाया, तो वे विफल हो गए। वे शोर में सिग्नल नहीं ढूंढ सके।
न्यूरल नेटवर्क रोटेशन में तो टिक गए, लेकिन उन्हें उच्च डाइमेंशनलिटी के साथ संघर्ष करना पड़ा। जैसे-जैसे शोर बढ़ा, वे धीमे हो गए और उनकी सटीकता कम हो गई।
फिर वहां Polyharmonic Cascade था।
यह मॉडल मानक gradient descent का उपयोग नहीं करता है। यह random function theory पर आधारित शुद्ध गणित का उपयोग करता है। जहाँ दिग्गज विफल रहे, वहीं Cascade ने शानदार प्रदर्शन किया। इसने रोटेशन और 2,000 फीचर्स को आसानी से संभाल लिया। इसने सबसे कठिन राउंड में लगभग हर अन्य प्रतिभागी को पीछे छोड़ दिया।
सबक स्पष्ट है: आधुनिक टैबुलर ML अक्सर एक्सिस-डिपेंडेंट (axis-dependent) होता है। यह तब तक बहुत अच्छा काम करता है जब तक आपके डेटा की ज्योमेट्री नहीं बदलती। यदि आप जटिल, घुमाए हुए, या अत्यधिक शोर वाले डेटा के साथ काम करते हैं, तो आपके मानक उपकरण विफल हो सकते हैं।
आप पूरा कोड और परिणाम GitHub पर पा सकते हैं। मैं आपको इस प्रयोग को दोहराने के लिए आमंत्रित करता हूँ।
वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi
