مشین لرننگ میں فیچر کا انتخاب

ارے حبر!

ہم نے Reksoft میں مضمون کا روسی میں ترجمہ کیا۔ مشین لرننگ میں فیچر سلیکشن. ہم امید کرتے ہیں کہ یہ ہر اس شخص کے لیے مفید ہو گا جو اس موضوع میں دلچسپی رکھتے ہیں۔

حقیقی دنیا میں، ڈیٹا ہمیشہ اتنا صاف نہیں ہوتا جتنا کاروباری صارفین کبھی کبھی سوچتے ہیں۔ یہی وجہ ہے کہ ڈیٹا مائننگ اور ڈیٹا رینگلنگ کی مانگ ہے۔ یہ استفسار سے متعلق ڈیٹا میں گمشدہ اقدار اور نمونوں کی شناخت میں مدد کرتا ہے جن کی شناخت انسان نہیں کر سکتے۔ ڈیٹا میں دریافت شدہ رشتوں کا استعمال کرتے ہوئے نتائج کی پیش گوئی کرنے کے لیے ان نمونوں کو تلاش کرنے اور استعمال کرنے کے لیے، مشین لرننگ کام آتی ہے۔

کسی بھی الگورتھم کو سمجھنے کے لیے، آپ کو ڈیٹا میں موجود تمام متغیرات کو دیکھنا ہوگا اور یہ معلوم کرنا ہوگا کہ وہ متغیرات کس چیز کی نمائندگی کرتے ہیں۔ یہ اہم ہے کیونکہ نتائج کے پیچھے کی دلیل ڈیٹا کو سمجھنے پر مبنی ہے۔ اگر ڈیٹا میں 5 یا اس سے بھی 50 متغیرات ہیں، تو آپ ان سب کی جانچ کر سکتے ہیں۔ اگر ان میں سے 200 ہیں تو کیا ہوگا؟ پھر ہر ایک متغیر کا مطالعہ کرنے کے لئے صرف اتنا وقت نہیں ہوگا۔ مزید یہ کہ، کچھ الگورتھم زمرہ کے اعداد و شمار کے لیے کام نہیں کرتے ہیں، اور پھر آپ کو ماڈل میں شامل کرنے کے لیے تمام زمرہ دار کالموں کو مقداری متغیرات میں تبدیل کرنا پڑے گا (وہ مقداری نظر آسکتے ہیں، لیکن میٹرکس ظاہر کریں گے کہ وہ قطعی ہیں)۔ اس طرح متغیرات کی تعداد بڑھ جاتی ہے، اور ان میں سے تقریباً 500 ہیں، اب کیا کیا جائے؟ کوئی سوچ سکتا ہے کہ اس کا جواب جہتی کو کم کرنا ہوگا۔ جہت میں کمی کے الگورتھم پیرامیٹرز کی تعداد کو کم کرتے ہیں لیکن تشریح پر منفی اثر ڈالتے ہیں۔ کیا ہوگا اگر ایسی دوسری تکنیکیں ہیں جو خصوصیات کو ختم کرتی ہیں جبکہ باقی کو سمجھنے اور تشریح کرنے میں آسان بناتی ہیں؟

اس بات پر منحصر ہے کہ آیا تجزیہ رجعت یا درجہ بندی پر مبنی ہے، خصوصیت کے انتخاب کے الگورتھم مختلف ہو سکتے ہیں، لیکن ان کے نفاذ کا بنیادی خیال ایک ہی رہتا ہے۔

انتہائی باہم مربوط متغیرات

متغیرات جو ایک دوسرے کے ساتھ بہت زیادہ مربوط ہیں ماڈل کو ایک ہی معلومات فراہم کرتے ہیں، لہذا تجزیہ کے لیے ان سب کو استعمال کرنے کی ضرورت نہیں ہے۔ مثال کے طور پر، اگر ڈیٹا سیٹ میں "آن لائن ٹائم" اور "ٹریفک استعمال شدہ" خصوصیات شامل ہیں، تو ہم یہ فرض کر سکتے ہیں کہ وہ کسی حد تک باہم مربوط ہوں گے، اور ہم ایک مضبوط ارتباط دیکھیں گے چاہے ہم ایک غیر جانبدار ڈیٹا نمونہ منتخب کریں۔ اس صورت میں، ماڈل میں ان میں سے صرف ایک متغیر کی ضرورت ہے۔ اگر آپ دونوں کا استعمال کرتے ہیں، تو ماڈل ایک خاص خصوصیت کی طرف زیادہ فٹ اور متعصب ہوگا۔

پی اقدار

لکیری رجعت جیسے الگورتھم میں، ایک ابتدائی شماریاتی ماڈل ہمیشہ ایک اچھا خیال ہوتا ہے۔ یہ ان خصوصیات کی اہمیت کو ان کی p-values ​​کے ذریعے ظاہر کرنے میں مدد کرتا ہے جو اس ماڈل کے ذریعے حاصل کی گئی تھیں۔ اہمیت کی سطح کو متعین کرنے کے بعد، ہم نتیجے میں آنے والی p-values ​​کو چیک کرتے ہیں، اور اگر کوئی قدر مخصوص اہمیت کی سطح سے کم ہے، تو اس خصوصیت کو اہم قرار دیا جاتا ہے، یعنی اس کی قدر میں تبدیلی ممکنہ طور پر قدر میں تبدیلی کا باعث بنے گی۔ نشانہ.

براہ راست انتخاب

آگے کا انتخاب ایک تکنیک ہے جس میں مرحلہ وار رجعت کا اطلاق ہوتا ہے۔ ماڈل کی تعمیر مکمل صفر سے شروع ہوتی ہے، یعنی ایک خالی ماڈل، اور پھر ہر تکرار ایک متغیر کا اضافہ کرتی ہے جس سے ماڈل کی تعمیر میں بہتری آتی ہے۔ ماڈل میں کون سا متغیر شامل کیا جاتا ہے اس کا تعین اس کی اہمیت سے ہوتا ہے۔ یہ مختلف میٹرکس کا استعمال کرتے ہوئے شمار کیا جا سکتا ہے. سب سے عام طریقہ یہ ہے کہ تمام متغیرات کا استعمال کرتے ہوئے اصل شماریاتی ماڈل میں حاصل کردہ p-values ​​کو استعمال کیا جائے۔ بعض اوقات آگے کا انتخاب کسی ماڈل کو اوور فٹ کرنے کا باعث بن سکتا ہے کیونکہ ماڈل میں انتہائی باہم مربوط متغیرات ہو سکتے ہیں، چاہے وہ ماڈل کو وہی معلومات فراہم کرتے ہوں (لیکن ماڈل پھر بھی بہتری دکھاتا ہے)۔

الٹا انتخاب

معکوس انتخاب میں خصائص کا مرحلہ وار خاتمہ بھی شامل ہے، لیکن آگے کے انتخاب کے مقابلے میں مخالف سمت میں۔ اس صورت میں، ابتدائی ماڈل میں تمام آزاد متغیرات شامل ہیں۔ متغیرات کو پھر ختم کردیا جاتا ہے (ایک فی تکرار) اگر وہ ہر تکرار میں نئے ریگریشن ماڈل میں قدر کا حصہ نہیں ڈالتے ہیں۔ خصوصیت کا اخراج ابتدائی ماڈل کی p-values ​​پر مبنی ہے۔ انتہائی متعلقہ متغیرات کو ہٹاتے وقت اس طریقہ کار میں بھی غیر یقینی صورتحال ہوتی ہے۔

تکراری خصوصیت کا خاتمہ

اہم خصوصیات کی صحیح تعداد کو منتخب کرنے کے لیے RFE ایک وسیع پیمانے پر استعمال ہونے والی تکنیک/الگورتھم ہے۔ بعض اوقات یہ طریقہ استعمال کیا جاتا ہے کہ نتائج پر اثر انداز ہونے والی "انتہائی اہم" خصوصیات کی ایک بڑی تعداد کی وضاحت کی جائے۔ اور بعض اوقات متغیرات کی بہت بڑی تعداد کو کم کرنے کے لیے (تقریباً 200-400)، اور صرف وہی جو ماڈل میں کم از کم کچھ حصہ ڈالتے ہیں برقرار رکھا جاتا ہے، اور باقی سب کو خارج کر دیا جاتا ہے۔ RFE درجہ بندی کا نظام استعمال کرتا ہے۔ ڈیٹا سیٹ میں موجود خصوصیات کو درجے تفویض کیے گئے ہیں۔ اس کے بعد ان صفوں کا استعمال ان کے درمیان موجود ہم آہنگی اور ماڈل میں ان خصوصیات کی اہمیت کی بنیاد پر خصوصیات کو بار بار ختم کرنے کے لیے کیا جاتا ہے۔ درجہ بندی کی خصوصیات کے علاوہ، RFE یہ ظاہر کر سکتا ہے کہ آیا یہ فیچرز اہم ہیں یا نہیں حتیٰ کہ مخصوص خصوصیات کے لیے بھی (کیونکہ یہ بہت ممکن ہے کہ فیچرز کی منتخب کردہ تعداد بہترین نہ ہو، اور فیچرز کی بہترین تعداد یا تو زیادہ ہو سکتی ہے۔ یا منتخب نمبر سے کم)۔

خصوصیت کی اہمیت کا خاکہ

مشین لرننگ الگورتھم کی تشریح کے بارے میں بات کرتے وقت، ہم عام طور پر لکیری ریگریشنز (جو آپ کو p-values ​​کا استعمال کرتے ہوئے خصوصیات کی اہمیت کا تجزیہ کرنے کی اجازت دیتے ہیں) اور فیصلے کے درختوں (لفظی طور پر ایک درخت کی شکل میں خصوصیات کی اہمیت کو ظاہر کرتے ہیں) پر بات کرتے ہیں۔ اسی وقت ان کا درجہ بندی)۔ دوسری طرف، الگورتھم جیسے رینڈم فاریسٹ، لائٹ جی بی ایم اور ایکس جی بوسٹ اکثر فیچر اہمیت کا ڈایاگرام استعمال کرتے ہیں، یعنی متغیرات کا ایک خاکہ اور "ان کی اہمیت کے نمبرز" کو پلاٹ کیا جاتا ہے۔ یہ خاص طور پر مفید ہے جب آپ کو کاروبار پر ان کے اثرات کے لحاظ سے صفات کی اہمیت کے لیے ایک منظم دلیل فراہم کرنے کی ضرورت ہو۔

ریگولرائزیشن

ریگولرائزیشن تعصب اور تغیر کے درمیان توازن کو کنٹرول کرنے کے لیے کی جاتی ہے۔ تعصب سے پتہ چلتا ہے کہ ٹریننگ ڈیٹا سیٹ پر ماڈل نے کتنا اوور فٹ کیا ہے۔ انحراف سے پتہ چلتا ہے کہ تربیت اور ٹیسٹ ڈیٹا سیٹس کے درمیان پیشین گوئیاں کتنی مختلف تھیں۔ مثالی طور پر، تعصب اور تغیر دونوں چھوٹا ہونا چاہیے۔ یہ وہ جگہ ہے جہاں ریگولرائزیشن بچاؤ میں آتی ہے! دو اہم تکنیکیں ہیں:

L1 ریگولرائزیشن - Lasso: Lasso ماڈل کے وزن کو ماڈل کے لیے ان کی اہمیت کو تبدیل کرنے کے لیے سزا دیتا ہے اور انہیں منسوخ بھی کر سکتا ہے (یعنی حتمی ماڈل سے ان متغیرات کو ہٹا دیں)۔ عام طور پر، Lasso کا استعمال اس وقت کیا جاتا ہے جب ڈیٹاسیٹ میں متغیرات کی ایک بڑی تعداد ہوتی ہے اور آپ ان میں سے کچھ کو خارج کرنا چاہتے ہیں تاکہ یہ بہتر طور پر سمجھ سکیں کہ اہم خصوصیات ماڈل کو کس طرح متاثر کرتی ہیں (یعنی وہ خصوصیات جنہیں Lasso نے منتخب کیا ہے اور انہیں اہمیت دی گئی ہے)۔

L2 ریگولرائزیشن - رج کا طریقہ: رج کا کام تمام متغیرات کو ذخیرہ کرنا ہے اور ساتھ ہی ساتھ ماڈل کی کارکردگی میں ان کے تعاون کی بنیاد پر انہیں اہمیت دینا ہے۔ Ridge ایک اچھا انتخاب ہوگا اگر ڈیٹاسیٹ میں متغیرات کی ایک چھوٹی سی تعداد ہے اور یہ سب حاصل کردہ نتائج اور نتائج کی تشریح کے لیے ضروری ہیں۔

چونکہ Ridge تمام متغیرات کو رکھتا ہے اور Lasso ان کی اہمیت کو قائم کرنے کے لیے بہتر کام کرتا ہے، اس لیے ایک الگورتھم تیار کیا گیا جو دونوں ریگولرائزیشن کی بہترین خصوصیات کو یکجا کرتا ہے، جسے Elastic-Net کہا جاتا ہے۔

مشین لرننگ کے لیے فیچرز کو منتخب کرنے کے اور بھی بہت سے طریقے ہیں، لیکن بنیادی خیال ہمیشہ ایک ہی ہوتا ہے: متغیرات کی اہمیت کو ظاہر کریں اور پھر نتیجے کی اہمیت کی بنیاد پر ان میں سے کچھ کو ختم کریں۔ اہمیت ایک بہت ہی موضوعی اصطلاح ہے، کیونکہ یہ صرف ایک نہیں ہے، بلکہ میٹرکس اور چارٹس کا ایک مکمل مجموعہ ہے جسے کلیدی صفات تلاش کرنے کے لیے استعمال کیا جا سکتا ہے۔

پڑھنے کے لیے آپ کا شکریہ! خوش تعلیم!

ماخذ: www.habr.com

نیا تبصرہ شامل کریں