کسی کام کرنے کا ایک واضع طریقہ کار کمپیوٹر سائنس کی زبان میں الگورتھم کہلاتا ہے۔ مثال کے طور پر چائے ایک پروڈکٹ ہے یا آوٹ پٹ کہہ لیں۔ اور اس کو تیار کرنے کیلئے اشیائے ضروریہ یعنی پتی، دودھ اور چینی اس کا خام مال اور یا آپ اسے ان پٹ کہہ لیں۔ لیکن کیا چائے محض رینڈملی ان پٹس کو ملا کر بنائی جاسکتی ہے، کچھ نہ کچھ بن تو ضرور جائے گا لیکن اہم اسے چائے تو ہرگز نہیں کہہ سکتے۔
کیوں کہ چائے میں دودھ، پتی اور چینی کا صحیح تناسب ہی چائے کو چائے بناتا ہے۔ ان تناسب کو پیرامیٹر کہہ لیتے ہیں۔
لیکن مسئلہ یہ ہے کہ میرے پاس چائے بنانے کا واضح طریقہ فی الحال موجود نہیں۔ تو پھر ہم کیا کرینگے۔ ابھی کیلئے میرے پاس ان پٹس بھی ہیں اور آوٹ پٹ بھی۔ اب چائے کیسے بنائی جائے؟
ہمارے پاس اب ایک طریقہ ہے کہ ہم مختلف تناسب کو باربار دہرائے اور چکھ کر دیکھیں کہ چائے کا اصل ذائقہ آرہا ہے کہ نہیں۔ حالانکہ یہ ہماری زبان پر گراں گزرے گی لیکن کیا کریں جناب چائے بنانے کا طریقہ بھی تو جاننا ہے۔
چلیں ایکسپریمنٹ کرتے ہیں۔ ہمارے پاس تین پیرامیٹر موجود ہیں۔ دودھ، پتی، اور چینی۔ تو یہاں تین کنڈیشن متوقع ہے، مٹھاس، دودھیا پن، اور کڑواہٹ۔
نہ ہمیں زیادہ کڑواہٹ چاہیے اور نہ ہمیں زیادہ مٹھاس، اور نہ چائے بہت زیادہ دودھیاں ہونی چاہیئے کہ چائے چائے نہیں بلکہ دودھ معلوم ہو۔
ہم اول تو اپنی مرضی سے ان کی ایک مقدار لے لیتے ہیں۔ انہیں ہم ابتدائی پیرامیٹر کہہ سکتے ہیں۔ ضروری نہیں کہ پہلی بار میں ہی اچھے نتائج برآمد ہو، تو ہم مختلف پیرامیٹرز نتائج کی بنیاد پر اپڈیٹ کرتے رہے گے، مطلب آپکو لگے کہ پتی زیادہ ہے تو ہم آگلی بار پتی کی مقدار کچھ کم کردیں گے، اسی طرح چینی کم لگے تو اس کی مقدار کچھ بڑھا دیں گے۔ اور ہم یوں ہر ایکسپریمنٹ یا تکرار میں کچھ مقدار کم اور زیادہ کرتے رہیں گے جب تک ہم اپنے آوٹ پٹ سے قریب تر ہوتے جائیں۔
شاید آپکو یہ پراسیس دس بار کرنا پڑے یا پھر ہوسکتا ہے دس ہزار مرتبہ۔ لیکن مشین لرننگ ایسے ہی کام کرتی۔ اور جو ہم نے سیکھا وہ ان پٹ کا صحیح تناسب تھا۔
ہمیں اسی طرح کچھ ڈیٹا آوٹ پٹ اور ان پٹ کی شکل میں دیا گیا ہوتا ہے اور ہمیں ان کی بنیاد پر پیرامیٹرز معلوم کرنے پڑتے ہیں جو کہ ان کے وزن کہلاتے ہیں۔ ہم ابتدائی طور پر کچھ وزن مختص کرتے ہیں اور اور پھر ان کی بنیاد پر کیلکولیشن کرتے ہیں اور ان کا اصل آوٹ پٹ سے موازنہ کرتے ہیں اور اسکی بنیاد پر وزن کو اپڈیٹ کرتے اور پھر ان وزن کی مقدار سے دوبارہ کیلکولیشن کرتے ہیں اور ایسا جب تک کیا جاتا ہے جب تک ہم اصل آوٹ پٹ کے نزدیک ترین نہ پہنچ جائیں۔ اور ایسا ایک بہت بڑے ڈیٹا سیٹ پر کیا جاتا ہے۔ اور یہ لرننگ پروسیس کہلاتی ہے۔
پھر ہم انہیں ایک ایسے ڈیٹا پر دوبارہ دوہراتے ہیں جو کہ اب تک کے پروسیس میں مشین نے نہ دیکھا ہو۔ اور پھر ان کا اصل آوٹ پٹ سے موازنہ کرتے ہیں کہ ہماری مشین نے نئے ڈیٹا پر کتنے درست اور غلط جواب دیے، یا ہمارے اصل جواب کے کتنے قریب تک جوابات دیے۔
مثلاْ ہمارا اصل جواب 3
تھا لیکن ہماری مشین نے اس کا جواب 2
.5
دیا یعنی درستگی کی شرح 83
% رہی اسی طرح ہم تمام ان دیکھے ان پٹس کے آوٹ پٹ کا اصل آوٹ سے موزانہ کرکے مجموعی اسکور معلوم کرتے ہیں کہ ہماری ماڈل کی درستگی کی مجموعی شرح کیا رہی۔
پھر ماڈل کی مزید درستگی کیلئے ہم مختلف ٹیکنیک کا استعمال کرتے ہیں۔ جن میں ڈیٹا میں مزید اضافہ، تکرار کی کمی بیشی، اور فیچر سلیکشن شامل ہیں۔
یہ طریقہ کار جس میں ہمیں ان پٹ اور آوٹ پٹ معلوم ہوں لیکن کام کرنے کا طریقہ واضح نہ ہو اور اس طریقہ کی وضاحت کو ہم مشین لرننگ کی اصطلاح میں سپر وائز لرننگ کہتے ہیں۔