૨૦૦૦-પરિમાણીય અંધારા રૂમમાં કાળી બિલાડીની શોધ
મેં મશીન લર્નિંગ અલ્ગોરિધમ્સ માટે સ્ટ્રેસ ટેસ્ટ ચલાવ્યો.
મોટાભાગના બેન્ચમાર્ક કંટાળાજનક હોય છે. તેઓ MNIST અથવા Titanic જેવા સરળ ડેટાસેટ્સનો ઉપયોગ કરે છે. હું મોડેલ્સને તેમની મર્યાદા સુધી લઈ જવા માંગતો હતો.
મેં ૨૧ અલ્ગોરિધમ્સ વચ્ચે સ્પર્ધા કરાવી. જેમાં નીચેનાનો સમાવેશ થતો હતો:
- Traditional models: Linear Regression, k-NN, SVR.
- Tree ensembles: Random Forest, ExtraTrees.
- Boosting heavyweights: XGBoost, LightGBM, CatBoost, HistGradientBoosting.
- Neural Networks: Multi-layer perceptrons અને TabNet.
- The underdog: Polyharmonic Cascade.
કાર્ય સરળ લાગતું હતું. મેં મોડેલ્સને એક જટિલ 3D સપાટી શીખવા માટે કહ્યું. પરંતુ પછી મેં બે મોટા અવરોધો ઉમેર્યા:
Dimensionality Noise: મેં તેમને ૨,૦૦૦ ફીચર્સ આપ્યા. તેમાંથી માત્ર બે જ વાસ્તવિક હતા. બાકીના ૧,૯૯૮ માત્ર નોઈઝ (noise) હતા. આ જીનોમિક્સ અથવા સેન્સર રીડિંગ્સ જેવા વાસ્તવિક વિશ્વના ડેટાનું અનુકરણ કરે છે.
Coordinate Rotation: મેં સમગ્ર ફીચર સ્પેસને ફેરવી (rotate કરી) દીધી. આનો અર્થ એ છે કે ઉપયોગી સિગ્નલ હવે કોઈ એક સિંગલ કોલમ સાથે સીધું જોડાયેલું નહોતું. તે તમામ ૨,૦૦૦ પરિમાણોમાં ફેલાયેલું હતું.
પરિણામો ચોંકાવનારા હતા.
XGBoost અને LightGBM જેવા Tree-based મોડેલ્સ ટેબ્યુલર ડેટાના રાજા છે. જ્યારે ડેટા કોલમ સાથે સુસંગત હોય ત્યારે તેઓ જીતે છે. પરંતુ જ્યારે મેં સ્પેસને ફેરવી, ત્યારે તેઓ નિષ્ફળ ગયા. તેઓ નોઈઝમાં સિગ્નલ શોધી શક્યા નહીં.
Neural networks રોટેશનમાં ટકી ગયા, પરંતુ તેઓ હાઈ ડાયમેન્શનલિટી (high dimensionality) સાથે સંઘર્ષ કરતા હતા. જેમ જેમ નોઈઝ વધતો ગયો તેમ તેમ તેઓ ધીમા પડ્યા અને તેમની ચોકસાઈ (accuracy) ઘટી ગઈ.
પછી હતો Polyharmonic Cascade.
આ મોડેલ સ્ટાન્ડર્ડ ગ્રેડિયન્ટ ડિસેન્ટ (gradient descent) નો ઉપયોગ કરતું નથી. તે રેન્ડમ ફંક્શન થીયરી પર આધારિત શુદ્ધ ગણિતનો ઉપયોગ કરે છે. જ્યારે heavyweights નિષ્ફળ ગયા, ત્યારે Cascade સફળ રહ્યું. તેણે રોટેશન અને ૨,૦૦૦ ફીચર્સને સરળતાથી સંભાળી લીધા. તેણે સૌથી અઘરા રાઉન્ડમાં લગભગ દરેક અન્ય સ્પર્ધક કરતા વધુ સારું પ્રદર્શન કર્યું.
પાઠ સ્પષ્ટ છે: આધુનિક ટેબ્યુલર ML ઘણીવાર axis-dependent હોય છે. જ્યાં સુધી તમારા ડેટાની ભૂમિતિ (geometry) બદલાતી નથી ત્યાં સુધી તે સરસ રીતે કામ કરે છે. જો તમે જટિલ, રોટેટેડ અથવા અત્યંત નોઈઝી ડેટા સાથે કામ કરો છો, તો તમારા સ્ટાન્ડર્ડ સાધનો તમને નિષ્ફળ બનાવી શકે છે.
તમે GitHub પર સંપૂર્ણ કોડ અને પરિણામો શોધી શકો છો. હું તમને આ પ્રયોગને રિપ્લીકેટ (replicate) કરવા માટે આમંત્રણ આપું છું.
Optional learning community: https://t.me/GyaanSetuAi
