Context mixing
سیاق و سباق کا اختلاط ڈیٹا کمپریشن الگورتھم کی ایک قسم ہے جس میں دو یا دو سے زیادہ شماریاتی ماڈلز کی اگلی علامت کی پیش گوئیوں کو ملا کر ایک ایسی پیش گوئی کی جاتی ہے جو اکثر انفرادی پیش گوئیوں سے زیادہ درست ہوتی ہے۔ مثال کے طور پر، ایک آسان طریقہ (ضروری نہیں کہ بہترین ہو) ہر ماڈل کے ذریعہ تفویض کردہ امکانات کا اوسط بنانا ہے۔ بے ترتیب جنگل ایک اور طریقہ ہے: یہ پیشین گوئی کی پیداوار کرتا ہے جو انفرادی ماڈلز کے ذریعہ پیشین گوئی کی پیداوار کا طریقہ ہے۔ ماڈلز کو یکجا کرنا مشین لرننگ میں تحقیق کا ایک فعال شعبہ ہے۔ ڈیٹا کمپریشن پروگراموں کی پی اے کیو سیریز ان پٹ کے انفرادی بٹس کو امکانات تفویض کرنے کے لیے سیاق و سباق کی اختلاط کا استعمال کرتی ہے۔ ڈیٹا کمپریشن پر اطلاق فرض کریں کہ ہمیں دو مشروط امکانات دیئے گئے ہیں، اور، اور ہم اندازہ لگانا چاہتے ہیں، ایونٹ X کا امکان دونوں شرائط اور شرائط کو دیکھتے ہوئے۔ نتیجہ دینے کے لیے امکانی نظریہ کے لیے ناکافی معلومات موجود ہیں۔ درحقیقت ایسے منظرنامے بنانا ممکن ہے جس میں نتیجہ کچھ بھی ہو سکتا ہے۔ لیکن بدیہی طور پر، ہم توقع کریں گے کہ نتیجہ دونوں میں سے کسی طرح کا اوسط ہوگا۔ ڈیٹا کمپریشن کے لیے مسئلہ اہم ہے۔ اس ایپلی کیشن میں، اور سیاق و سباق ہیں، یہ واقعہ ہے کہ کمپریس کیے جانے والے ڈیٹا کے اگلے بٹ یا علامت کی ایک خاص قدر ہوتی ہے، اور یہ دو آزاد ماڈلز کے ذریعے امکانات کے تخمینے ہوتے ہیں۔ کمپریشن کا تناسب اس بات پر منحصر ہے کہ تخمینہ شدہ امکان واقعہ کے صحیح لیکن نامعلوم امکان کے کتنے قریب پہنچتا ہے۔ اکثر ایسا ہوتا ہے کہ سیاق و سباق اور واقعات کا درست اندازہ لگانے اور ہر سیاق و سباق میں ہونے والے واقعات کو شمار کرنے کے لیے کافی ہوتے ہیں، لیکن دونوں سیاق و سباق یا تو کثرت سے ایک ساتھ نہیں ہوئے ہیں، یا مشترکہ معاملے کے لیے اعداد و شمار جمع کرنے کے لیے ناکافی کمپیوٹنگ وسائل (وقت اور میموری) موجود ہیں۔ مثال کے طور پر، فرض کریں کہ ہم کسی ٹیکسٹ فائل کو کمپریس کر رہے ہیں۔ ہم پیش گوئی کرنا چاہتے ہیں کہ آیا اگلا کردار لائن فیڈ ہوگا، یہ دیکھتے ہوئے کہ پچھلا کردار ایک پیریڈ (سیاق و سباق) تھا اور آخری لائن فیڈ 72 حروف پہلے (سیاق و سباق) ہوا تھا۔ فرض کریں کہ لائن فیڈ پہلے آخری 5 پیریڈز () میں سے 1 کے بعد اور کالم 72 () پر آخری 10 لائنوں میں سے 5 میں ہوا تھا۔ ان پیش گوئیوں کو کیسے جوڑا جانا چاہیے؟ دو عمومی نقطہ نظر استعمال کیے گئے ہیں، لکیری اور لاجسٹک اختلاط۔ لکیری اختلاط ثبوت کے ذریعہ وزن کی گئی پیش گوئیوں کی اوسط اوسط کا استعمال کرتا ہے۔ اس مثال میں، زیادہ وزن ہوتا ہے کیونکہ یہ زیادہ تعداد میں ٹیسٹوں پر مبنی ہوتا ہے۔ پی اے کیو کے پرانے ورژن اس نقطہ نظر کا استعمال کرتے ہیں۔ نئے ورژن اوسط سے پہلے پیش گوئیوں کو لاجسٹک ڈومین، لاگ (پی/(1-پی)) میں تبدیل کرکے لاجسٹک (یا نیورل نیٹ ورک) اختلاط کا استعمال کرتے ہیں۔ اس صورت میں یہ مؤثر طریقے سے 0 یا 1 کے قریب کی پیش گوئیوں کو زیادہ اہمیت دیتا ہے۔ دونوں صورتوں میں، ہر ایک ان پٹ ماڈل کو اضافی وزن دیا جا سکتا ہے اور ان ماڈلز کے حق میں ڈھال لیا جا سکتا ہے جنہوں نے ماضی میں انتہائی درست پیش گوئیاں کی ہیں۔ پی اے کیو کے تمام لیکن قدیم ترین ورژن انکولی وزن کا استعمال کرتے ہیں۔ زیادہ تر سیاق و سباق اختلاط کمپریسر ایک وقت میں ایک بٹ ان پٹ کی پیش گوئی کرتے ہیں۔ آؤٹ پٹ کا امکان محض امکان ہے کہ اگلا بٹ 1 ہوگا۔ لکیری مکسنگ ہمیں پیش گوئیوں کا ایک مجموعہ دیا گیا ہے Pi (1) = n1i/ni، جہاں ni = n0i + n1i، اور n0i اور n1i ith ماڈل کے لیے بالترتیب 0 اور 1 بٹس کی گنتی ہیں۔ امکانات کا حساب 0 اور 1 گنتی کے وزن کے اضافے سے کیا جاتا ہے: S0 = εi wi n0i S1 = εi wi n1i S = S0 + S1 P (0) = S0/SP (1) = S1/S وزن ابتدائی طور پر برابر ہوتے ہیں اور ہمیشہ 1 کا مجموعہ ہوتے ہیں۔ ابتدائی حالات کے تحت، ہر ماڈل کو ثبوت کے تناسب سے وزن کیا جاتا ہے۔ اس کے بعد وزن کو زیادہ درست ماڈلز کے حق میں ایڈجسٹ کیا جاتا ہے۔ فرض کریں کہ ہمیں دیا گیا ہے کہ پیش گوئی کی جانے والی اصل بٹ y (0 یا 1) ہے۔ پھر وزن کی ایڈجسٹمنٹ یہ ہے: ni = n0i + n1i ایرر = y-P (1) wi → wi + [(S n1i-S1ni)/(S0 S1)] ایرر کمپریشن کو ni کو باؤنڈ کرکے بہتر بنایا جا سکتا ہے تاکہ ماڈل ویٹنگ بہتر متوازن ہو۔ پی اے کیو 6 میں، جب بھی بٹ گنتی میں سے ایک میں اضافہ کیا جاتا ہے، تو دوسرے گنتی کا حصہ جو 2 سے زیادہ ہوتا ہے اسے آدھا کر دیا جاتا ہے۔ مثال کے طور پر، ترتیب 000000001 کے بعد، گنتی (n0، n1) = (8، 0) سے (5، 1) تک جائے گی۔ لاجسٹک مکسنگ پائی (1) کو آئیتھ ماڈل کی پیش گوئی ہونے دیں کہ اگلا بٹ 1 ہوگا۔ پھر حتمی پیشن گوئی P (1) کا حساب لگایا جاتا ہے: xi = اسٹریچ (Pi (1)) P (1) = اسکواش (σi wi xi) جہاں P (1) امکان ہے کہ اگلی بٹ a 1 ہوگی، Pi (1) امکان ہے جس کا تخمینہ i 'th ماڈل کے ذریعہ لگایا گیا ہے، اور اسٹریچ (x) = ln (x/(1-x)) اسکواش (x) = 1/(1 + e−x) (اسٹریچ کا الٹا)۔ ہر پیشن گوئی کے بعد، کوڈنگ لاگت کو کم کرنے کے لیے وزن کو ایڈجسٹ کرکے ماڈل کو اپ ڈیٹ کیا جاتا ہے۔ جہاں η سیکھنے کی شرح ہے (عام طور پر 0.002 سے 0.1 تک)، y پیش گوئی شدہ بٹ ہے، اور (y-P (1)) پیش گوئی کی غلطی ہے۔ سیاق و سباق مکسنگ کمپریسرز کی فہرست نیچے دیے گئے تمام ورژن لاجسٹک مکسنگ کا استعمال کرتے ہیں جب تک کہ دوسری صورت میں اشارہ نہ کیا جائے۔ تمام پی اے کیو ورژن (میٹ ماہونی، سرج اوسنچ، الیگزینڈر رتشنیاک، پرزیمسلاو سکبینسکی، جان آنڈرس، اور دیگر)۔ PAQAR اور PAQ7 سے پہلے کے ورژن لکیری اختلاط کا استعمال کرتے تھے۔ بعد کے ورژن میں لاجسٹک مکسنگ کا استعمال کیا گیا۔ تمام ایل پی اے کیو ورژن (میٹ ماہونی، الیگزینڈر رتشنیاک)۔ ZPAQ (میٹ ماہونی)۔ ون آر کے 3.3 (میلکم ٹیلر) زیادہ سے زیادہ کمپریشن پی ڈبلیو سی ایم موڈ میں۔ ورژن 3.2 لکیری اختلاط پر مبنی تھا۔ نینو زپ (سامی رنسا) زیادہ سے زیادہ کمپریشن موڈ میں (آپشن-سی سی)۔ xwrt 3.2 (پرزمسلاو سکبینسکی) زیادہ سے زیادہ کمپریشن موڈ میں (آپشنز-i10 سے-i14) بطور ڈکشنری انکوڈر کے بیک اینڈ۔ سی ایم ایم 1 سے لے کر سی ایم ایم 4، ایم 1، اور ایم 1 ایکس 2 (کرسٹوفر میٹرن) تیز رفتار کے لیے تھوڑی تعداد میں سیاق و سباق استعمال کرتے ہیں۔ ایم 1 اور ایم 1 ایکس 2 ایک علیحدہ اصلاح پاس میں دو بٹ ماسکڈ سیاق و سباق کو منتخب کرنے کے لیے جینیاتی الگورتھم کا استعمال کرتے ہیں۔ سی سی ایم (کرسچن مارٹلاک)۔ بٹ (عثمان توران)۔ پھنسیاں، پھنسیاں 2، ٹی سی، اور پی ایکس (ایلیا موراویف)۔ این سی (سرج اوسناچ) پی پی ایم اور (لکیری) سیاق و سباق کے اختلاط پر مبنی کئی طریقوں کی کوشش کرتا ہے اور بہترین کا انتخاب کرتا ہے۔ ایف پی اے کیو 2 (نانیا فرانسیسکو انتونیو) تیز رفتار کے لیے مقررہ وزن اوسط کا استعمال کرتے ہوئے۔ سیمیکس (بائرن نول) بہت سے ماڈلز کو ملاتا ہے، اور اس وقت لارج ٹیکسٹ کمپریشن بینچ مارک کے ساتھ ساتھ سیلیسیا کارپس میں بھی پہلے نمبر پر ہے اور اس نے ہٹر پرائز کی جیتنے والی اندراج کو پیچھے چھوڑ دیا ہے حالانکہ یہ بہت زیادہ میموری استعمال کرنے کی وجہ سے اہل نہیں ہے۔ حوالہ جات ڈیٹا کمپریشن