این پنجمین و آخرین بخش از خلاصهی مجموعهی «دورهی مقدماتی data science» هستش.
بخش سوم - تصویرسازی از دادهها و تحلیل آنها
منظور از یادگیری ماشین چیست؟
ما با استفاده از تعدادی دادهی در دسترس به یه مدل کامپیوتری یاد میدیم که چطور بتونه با دریافت دادههای ورودی جدید، خروجی مناسب رو پیشبینی کنه. در واقع مدل از موردهای آموزشی ارائه شده بهش یاد میگیره و بعد از اون ما میتونیم از مدلِ آموزش دیده برای پیشبینی دادههای جدید استفاده کنیم.
برای موفقیت در درک این موضوع، نکتهی کلیدی توجه به این مساله است که اگه کامپیوترها فقط در یه کار قوی باشن، اون کار اجرای محاسباته. به همین دلیل هستش که کامپیوترهای اولیه به عنوان «موتور محاسبه» شناخته میشدن. برای اینکه یه کامپیوتر دارای هوش پیشبینی از روی دادههای موجود باشه، ما نیاز به راهی داریم که روش درست محاسبه رو به اون کامپیوتر یاد بدیم.
در حالت خیلی کلی، یادگیری ماشین به دو دستهی «با نظارت» و «بدون نظارت» تقسیم میشه. در یادگیری با نظارت ما به منظور آموزش، تعدادی جفت ورودی-خروجیِ داده به سیستم ارائه میدیم تا با استفاده از اونها یاد بگیره که برای ورودی جدید، چه خروجی باید تولید کنه. اما در یادگیری بدون نظارت، دادههای ورودی به سیستم به خروجی مشخصی متناظر یا اصطلاحا برچسبگذاری نشدن و اصولا هدف هم در اینجا اینه که سیستم بتونه الگوهای پنهان رو در دادههای ورودی تشخیص بده و اونها رو به صورت درستی دستهبندی کنه.
فرض میکنیم میخوایم از دادههایی که در مورد دمای هوا، میزان بارندگی و تعداد آگهیهای پخش شده در روزهای مختلف داریم استفاده کنیم و با استفاده از تعداد فروش لیموناد در اون روزها و یادگیری ماشین، تعداد فروش رو در یه روز خاص پیشبینی کنیم.
همونطور که در تصویر بالا میبینیم، مجموعه دادهی [27.0,0.2,17] به عدد 12 برچسبگذاری شده. مشخصه که فقط با استفاده از دادهی یک روز نمیشه فرایند تعمیم دادن رو بخوبی انجام داد. بنابراین از دادههای تعداد روزهای بیشتری برای آموزش دادنِ مدل استفاده میکنیم.
بعد از اینکه به مدل آموزش دادیم، میتونیم یه تابع تعمیم داشته باشیم و از اون برای محاسبهی برچسب (Y) بر اساس دادههای ورودی ([X1, X2, X3]) استفاده کنیم.
نوع دیگهای از یادگیری با نظارت، «طبقهبندی» نامیده میشه. سادهترین نوع طبقهبندی از نوع «دوتایی» یا باینری هستش که در اون، مدل باید پیشبینی کنه که یه ورودی به کدوم طبقه تعلق خواهد داشت. معمولا یکی از طبقهها به عنوان صحیح (true) و دیگری به عنوان غلط (false) در نظر گرفته میشه. به عنوان مثال در دادههای مربوط به فروش لیموناد، ما ثبت کردهایم که در کدام روزها سود کردهایم و در کدام روزها سود نکردهایم و اطلاعات مربوط به دمای هوا، میزان بارندگی و تعداد آگهیها رو هم در اختیار داریم.
همونطور که در تصویر بالا مشخصه، در این نوع یادگیری هم با ارائهی دادههای موجود به مدل و آموزش مدل، به یه تابع تعمیم میرسیم که خروجی اون 0 یا 1 و در واقع غلط یا درست خواهد بود.
نکتهای که در اینجا میتونیم بهش اشاره کنیم اینه که خروجی این تابع میتونه حتی مقداری بین صفر و یک باشه و ما یه مقدار آستانه، مثلا 0.5 یا 0.25 داشته باشیم که فقط مقدار بیشتر از این مقدار آستانه به عنوان درست در نظر گرفته بشه و بنا به نیازهای مختلف، این مقدار تغییر کنه.