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

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

ہم اس تربیت کے اعداد و شمار کا استعمال کرتے ہوئے ایک پروگرام لکھیں گے جو اس علاقے میں دیگر گھروں کی قیمتوں کا اندازہ کرے گا:

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

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

یہاں تک کہ اگر آپ نامعلوم اعداد و شمار (جیسے قیمت) کی پیش گوئی نہیں کرنا چاہتے ہیں تو ، آپ مشین لرننگ کا استعمال کچھ دلچسپ چیزوں کے لئے کرسکتے ہیں۔
یہ اس طرح ہے جیسے کسی نے آپ کو ایک کاغذ دیا جس پر بہت سارے نمبر لکھے ہوں اور آپ سے کہا کہ مجھے نہیں معلوم کہ ان نمبرز کا کیا مطلب ہے، لیکن شاید آپ ان میں سے کسی ایک کا پتہ لگاسکیں یا ان کی درجہ بندی کر سکیں یا کچھ اور۔ آپ کو بہت بہت مبارک ہو!
آپ ان اعداد و شمار کے ساتھ کیا کر سکتے ہیں؟ سب سے پہلے، آپ الگورتھم کو استعمال کر سکتے ہیں جو خود کار طریقے سے اعداد و شمار سے مختلف حصوں کو الگ کرتا ہے. شاید آپ کو پتہ چلتا ہے کہ کالج کے قریب گھر خریدنے والوں کو چھوٹے گھر پسند ہیں لیکن زیادہ بیڈروم ہیں، جبکہ مضافاتی گھر خریدنے والوں کو تین بیڈروم بڑے گھر پسند ہیں.
آپ یہ بھی کر سکتے ہیں کہ یہ بہت ہی زبردست کام ہے کہ آپ خود بخود گھر کی قیمتوں کے بارے میں اعداد و شمار کا پتہ لگاسکتے ہیں جو کہ دوسرے اعداد و شمار سے مختلف ہیں۔ یہ عمارتیں شاید بلند عمارتوں میں ہوں اور آپ ان علاقوں میں بہترین بیچنے والوں کو مرکوز کر سکتے ہیں کیونکہ ان کی کمیشن زیادہ ہوتی ہے۔
ہم اس مضمون کے باقی حصوں میں زیادہ تر نگرانی سیکھنے کے بارے میں بات کرتے ہیں ، لیکن اس کی وجہ یہ نہیں ہے کہ غیر نگرانی سیکھنے کی افادیت کم ہے یا اس میں کوئی دلچسپی نہیں ہے۔ در حقیقت ، جب الگورتھم بہتر ہوتے ہیں تو ، اعداد و شمار کو صحیح جواب سے منسلک کرنے کی ضرورت نہیں ہوتی ہے ، لہذا غیر نگرانی سیکھنے کی اہمیت بڑھ رہی ہے۔
اس کے علاوہ، یہ بھی بہت سے دوسرے قسم کے مشین سیکھنے کے الگورتھم ہیں.
یہ بہت اچھا ہے، لیکن کیا آپ کو لگتا ہے کہ قیمتوں کا جائزہ لینے کے بارے میں سیکھنے کے بارے میں سیکھنے کے بارے میں سیکھنے کے بارے میں سیکھنا ہے؟
ایک انسان کی حیثیت سے ، آپ کا دماغ زیادہ تر حالات سے نمٹنے کے قابل ہے ، اور یہ سیکھنے کے قابل ہے کہ ان حالات کو کس طرح سنبھالنا ہے۔ اگر آپ رئیل اسٹیٹ ایجنٹ کی حیثیت سے طویل عرصے تک کام کرتے ہیں تو ، آپ کو پراپرٹی کی مناسب قیمتوں کا تعین کرنے ، اس کی بہترین مارکیٹنگ کرنے ، اور کس طرح کے گاہکوں کو دلچسپی ہوگی ، وغیرہ کے بارے میں ایک فطری گہرائی کا احساس ہوگا۔ مضبوط اے آئی کی تحقیق کا مقصد یہ ہے کہ اس صلاحیت کو کمپیوٹرز کے ذریعہ نقل کیا جاسکے۔
لیکن موجودہ مشین لرننگ الگورتھم اتنے اچھے نہیں ہیں کہ وہ صرف بہت ہی مخصوص اور محدود مسائل پر توجہ مرکوز کرسکیں۔ شاید اس معاملے میں ، سیکھنے والی مکھیوں کی ایک بہتر تعریف یہ ہے کہ وہ مثال کے اعداد و شمار کی ایک چھوٹی سی مقدار کی بنیاد پر کسی خاص مسئلے کو حل کرنے کے لئے مساوات تلاش کریں۔
بدقسمتی سے، سلیکون مشینیں مثال کے اعداد و شمار کی ایک چھوٹی سی رقم کی بنیاد پر ایک مساوات کو حل کرنے کے لئے ایک خاص مسئلہ کو حل کرنے کے لئے نام سے زیادہ برا ہے.
اگر آپ اس مضمون کو پچاس سال بعد پڑھ رہے ہیں، تو یقیناً اس وقت ہم نے مضبوط مصنوعی ذہانت کے الگورتھم تیار کر لیے ہوں گے، اور یہ مضمون ایک قدیم چیز کی طرح نظر آئے گا۔ مستقبل کے انسان، آپ اب بھی یہ مضمون نہ پڑھیں، اپنے مشین نوکر کو آپ کے لیے سینڈویچ بنانے دیں۔
آئیے کوڈ لکھیں!
اگر آپ نے پہلے مثال میں گھر کی قیمتوں کا جائزہ لینے کا طریقہ استعمال کیا ہے تو آپ اسے کیسے لکھیں گے؟ نیچے جانے سے پہلے سوچئے۔
اگر آپ مشین لرننگ کے بارے میں کچھ نہیں جانتے ہیں تو ، آپ کو گھر کی قیمتوں کا اندازہ لگانے کے لئے کچھ بنیادی اصول لکھنے کی کوشش کرنے کا امکان ہے۔
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = 0
# In my area, the average house costs $200 per sqft
price_per_sqft = 200
if neighborhood == "hipsterton":
# but some areas cost a bit more
price_per_sqft = 400
elif neighborhood == "skid row":
# and some areas cost less
price_per_sqft = 100
# start with a base price estimate based on how big the place is
price = price_per_sqft * sqft
# now adjust our estimate based on the number of bedrooms
if num_of_bedrooms == 0:
# Studio apartments are cheap
price = price — 20000
else:
# places with more bedrooms are usually
# more valuable
price = price + (num_of_bedrooms * 1000)
return price
اگر آپ کچھ گھنٹوں کے لئے اس طرح کے کام میں مصروف رہتے ہیں تو ، آپ کو تھوڑا سا فائدہ ہوسکتا ہے ، لیکن آپ کا پروگرام کبھی بھی کامل نہیں ہوگا ، اور جب قیمتیں بدلتی ہیں تو اس کی دیکھ بھال کرنا مشکل ہے۔
کیا یہ بہتر نہیں ہو گا اگر کمپیوٹرز کو اس فنکشن کو انجام دینے کا کوئی طریقہ مل جائے؟ جب تک گھر کی قیمت کا صحیح نمبر واپس آتا ہے ، اس سے کوئی فرق نہیں پڑتا ہے کہ فنکشن کیا کرتا ہے۔
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = <computer, plz do some math for me>
return price
اس مسئلے پر غور کرنے کا ایک طریقہ یہ ہے کہ گھر کی قیمت کو ایک خوشگوار چائے کا پیالہ سمجھا جائے۔ چائے میں شامل اجزاء میں بیڈ رومز کی تعداد، رقبہ اور زمین کا ٹکڑا شامل ہے۔ اگر آپ حساب لگاسکتے ہیں کہ ہر اجزاء کا حتمی قیمت پر کتنا اثر پڑتا ہے، تو شاید آپ کو مختلف اجزاء مل کر حتمی قیمت کا ایک خاص تناسب مل جائے گا۔
اس طرح آپ کے ابتدائی پروگرام (یہ سب پاگل اگر دوسری صورت میں بیانات ہیں) کو اس طرح کے طور پر کم کیا جا سکتا ہے:
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = 0
# a little pinch of this
price += num_of_bedrooms * .841231951398213
# and a big pinch of that
price += sqft * 1231.1231231
# maybe a handful of this
price += neighborhood * 2.3242341421
# and finally, just a little extra salt for good measure
price += 201.23432095
return price
براہ کرم ان جادوئی نمبروں پر توجہ دیں جو بڑے پیمانے پر نشان زد ہیں۔ 841231951398213، 1231.1231231, 2.3242341421، اور 201.23432095۔ انہیں وزن کہا جاتا ہے۔ اگر ہم ہر گھر پر لاگو ہونے والا کامل وزن ڈھونڈ سکتے ہیں تو ہمارا فنکشن تمام مکانات کی قیمتوں کی پیش گوئی کرسکتا ہے!
بہترین وزن کا پتہ لگانے کے لئے ایک آسان طریقہ یہ ہے:
پہلا قدم:
سب سے پہلے، ہر ایک کے لئے ایک وزن مقرر کریں:
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = 0
# a little pinch of this
price += num_of_bedrooms * 1.0
# and a big pinch of that
price += sqft * 1.0
# maybe a handful of this
price += neighborhood * 1.0
# and finally, just a little extra salt for good measure
price += 1.0
return price
دوسرا مرحلہ:
آپ کے فنکشنل آپریشن میں ہر جائیداد کو لے لو، اور چیک کریں کہ تخمینہ قیمت صحیح قیمت سے کتنی دور ہے:

آپ کے پروگرام کا استعمال کرتے ہوئے گھر کی قیمتوں کی پیش گوئی کریں۔
مثال کے طور پر: پہلی جائیداد کی اصل فروخت کی قیمت \( 250,000 ہے، آپ کے فنکشن کا تخمینہ \) 178,000 ہے، آپ کو اس جائیداد کے لئے $ 72,000 کی کمی ہے.
اس کے بعد آپ کے ڈیٹا سیٹ میں ہر جائیداد کی قیمتوں کا تخمینہ اس کے مربع سے نکال دیں۔ فرض کریں کہ آپ کے ڈیٹا سیٹ میں 500 جائیدادوں کے سودے ہیں، اور اس کی قیمتوں کا تخمینہ اس کے مربع سے نکال کر $86،123،373 تک پہنچ گیا ہے۔ یہ آپ کے فنکشن کی درستگی کو ظاہر کرتا ہے۔
اب، 500 کی طرف سے مجموعی طور پر تقسیم کریں، اور آپ کو ہر جائیداد کی اوسط سے انحراف کی تشخیص ملے گی۔ اس اوسط غلطی کو آپ کے فنکشن کی قیمت کہتے ہیں۔
اگر آپ وزن کو تبدیل کر سکتے ہیں اور اس قیمت کو 0 پر لے جاتے ہیں، تو آپ کا فنکشن کامل ہے. اس کا مطلب یہ ہے کہ آپ کا پروگرام ہر جائیداد کے لین دین کا اندازہ لگانے کے لئے ان پٹ کے اعداد و شمار پر مبنی ہے.
تیسرا قدم:
مرحلہ 2 کو بار بار دہرائیں ، تمام ممکنہ وزن والے جوڑوں کو آزمائیں۔ آپ کو کون سا جوڑا استعمال کرنا چاہئے جس کی قیمت 0 کے قریب ہے ، اور جب آپ اس کا پتہ لگاتے ہیں تو آپ کا مسئلہ حل ہوجاتا ہے!
سوچ وقت کو بگاڑتی ہے
یہ بہت آسان ہے، ہے نا؟ سوچیں کہ آپ نے ابھی کیا کیا؟ آپ نے کچھ اعداد و شمار حاصل کیے ہیں، ان کو تین عام آسان اقدامات میں داخل کیا ہے، اور آخر میں آپ کو ایک ایسا فنکشن مل گیا ہے جو آپ کے علاقے میں مکانات کی قیمتوں کا تعین کرسکتا ہے۔ لیکن مندرجہ ذیل حقائق آپ کے ذہن کو پریشان کر سکتے ہیں:
پچھلے چالیس سالوں میں ، بہت سے شعبوں (جیسے لسانیات / ترجمے) میں ہونے والی تحقیق سے پتہ چلتا ہے کہ اس طرح کے عمومی متحرک اعداد و شمار کے انگوٹھے (میں نے جو الفاظ بنائے ہیں) سیکھنے کے الگورتھم ایسے طریقوں کو شکست دے چکے ہیں جن میں حقیقی لوگوں کے واضح قواعد استعمال کرنے کی ضرورت ہوتی ہے۔
2۔ آپ نے جو فنکشن لکھا ہے وہ بہت ہی عجیب ہے، اسے یہ بھی نہیں معلوم تھا کہ فلوٹ کا رقبہ کیا ہے اور فلوٹ کے بیڈروم کی تعداد کیا ہے۔ اسے صرف یہ معلوم تھا کہ صحیح جواب حاصل کرنے کے لیے اعداد کو گھما کر تبدیل کیا جائے۔
3۔ یہ ممکن ہے کہ آپ کو یہ معلوم نہ ہو کہ وزن کی ایک مخصوص سیٹ کیوں کام کرتی ہے۔ اس لیے آپ نے ایک ایسا فنکشن لکھا ہے جسے آپ سمجھ نہیں سکتے لیکن اسے ثابت کر سکتے ہیں۔
تصور کریں کہ آپ کے پروگرام میں اس طرح کے پیرامیٹرز نہیں ہیں جیسے ایلومینیم ایریا پین اور ایلومینیم بیڈروم پین ، لیکن اعداد و شمار کا ایک مجموعہ قبول کریں۔ فرض کریں کہ ہر نمبر آپ کے چھت پر نصب کیمرے کی طرف سے پکڑے گئے اسکرین میں سے ایک پکسل کی نمائندگی کرتا ہے۔ پھر پیش گوئی کی پیداوار کو ایلومینیم قیمت پین نہیں بلکہ ایلومینیم اسٹیئر ڈرائیو موڑ کی پیمائش پین کہا جاتا ہے ، اور اس طرح آپ کو ایک ایسا پروگرام مل جاتا ہے جو آپ کی گاڑی کو خود بخود کنٹرول کرسکتا ہے!
یہ پاگل ہے، ہے نا؟
مرحلہ 3 میں ہر ہندسے کی کوشش کرنے کے بعد کیا ہوتا ہے؟
ٹھیک ہے، یقیناً آپ ہر ممکن وزن کی کوشش نہیں کر سکتے ہیں تاکہ آپ کو بہترین مجموعہ مل جائے۔ اس میں بہت وقت لگے گا، کیونکہ کوشش کرنے کی تعداد شاید لامتناہی ہو۔ اس صورت حال سے بچنے کے لیے، ریاضی دانوں نے بہت سارے ہوشیار طریقے ڈھونڈ لیے ہیں تاکہ وزن کی بہترین قدر کو جلدی سے تلاش کیا جا سکے، بغیر کسی کوشش کے۔ ذیل میں ان میں سے ایک ہے: سب سے پہلے ، ایک سادہ مساوات لکھیں جو مندرجہ بالا دو مراحل کی نمائندگی کرتی ہے:
یہ آپ کی لاگت کا فنکشن ہے۔

اس کے بعد ، آئیے ہم مشین لرننگ کے ساتھ ایک ہی ریاضی کی اصطلاح کو دوبارہ لکھیں (اب آپ ان کو نظرانداز کرسکتے ہیں):
θ موجودہ وزن کی قیمت کو ظاہر کرتا ہے۔ J ((θ) کا مطلب ہے کہ فی تولہ موجودہ وزن کی قیمت کے برابر ہے۔

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

قیمت فنکشن کی گرافک تصویر ایک پیالہ ∙ عمودی محور قیمت ظاہر کرتی ہے ∙
اگر ہم وزن کی ایک سیٹ تلاش کریں جو ہمیں گراف میں سب سے کم نقطہ پر لے جائے تو ہمیں جواب مل جائے گا!

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

آپ صرف حقیقی رشتوں کا تصور کر سکتے ہیں.
میرے خیال میں اس وقت مشین لرننگ کے ساتھ سب سے بڑا مسئلہ یہ ہے کہ یہ زیادہ تر اکیڈمی اور کاروباری ریسرچ تنظیموں میں سرگرم ہے۔ اس کے علاوہ ، ان لوگوں کے لئے جو ماہر بننے کے بجائے عام طور پر جاننا چاہتے ہیں ، بہت کم آسان اور آسان معلومات ہیں۔ لیکن یہ ہر دن بہتر ہوتا جارہا ہے۔
پروفیسر اینڈریو اینگ: کورسرا پر مشین لرننگ کا مفت کورس بہت اچھا ہے۔ میں اس کورس کو شروع کرنے کی بہت سفارش کرتا ہوں۔
اس کے علاوہ، آپ SciKit-Learn کو ڈاؤن لوڈ اور انسٹال کر سکتے ہیں اور ہزاروں مشین سیکھنے کے الگورتھم کو آزما سکتے ہیں۔ یہ ایک پطرون فریم ورک ہے جس میں تمام معیاری الگورتھم کے لئے بلیک باکس ورژن موجود ہیں۔
پیتھون ڈویلپرز کی طرف سے نقل کیا گیا