2000-Dimensional تاریک کمرے میں کالی بلی کی تلاش
میں نے مشین لرننگ الگورتھمز کے لیے ایک اسٹریس ٹیسٹ (stress test) کیا گیا۔
زیادہ تر بینچ مارکس بورنگ ہوتے ہیں۔ وہ MNIST یا Titanic جیسے سادہ ڈیٹا سیٹس استعمال کرتے ہیں۔ میں ماڈلز کو ان کی انتہا تک پہنچانا چاہتا تھا۔
میں نے 21 الگورتھمز کا آپس میں مقابلہ کروایا۔ ان میں شامل تھے:
- روایتی ماڈلز: Linear Regression, k-NN, SVR.
- Tree ensembles: Random Forest, ExtraTrees.
- Boosting کے بڑے نام: XGBoost, LightGBM, CatBoost, HistGradientBoosting.
- Neural Networks: Multi-layer perceptrons اور TabNet.
- کمزور سمجھا جانے والا (underdog): Polyharmonic Cascade.
کام سادہ نظر آتا تھا۔ میں نے ماڈلز سے ایک پیچیدہ 3D سطح سیکھنے کا کہا۔ لیکن پھر میں نے دو بڑی رکاوٹیں ڈال دیں:
Dimensionality Noise: میں نے انہیں 2,000 فیچرز (features) دیے۔ صرف دو اصل تھے۔ باقی 1,998 خالص شور (noise) تھے۔ یہ جینیومکس یا سینسر ریڈنگز جیسے حقیقی دنیا کے ڈیٹا کی عکاسی کرتا ہے۔
Coordinate Rotation: میں نے پورے فیچر اسپیس کو گھما دیا۔ اس کا مطلب یہ تھا کہ مفید سگنل اب کسی ایک کالم کے ساتھ ہم آہنگ نہیں تھا۔ یہ تمام 2,000 ڈائمینشنز میں پھیل گیا تھا۔
نتائج حیران کن تھے۔
XGBoost اور LightGBM جیسے Tree-based ماڈلز ٹیبلر ڈیٹا کے بادشاہ ہیں۔ وہ تب جیتتے ہیں جب ڈیٹا کالموں کے ساتھ ہم آہنگ ہو۔ لیکن جب میں نے اسپیس کو گھمایا، تو وہ ناکام ہو گئے۔ وہ شور میں سے سگنل تلاش نہیں کر سکے۔
Neural networks گھماؤ (rotation) میں تو بچ گئے، لیکن انہیں ہائی ڈائمینشنلٹی کے ساتھ جدوجہد کرنی پڑی۔ جیسے جیسے شور بڑھا، وہ سست ہو گئے اور ان کی درستگی (accuracy) کم ہو گئی۔
پھر Polyharmonic Cascade کا نمبر آیا۔
یہ ماڈل معیاری gradient descent استعمال نہیں کرتا۔ یہ random function theory پر مبنی خالص ریاضی کا استعمال کرتا ہے۔ جہاں بڑے نام ناکام ہوئے، وہیں Cascade کامیاب رہا۔ اس نے گھماؤ اور 2,000 فیچرز کو آسانی سے سنبھال لیا۔ اس نے مشکل ترین راؤنڈز میں تقریباً ہر دوسرے شریک کار سے بہتر کارکردگی دکھائی۔
سبق واضح ہے: جدید ٹیبلر ML اکثر محور (axis) پر منحصر ہوتی ہے۔ یہ تب تک بہترین کام کرتی ہے جب تک آپ کے ڈیٹا کی جیومیٹری تبدیل نہ ہو۔ اگر آپ پیچیدہ، گھماؤ والے، یا انتہائی شور والے ڈیٹا کے ساتھ کام کرتے ہیں، تو آپ کے معیاری ٹولز آپ کو مایوس کر سکتے ہیں۔
آپ مکمل کوڈ اور نتائج GitHub پر دیکھ سکتے ہیں۔ میں آپ کو اس تجربے کو دہرانے کی دعوت دیتا ہوں۔
Optional learning community: https://t.me/GyaanSetuAi
