Bootstrap aggregating
بوٹسٹریپ ایگریگیٹنگ، جسے بیگنگ بھی کہا جاتا ہے (بوٹسٹریپ ایگریگیٹنگ سے)، ایک مشین لرننگ اینسمبل میٹا الگورتھم ہے جو شماریاتی درجہ بندی اور رجعت میں استعمال ہونے والے مشین لرننگ الگورتھم کے استحکام اور درستگی کو بہتر بنانے کے لیے ڈیزائن کیا گیا ہے۔ یہ تغیر کو بھی کم کرتا ہے اور زیادہ فٹ ہونے سے بچنے میں مدد کرتا ہے۔ اگرچہ یہ عام طور پر فیصلہ ٹری کے طریقوں پر لاگو ہوتا ہے، لیکن اسے کسی بھی قسم کے طریقہ کار کے ساتھ استعمال کیا جا سکتا ہے۔ بیگنگ ماڈل اوسط نقطہ نظر کا ایک خاص معاملہ ہے۔ تکنیک کی تفصیل سائز n کے ایک معیاری تربیتی سیٹ کو دیکھتے ہوئے، بیگنگ ڈی سے یکساں طور پر نمونے لے کر اور متبادل کے ساتھ m نئے تربیتی سیٹ تیار کرتا ہے، جن میں سے ہر ایک سائز n′ کا ہوتا ہے۔ متبادل کے ساتھ نمونے لینے سے، ہر ایک میں کچھ مشاہدات کو دہرایا جا سکتا ہے۔ اگر n′ = n، تو بڑے n کے لیے سیٹ میں D کی منفرد مثالوں کا حصہ (1-1/e) (≈ 63.2%) ہونے کی توقع کی جاتی ہے، باقی ڈپلیکیٹ ہوتے ہیں۔ اس قسم کے نمونے کو بوٹسٹریپ نمونے کے نام سے جانا جاتا ہے۔ متبادل کے ساتھ نمونے لینا اس بات کو یقینی بناتا ہے کہ ہر بوٹسٹریپ اپنے ساتھیوں سے آزاد ہے، کیونکہ نمونے لیتے وقت یہ پچھلے منتخب کردہ نمونوں پر منحصر نہیں ہوتا ہے۔ پھر، ایم ماڈلز کو مندرجہ بالا ایم بوٹسٹریپ نمونوں کا استعمال کرتے ہوئے نصب کیا جاتا ہے اور آؤٹ پٹ کی اوسط (رجعت کے لیے) یا ووٹنگ (درجہ بندی کے لیے) کے ذریعے ملایا جاتا ہے۔ بیگنگ "غیر مستحکم طریقہ کار میں بہتری" کی طرف لے جاتا ہے، جس میں، مثال کے طور پر، مصنوعی عصبی نیٹ ورک، درجہ بندی اور رجعت کے درخت، اور لکیری رجعت میں ذیلی سیٹ کا انتخاب شامل ہیں۔ بیگنگ کو پری امیج لرننگ کو بہتر بنانے کے لیے دکھایا گیا۔ دوسری طرف، یہ K-قریب ترین پڑوسیوں جیسے مستحکم طریقوں کی کارکردگی کو ہلکے سے کم کر سکتا ہے۔ الگورتھم کی کلیدی شرائط بوٹسٹریپ ایگریگیٹنگ میں تین قسم کے ڈیٹا سیٹ ہوتے ہیں۔ یہ اصل، بوٹسٹریپ، اور بیگ سے باہر کے ڈیٹا سیٹ ہیں۔ نیچے دیے گئے ہر حصے میں وضاحت کی جائے گی کہ اصل ڈیٹا سیٹ کے علاوہ ہر ڈیٹا سیٹ کیسے بنایا جاتا ہے۔ اصل ڈیٹا سیٹ وہ ہے جو بھی معلومات دی جاتی ہے۔ بوٹسٹریپ ڈیٹا سیٹ بنانا بوٹسٹریپ ڈیٹا سیٹ اصل ڈیٹا سیٹ سے تصادفی طور پر اشیاء کو چن کر بنایا جاتا ہے۔ اس کے علاوہ، اس کا سائز اصل ڈیٹا سیٹ کے برابر ہونا چاہیے۔ تاہم، فرق یہ ہے کہ بوٹسٹریپ ڈیٹا سیٹ میں ڈپلیکیٹ آبجیکٹ ہو سکتے ہیں۔ ذیل میں دی گئی مثال کے ساتھ یہ ظاہر کرنے کے لیے ایک آسان مثال ہے کہ یہ کیسے کام کرتا ہے: فرض کریں کہ اصل ڈیٹا سیٹ 12 افراد کا ایک گروپ ہے۔ یہ لڑکے ایملی، جیسی، جارج، کانسٹینٹین، لیکسی، تھیوڈور، جان، جیمز، ریچل، انتھونی، ایلی اور جمال ہیں۔ تصادفی طور پر ناموں کے ایک گروپ کو چن کر، فرض کریں کہ ہمارے بوٹسٹریپ ڈیٹا سیٹ میں جیمز، ایلی، کانسٹینٹین، لیکسی، جان، کانسٹینٹین، تھیوڈور، کانسٹینٹین، انتھونی، لیکسی، کانسٹینٹین اور تھیوڈور تھے۔ اس معاملے میں، بوٹسٹریپ کے نمونے میں کانسٹینٹین کے لیے چار نقلیں، اور لیکسی اور تھیوڈور کے لیے دو نقلیں تھیں۔ بیگ سے باہر کا ڈیٹا سیٹ بنانا بیگ سے باہر کا ڈیٹا سیٹ باقی لوگوں کی نمائندگی کرتا ہے جو بوٹسٹریپ ڈیٹا سیٹ میں نہیں تھے۔ اس کا حساب اصل اور بوٹسٹریپ ڈیٹا سیٹس کے درمیان فرق لے کر لگایا جا سکتا ہے۔ اس معاملے میں، بقیہ نمونے جن کا انتخاب نہیں کیا گیا وہ ایملی، جیسی، جارج، ریچل اور جمال ہیں۔ ذہن میں رکھیں کہ چونکہ دونوں ڈیٹا سیٹ سیٹ ہیں، فرق لیتے وقت بوٹسٹریپ ڈیٹا سیٹ میں ڈپلیکیٹ ناموں کو نظر انداز کر دیا جاتا ہے۔ نیچے دی گئی مثال سے پتہ چلتا ہے کہ ریاضی کیسے کی جاتی ہے: بوٹسٹریپ اور بیگ سے باہر ڈیٹا سیٹ بنانے کی اہمیت بہت اہم ہے کیونکہ یہ بے ترتیب جنگل کے الگورتھم کی درستگی کی جانچ کے لیے استعمال ہوتا ہے۔ مثال کے طور پر، ایک ماڈل جو بوٹسٹریپ/آؤٹ آف بیگ ڈیٹا سیٹ کا استعمال کرتے ہوئے 50 درخت پیدا کرتا ہے اس کی درستگی اس سے بہتر ہوگی اگر اس نے 10 درخت تیار کیے ہوں۔ چونکہ الگورتھم متعدد درخت پیدا کرتا ہے اور اس لیے متعدد ڈیٹا سیٹ کرتا ہے اس لیے اس بات کا امکان کم ہے کہ کوئی چیز بوٹسٹریپ ڈیٹا سیٹ سے باہر رہ جائے۔ اگلے چند حصوں میں اس بارے میں بات کی گئی ہے کہ بے ترتیب جنگل الگورتھم مزید تفصیل سے کیسے کام کرتا ہے۔ فیصلہ کن درختوں کی تخلیق الگورتھم کے اگلے مرحلے میں بوٹسٹریپڈ ڈیٹا سیٹ سے فیصلہ کن درختوں کی نسل شامل ہے۔ اسے حاصل کرنے کے لیے، یہ عمل ہر جین/خصوصیت کا جائزہ لیتا ہے اور اس بات کا تعین کرتا ہے کہ خصوصیت کی موجودگی یا غیر موجودگی سے کتنے نمونوں سے مثبت یا منفی نتیجہ نکلتا ہے۔ اس کے بعد اس معلومات کو الجھن کے میٹرکس کا حساب لگانے کے لیے استعمال کیا جاتا ہے، جس میں درجہ بندی کے طور پر استعمال ہونے پر خصوصیت کے حقیقی مثبت، غلط مثبت، حقیقی منفی اور غلط منفی کی فہرست ہوتی ہے۔ ان خصوصیات کو پھر ان کی الجھن میٹرکس کی بنیاد پر مختلف درجہ بندی میٹرکس کے مطابق درجہ بندی کیا جاتا ہے۔ کچھ عام میٹرکس میں مثبت درستگی کا تخمینہ (حقیقی مثبت سے غلط مثبت کو گھٹا کر شمار کیا جاتا ہے)، "اچھائی" کی پیمائش، اور معلومات حاصل کرنا شامل ہیں۔ اس کے بعد ان خصوصیات کو نمونوں کو دو سیٹوں میں تقسیم کرنے کے لیے استعمال کیا جاتا ہے: وہ جو سب سے اوپر کی خصوصیت رکھتے ہیں، اور وہ جو نہیں رکھتے ہیں۔ نیچے دیا گیا خاکہ ڈیٹا کی درجہ بندی کے لیے استعمال ہونے والے گہرائی دو کے فیصلہ درخت کو دکھاتا ہے۔ مثال کے طور پر، ایک ڈیٹا پوائنٹ جو فیچر 1 کو ظاہر کرتا ہے، لیکن فیچر 2 کو نہیں، اسے "نہیں" دیا جائے گا۔ ایک اور نقطہ جو فیچر 1 کی نمائش نہیں کرتا ہے، لیکن فیچر 3 کی نمائش کرتا ہے، اسے "ہاں" دیا جائے گا۔ یہ عمل مطلوبہ گہرائی تک پہنچنے تک درخت کی مسلسل سطحوں کے لیے بار بار دہرایا جاتا ہے۔ درخت کے بالکل نیچے، حتمی خصوصیت کے لیے مثبت جانچ کرنے والے نمونوں کو عام طور پر مثبت کے طور پر درجہ بند کیا جاتا ہے، جبکہ جن میں خصوصیت کی کمی ہوتی ہے انہیں منفی کے طور پر درجہ بند کیا جاتا ہے۔ ان درختوں کو پھر نئے اعداد و شمار کی درجہ بندی کے لیے پیشن گوئی کرنے والوں کے طور پر استعمال کیا جاتا ہے۔ بے ترتیب جنگلات الگورتھم کے اگلے حصے میں بوٹسٹریپڈ درختوں کے درمیان تغیر کا ایک اور عنصر متعارف کرانا شامل ہے۔ ہر درخت کے علاوہ صرف نمونوں کے بوٹسٹریپڈ سیٹ کی جانچ پڑتال کرتے ہوئے، درجہ بندی کے طور پر درجہ بندی کرتے وقت صرف منفرد خصوصیات کی ایک چھوٹی لیکن مستقل تعداد پر غور کیا جاتا ہے۔ اس کا مطلب یہ ہے کہ ہر درخت صرف خصوصیات کی ایک چھوٹی سی مستقل تعداد سے متعلق ڈیٹا کے بارے میں جانتا ہے، اور نمونوں کی متغیر تعداد جو اصل ڈیٹا سیٹ سے کم یا اس کے برابر ہے۔ نتیجتا، درختوں کے زیادہ متنوع علم سے حاصل کردہ جوابات کی ایک وسیع صف واپس کرنے کا زیادہ امکان ہے۔ اس کے نتیجے میں ایک بے ترتیب جنگل پیدا ہوتا ہے، جو بے ترتیب کے بغیر پیدا ہونے والے ایک فیصلے کے درخت کے مقابلے میں بے شمار فوائد رکھتا ہے۔ بے ترتیب جنگل میں، ہر درخت اس بات پر "ووٹ" دیتا ہے کہ کسی نمونے کو اس کی خصوصیات کی بنیاد پر مثبت کے طور پر درجہ بندی کرنا ہے یا نہیں۔ اس کے بعد نمونے کو اکثریت کے ووٹ کی بنیاد پر درجہ بند کیا جاتا ہے۔ اس کی ایک مثال نیچے دیے گئے خاکے میں دی گئی ہے، جہاں بے ترتیب جنگل کے چار درخت اس بات پر ووٹ دیتے ہیں کہ آیا میوٹیشن والے مریض A، B، F، اور G کو کینسر ہے یا نہیں۔ چونکہ چار میں سے تین درخت ہاں میں ووٹ دیتے ہیں، اس لیے مریض کو کینسر مثبت کے طور پر درجہ بند کیا جاتا ہے۔ ان کی خصوصیات کی وجہ سے، بے ترتیب جنگلات کو ڈیٹا مائننگ کے سب سے درست الگورتھم میں سے ایک سمجھا جاتا ہے، ان کے ڈیٹا میں زیادہ فٹ ہونے کا امکان کم ہوتا ہے، اور بڑے ڈیٹا سیٹوں کے لیے بھی تیزی سے اور مؤثر طریقے سے چلتے ہیں۔ وہ بنیادی طور پر رجعت کے برخلاف درجہ بندی کے لیے مفید ہیں، جو ڈیٹا سیٹ میں شماریاتی متغیرات کے درمیان مشاہدہ شدہ روابط کھینچنے کی کوشش کرتا ہے۔ یہ بے ترتیب جنگلات کو بینکنگ، صحت کی دیکھ بھال، اسٹاک مارکیٹ، اور ای کامرس جیسے شعبوں میں خاص طور پر مفید بناتا ہے جہاں ماضی کے اعداد و شمار کی بنیاد پر مستقبل کے نتائج کی پیش گوئی کرنے کے قابل ہونا ضروری ہے۔ ان کی ایپلی کیشنز میں سے ایک جینیاتی عوامل کی بنیاد پر کینسر کی پیش گوئی کے لیے ایک مفید ٹول کے طور پر ہوگا، جیسا کہ اوپر کی مثال میں دیکھا گیا ہے۔ بے ترتیب جنگل کو ڈیزائن کرتے وقت کئی اہم عوامل پر غور کرنا ضروری ہے۔ اگر بے ترتیب جنگلات میں درخت بہت گہرے ہیں، تو بھی حد سے زیادہ مخصوص ہونے کی وجہ سے حد سے زیادہ فٹنا ہو سکتا ہے۔ اگر جنگل بہت بڑا ہے، تو رن ٹائم میں اضافے کی وجہ سے الگورتھم کم موثر ہو سکتا ہے۔ بے ترتیب جنگلات بھی عام طور پر اچھی کارکردگی کا مظاہرہ نہیں کرتے جب کم تغیر پذیری کے ساتھ کم اعداد و شمار دیے جاتے ہیں۔ تاہم، ان کے پاس اب بھی اسی طرح کے ڈیٹا کی درجہ بندی کے الگورتھم جیسے نیورل نیٹ ورک کے مقابلے میں بے شمار فوائد ہیں، کیونکہ ان کی تشریح کرنا بہت آسان ہے اور عام طور پر تربیت کے لیے کم ڈیٹا کی ضرورت ہوتی ہے۔ بے ترتیب جنگلات کے ایک لازمی جزو کے طور پر، بوٹسٹریپ جمع کرنا درجہ بندی کے الگورتھم کے لیے بہت اہم ہے، اور تغیر کا ایک اہم عنصر فراہم کرتا ہے جو نئے ڈیٹا کا تجزیہ کرتے وقت درستگی میں اضافے کی اجازت دیتا ہے، جیسا کہ ذیل میں بحث کی گئی ہے۔ بے ترتیب جنگلات اور بیگنگ کو بہتر بنانا اگرچہ اوپر بیان کردہ تکنیکیں بے ترتیب جنگلات اور بیگنگ کو استعمال کرتی ہیں (بصورت دیگر بوٹ اسٹریپنگ کے نام سے جانا جاتا ہے)، کچھ ایسی تکنیکیں ہیں جو ان کے نفاذ اور ووٹنگ کے وقت، ان کی پیش گوئی کی درستگی اور ان کی مجموعی کارکردگی کو بہتر بنانے کے لیے استعمال کی جا سکتی ہیں۔ ایک موثر بے ترتیب جنگل بنانے کے لیے درج ذیل کلیدی اقدامات ہیں: درختوں کی زیادہ سے زیادہ گہرائی کی وضاحت کریں: اپنے بے ترتیب جنگل کو اس وقت تک جاری رکھنے کی اجازت دینے کے بجائے جب تک کہ تمام نوڈس خالص نہ ہوں، بہتر ہے کہ اسے کسی خاص مقام پر کاٹ دیا جائے تاکہ زیادہ فٹ ہونے کے امکانات کو مزید کم کیا جا سکے۔ ڈیٹا سیٹ کو چھانٹ لیں: ایک انتہائی بڑے ڈیٹا سیٹ کا استعمال ایسے نتائج پیدا کرنے کے لیے ثابت ہو سکتا ہے جو فراہم کردہ ڈیٹا کا ایک چھوٹے سیٹ سے کم اشارہ ہے جو زیادہ درست طریقے سے اس بات کی نمائندگی کرتا ہے جس پر توجہ مرکوز کی جا رہی ہے۔ صرف اصل بیگنگ کے عمل کے بجائے ہر نوڈ اسپلٹ پر ڈیٹا کی کٹائی جاری رکھیں۔ درستگی یا رفتار کا فیصلہ کریں: مطلوبہ نتائج پر منحصر ہے، جنگل کے اندر درختوں کی تعداد بڑھانے یا کم کرنے سے مدد مل سکتی ہے۔ درختوں کی تعداد میں اضافہ عام طور پر زیادہ درست نتائج فراہم کرتا ہے جبکہ درختوں کی تعداد میں کمی تیزی سے نتائج فراہم کرے گی۔ الگورتھم (درجہ بندی) درجہ بندی کے لیے، ایک ٹریننگ سیٹ، انڈیوسر اور بوٹسٹریپ نمونوں کی تعداد کو ان پٹ کے طور پر استعمال کریں۔ آؤٹ پٹ کے طور پر درجہ بندی پیدا کریں، متبادل کے ساتھ سے نئے تربیتی سیٹ بنائیں سیٹ کی درجہ بندی کا تعین کرنے کے لیے استعمال کرتے ہوئے ہر سیٹ سے درجہ بندی تیار کی جاتی ہے آخر میں درجہ بندی اصل ڈیٹا سیٹ پر درجہ بندی کے پہلے بنائے گئے سیٹ کا استعمال کرتے ہوئے تیار کی جاتی ہے، ذیلی درجہ بندی کے ذریعے اکثر پیش گوئی کی جانے والی درجہ بندی i = 1 سے m {D '= بوٹسٹریپ نمونے کے لیے حتمی درجہ بندی ہے D (متبادل کے ساتھ نمونہ) Ci = I (D')} C * (x) = argmax #{i: Ci (x) = y} (اکثر پیش گوئی شدہ لیبل y) y bul Y مثال: اوزون ڈیٹا بیگنگ کے بنیادی اصولوں کی وضاحت کرنے کے لیے، نیچے اوزون اور درجہ حرارت (R سے ڈیٹا) کے درمیان تعلقات پر ایک تجزیہ ہے۔ بکھرے ہوئے پلاٹ کی بنیاد پر درجہ حرارت اور اوزون کے درمیان تعلق اس ڈیٹا سیٹ میں غیر لکیری معلوم ہوتا ہے۔ اس رشتے کو ریاضیاتی طور پر بیان کرنے کے لیے، لوئس ہموار (بینڈوڈتھ 0.0 کے ساتھ) استعمال کیے جاتے ہیں۔ مکمل ڈیٹا سیٹ کے لیے ایک ہموار بنانے کے بجائے، 100 بوٹسٹریپ نمونے تیار کیے گئے۔ ہر نمونہ اصل ڈیٹا کے بے ترتیب ذیلی سیٹ پر مشتمل ہوتا ہے اور ماسٹر سیٹ کی تقسیم اور تغیر کی علامت کو برقرار رکھتا ہے۔ ہر بوٹسٹریپ نمونے کے لیے، ایک لوئس ہموار فٹ تھا۔ اس کے بعد اعداد و شمار کی حد کے پار ان 100 ہموار لوگوں سے پیش گوئیاں کی گئیں۔ سیاہ لکیریں ان ابتدائی پیش گوئیوں کی نمائندگی کرتی ہیں۔ لائنوں میں ان کی پیش گوئیوں میں اتفاق کا فقدان ہے اور ان کے ڈیٹا پوائنٹس کو زیادہ فٹ کرنے کا رجحان ہے: لائنوں کے ہلکے بہاؤ سے ظاہر ہوتا ہے۔ 100 ہمواروں کی اوسط لے کر، ہر ایک اصل ڈیٹا سیٹ کے ذیلی سیٹ سے مطابقت رکھتا ہے، ہم ایک بیگڈ پیشن گوئی (سرخ لکیر) پر پہنچتے ہیں۔ سرخ لکیر کا بہاؤ مستحکم ہے اور کسی بھی ڈیٹا پوائنٹ (پوائنٹس) سے حد سے زیادہ مطابقت نہیں رکھتا ہے۔ فوائد اور نقصانات: بہت سے کمزور سیکھنے والے مجموعی طور پر پورے سیٹ میں عام طور پر ایک ہی سیکھنے والے سے بہتر کارکردگی کا مظاہرہ کرتے ہیں، اور کم زیادہ فٹ ہوتے ہیں۔ اعلی تغیر والے کم بیس والے کمزور سیکھنے والے میں تغیر کو ہٹاتا ہے، جو کارکردگی کو بہتر بنا سکتا ہے (اعدادوشمار) متوازی طور پر انجام دیا جا سکتا ہے، کیونکہ ہر علیحدہ بوٹسٹریپ کو امتزاج سے پہلے خود ہی پروسیس کیا جا سکتا ہے۔ نقصانات: زیادہ تعصب والے کمزور سیکھنے والے کے لیے، بیگنگ ماڈل کی تشریح کے مجموعی نقصان میں بھی زیادہ تعصب لے گی۔ ڈیٹا سیٹ کی تاریخ کے لحاظ سے کمپیوٹیشنل طور پر مہنگا ہو سکتا ہے بوٹسٹریپ ایگریگیٹنگ کا تصور بوٹ اسٹریپنگ کے تصور سے اخذ کیا گیا ہے جسے بریڈلی ایفرون نے تیار کیا تھا۔ بوٹسٹریپ ایگریگیٹنگ کی تجویز لیو بریمین نے پیش کی تھی جس نے مختصر اصطلاح "بیگنگ" (بوٹسٹریپ ایگریگیٹنگ) بھی تیار کی تھی۔ بریمن نے بے ترتیب طور پر تیار کردہ تربیتی سیٹوں کی درجہ بندی کو یکجا کرکے درجہ بندی کو بہتر بنانے کے لیے 1994 میں بیگنگ کا تصور تیار کیا۔ انہوں نے استدلال کیا، "اگر سیکھنے کے سیٹ کو پریشان کرنے سے پیش گوئی کرنے والے میں اہم تبدیلیاں آسکتی ہیں، تو بیگ لگانے سے درستگی میں بہتری آسکتی ہے۔" بوسٹنگ (میٹا الگورتھم) بوٹ اسٹریپنگ (اعدادوشمار) کراس توثیق (اعدادوشمار) بیگ سے باہر کی غلطی بے ترتیب جنگل بے ترتیب ذیلی جگہ کا طریقہ (خاصیت بیگنگ) دوبارہ نمونہ شدہ موثر فرنٹیئر پیشن گوئی تجزیہ: درجہ بندی اور رجعت کے درخت حوالہ جات مزید پڑھنا مشین لرننگ الگورتھم کمپیوٹیشنل اعدادوشمار کو جمع کریں