یکی از مهمترین پارمترهای کلیدی برای تبدیل شدن به یک دانشمند بزرگ داده | data scientist ، تمرین با انواع مختلف مجموعه داده | دیتاست می باشد. اما به راحتی نمی توان یک مجموعه داده مناسب برای یک پروژه و نوع الگوریتم انتخابی یادگیری ماشین | ML انتخاب کرد، بنابراین در ادامه این مبحث، به شما آموزش خواهیم داد که از طریق چه منابعی می توانید به راحتی مجموعه داده هایی را مطابق با پروژه خود تهیه کنید.
درآموزش دیتابیس و دوره آموزشی جامع علم داده (یادگیری ماشین، داده کاوی) را به شکل کاملاً عملی و با زبانی ساده به شما آموزش می دهد .قبل از ذکر منابع مجموعه دادههای یادگیری ماشین، ابتدا مفهموم مجموعه داده را مورد بحث قرار می دهیم.
مجموعه داده | دیتاست، در واقع مجموعه ای از داده ها است که در آن داده ها به ترتیبی مرتب شده اند. یک مجموعه داده می تواند یک آرایه یا یک جدول از پایگاه داده باشد. جدول زیر نمونه ای از یک مجموعه داده را نشان می دهد که شامل 6 سطر و چهار ستون یا ویژگی کشور، سن، حقوق و خرید می باشد.
کشور | سن | حقوق | خرید کرده است ؟ |
هند | 25 | 12000 | بله |
چین | 27 | 10000 | بله |
ایران | 28 | 500 | خیر |
آمریکا | 24 | 25000 | بله |
آلمان | 26 | 18000 | خیر |
یک مجموعه داده را می توان به عنوان یک جدول یا ماتریس پایگاه داده درک کرد که در آن هر ستون در واقع یک متغیر یا ویژگی نامید. بیشترین نوع فایل پشتیبانی شده برای مجموعه داده های جدولی "فایل جدا شده با کاما" یا CSV است.
توجه: یک مجموعه داده دنیای واقعی دارای اندازه بزرگی است که مدیریت و پردازش آن در سطح اولیه دشوار است. بنابراین، برای تمرین الگوریتمهای یادگیری ماشین، میتوانیم از هر مجموعه داده ساختگی استفاده کنیم.
برای کار با پروژه های یادگیری ماشین | machine learning، به حجم عظیمی از داده نیاز داریم، زیرا بدون داده، نمی توان مدل های ML/AI را آموزش داد. جمع آوری و آماده سازی مجموعه داده | دیتاست یکی از مهم ترین بخش ها در هنگام ایجاد یک پروژه ML/AI است. اگر مجموعه داده به خوبی آماده و از قبل پردازش نشده باشد، فناوری به کار رفته در پشت هر پروژه ML نمی تواند به درستی کار کند و دقت خروجی کمتری خواهد داشت. در طول توسعه پروژه ML، توسعه دهندگان کاملاً به مجموعه داده ها متکی هستند. در ساخت برنامه های ML، مجموعه داده ها به دو بخش تقسیم می شوند:
توجه: مجموعه داده ها حجم بالایی دارند، بنابراین برای دانلود این مجموعه داده ها باید اینترنت پرسرعتی در رایانه خود داشته باشید.
در ادامه منابعی معرفی می شود که مجموعه داده های آن به صورت رایگان برای عموم در دسترس می باشد.
Kaggle یکی از بهترین منابع یا مخازن تهیه مجموعه داده برای دانشمندان داده و کاربردهای یادگیری ماشین می باشد. شما در این سایت به آسانی می توانید منابع مورد نظر را جست و جو، دانلود و حتی منتشر کنید. همچنین در این وب سایت شما می توانید با سایر دانشمندان داده در تحلیل و پیش بینی داده ها رقابت کنید.
مخزن یادگیری ماشین UCI یکی از منابع عالی مجموعه داده های یادگیری ماشین برای کاربردهای مختلف ( دسته بندی، رگرسیون، خوشه بندی و ... ) است که از سال 1987، به طور گسترده توسط دانشجویان، اساتید، محققان به عنوان منبع اصلی مجموعه داده های یادگیری ماشین استفاده شده است. از جمله مجموعههای داده محبوب آن عبارتند از مجموعه دادههای Iris، مجموعه داده ارزیابی خودرو، مجموعه دادههای دستی پوکر که برای آموزش الگوریتم های مختلف یادگیری ماشین از آن استفاده می شود.
یکی دیگر از منابعی که با استفاده از آن می توانیم مجموعه داده های سفارشی خود را جست و جو، دانلود و منتشر کنیم عبارتند از سایت AWS. هر کسی میتواند با استفاده از مجموع دادههای به اشتراک گذاشته شده از طریق منابع AWS، الگوریتم های مختلف یادگیری ماشین را بر روی مجموعه داده های مختلف پیاده سازی کند.
موتور جستجوی مجموعه داده های گوگل توسط گوگل در 5 سپتامبر 2018 راه اندازی شد. این منبع به محققان این امکان را می دهد تا مجموعه داده های آنلاین را که به صورت رایگان برای استفاده در دسترس هستند رابه منظور کاربردهای مختلف یادگیری ماشین دانلود کنند.
Scikit-learn یک کتابخانه یادگیری ماشین برای زبان برنامه نویسی پایتون می باشد که علاوه بر ارائه الگوریتم های مختلف یادگیر ماشین و پردازش امکان دسترسی به یکسری مجموعه داده را برای دانشمندان داده ممکن می سازد.
یادگیری ماشین با نظارت | Supervised Machine Learning نوعی یادگیری است که در آن ماشین یا مدل با استفاده از داده های آموزشی (دارای برچسب صحیح) آموزش داده می شود تا بتواند برای داده های تستی یا جدید، فرایند تشخیص برچسب (تشخیص خروجی یا پیش بینی خروجی) را انجام دهند. منظور از داده های دارای برچسب این است که برخی از داده های ورودی قبلاً با خروجی صحیح برچسب گذاری شده اند.
داده های آموزشی (دارای برچسب صحیح) در یادگیری ماشین با نظارت | Supervised Machine Learning برای آموزش یک مدل یا ماشین استفاده می شود تا بعدها آن مدل بتواند با توجه به آموزش فرا گرفته شده در امتحانات نمره خوبی کسب کند. منظور از امتحانات، همان پیش بینی برچسب صحیح برای داده های ورودی جدید می باشد. شما می تواند این پاراگراف را از طریق مثال یک دانش آموز و معلم بهتر درک کنید. به عنوان مثال در مدرسه، معلم سوالات و پاسخ های صحیح را به دانش آموز آموزش می دهد و در پایان ترم از دانش اموز امتحان می گیرد، اگر دانش آموز بتواند برای سوالات، پاسخ های درستی بنویسید نمره خوبی کسب می کند در غیر این صورت ممکن از رفوزه شود.
هدف یک الگوریتم یادگیری با نظارت، یافتن یک تابع نگاشت برای ترسیم متغیر ورودی (x) با متغیر خروجی (y) است یا نگاشت یک سوال به یک پاسخ صحیح می باشد.
در دنیای واقعی، از یادگیری با نظارت می توان برای ارزیابی ریسک، طبقه بندی تصویر، تشخیص تقلب، فیلتر هرزنامه و غیره نیز استفاده کرد.
در یادگیری نظارت شده | Supervised Machine Learning، مدلها با استفاده از مجموعه دادههای برچسبگذاری شده آموزش داده میشوند، پس از تکمیل فرآیند آموزش، مدل بر اساس داده های آزمون دارای برچسب واقعی (زیرمجموعه ای از مجموعه داده) آزمایش می شود تا برای آن ها خروجی صحیح را پیش بینی کند. اگر خروجی بدست امده شده مانند خروجی واقعی داده های آزمون باشد می توانیم بگیم مدل ما از دقت خوبی برخوردار است و می تواند در کسب و کار به منظور افزایش سود دهی از آن استفاده کرد در غیر اینصورت باید به فکر چاره در فرآیند کار بود.
عملکرد یادگیری با نظارت را می توان به راحتی با مثال و نمودار زیر درک کرد:
فرض کنید مجموعه داده ای از انواع مختلف اشکال داریم که شامل مربع، مستطیل، مثلث و چند ضلعی است. اکنون اولین قدم این است که باید مدل را برای هر شکل آموزش دهیم.
حالا بعد از گام آموزش، مدل خود را با استفاده از مجموعه تست ( آزمایش )، تست (ارزیابی) می کنیم تا ببینیم برای شکل های تستی به درستی فرایند تشخیص نوع شکل را با توجه به تعداد اضلاع آن، انجام می دهد یا خیر.
مراحل مربوط به یادگیری با نظارت:
درآموزش دیتابیس و دوره آموزشی جامع علم داده م (یادگیری ماشین، داده کاوی) را به شکل کاملاً عملی و با زبانی ساده به شما آموزش می دهد.
الگوریتم های یادگیری با نظارت را می توان به دو نوع تقسیم کرد:
اگر رابطه ای (مثل رابطه افزایشی یا کاهشی) بین متغیر ورودی (ویژگی ها) و متغیر خروجی (برچسب) وجود داشته باشد از الگوریتم های رگرسیون استفاده می شود. از این نوع الگوریتم ها برای پیشبینی متغیرهای پیوسته، مانند پیشبینی آبوهوا، روند بازار، و غیره استفاده میشود. در ادامه انواع الگوریتم های رگرسیون ذکر شده است.
از الگوریتمهای دسته بندی زمانی استفاده میشوند که متغیر خروجی از نوع طبقه بندی ( Categorical ) باشد یا بتوان آن را به این نوع تبدیل کرد، به این معنی که متغیر خروجی از نوع دو کلاسه مانند بله-نه، مذکر-مونث، درست-کاذب و غیره وجود باشد. در ادامه انواع الگوریتم های دسته بندی لیست شده اند.
در مقاله یادگیری ماشین بانظارت، یاد گرفتیم که چگونه می توان مدل ها را با استفاده از مجموعه داده آموزشی برچسب دار، آموزش داد و بعد از آزمون قبولی، از آن ها برای سوددهی در هر کسب و کاری استفاده کرد. اما ممکن است در خیلی از پروژه ها یا صنایع امکان دسترسی به یک مجموعه داده برچسب دار نباشد یا به گونه ای تهیه یک مجموعه داده برچسب دار خیلی دشوار باشد، لذا نمی توان مدل ها را با استفاده از این نوع داده ها به خوبی آموزش داد، اما می توان یکسری الگو و رابطه از دل این مجموعه داده استخراج کرد. در این شرایط می توان از الگوریتم های یادگیری بدون نظارت به منظور خوشه بندی و استخراج رابطه بین داده ها نیز استفاده کرد. در ادامه بیشتر در مورد الگوریتم یادگیری بدون نظارت | Unsupervised Machine Learning آشنا خواهیم شد.
یادگیری ماشین بدون نظارت (Unsupervised Learning) روشی در هوش مصنوعی است که در آن مدل بدون داشتن برچسبهای مشخص روی دادهها، به الگوها و ساختارهای پنهان در دادهها پی میبرد. از مهمترین الگوریتمهای این روش میتوان به خوشهبندی (Clustering) مانند K-Means و تحلیل مؤلفههای اصلی (PCA) برای کاهش ابعاد داده اشاره کرد. در آموزش دیتابیس، این روش برای تحلیل دادههای بزرگ، کشف الگوهای پنهان در پایگاههای داده و دستهبندی اطلاعات کاربرد دارد. یادگیری ماشین بدون نظارت در زمینههایی مانند سیستمهای پیشنهاددهنده، شناسایی ناهنجاریها و تحلیل دادههای مشتریان استفاده میشود. این مدلها به شرکتها کمک میکنند تا بدون نیاز به دادههای برچسبگذاریشده، از اطلاعات خام بینش ارزشمندی استخراج کنند.
همانطور که از نام این نوع یادگیری پیداست، یادگیری بدون نظارت | Unsupervised Machine Learning یک تکنیک یادگیری ماشین است که در آن مدلها با استفاده از مجموعه دادههای آموزشی نظارت نمیشوند (یعنی از مجموعه داده دارای برچسب آموزش نمی بینند). در عوض، مدلها می توانند یکسری الگوها و بینشهای پنهان را از دل مجموعه داده ها پیدا کنند.
می توان یادگیری بدون نظارت را اینگونه نیز تعریف کرد:
یادگیری بدون نظارت نوعی از یادگیری ماشینی است که در آن مدلها با استفاده از مجموعه دادههای بدون برچسب آموزش داده میشوند و اجازه دارند بدون هیچ نظارتی بر روی آن دادهها عمل کنند.
در دوره آموزشی جامع علم داده تمام A-Z علم داده (یادگیری ماشین، داده کاوی) را به شکل کاملاً عملی و با زبانی ساده به شما آموزش می دهد
یادگیری بدون نظارت | Unsupervised Machine Learning را نمی توان مستقیماً برای حل یک مسئله رگرسیون یا دسته بندی نیز استفاده کرد زیرا برای حل این نوع مسائل ما نیاز به مجموعه داده ای داریم که دارای ویژگی برچسب باشد، لذا برای حل این نوع مسائل باید از الگوریتم های یادگیری بانظارت استفاده کرد. هدف از یادگیری بدون نظارت، یافتن ساختار زیربنایی مجموعه داده، گروه بندی آن داده ها بر اساس شباهت ها و نمایش آن مجموعه داده در یک قالب فشرده است .
مثال: فرض کنید یک مجموعه داده ورودی حاوی هزاران تصویر انواع مختلف گربه و سگ بدون هیچ نوع برچسبی داریم (تصویر زیر) که آن را به یک الگوریتم یادگیری بدون نظارت سپرده ایم. الگوریتم نمی تواند بر روی این مجموعه داده آموزش داده شود اما می تواند با توجه به الگوهای شباهتی که بین تصاویر مختلف گربه و سگ وجود دارد (مانند رنگ چشم، رنگ مو، اندازه و ...)، آن ها را به 2 خوشه گربه و سگ تقسیم نماید.
مهمترین عواملی که استفاده از الگوریتم یادگیری بدون نظارت را در صنایع مهم دانسته است عبارتند از:
نحوه کار الگوریتم های یادگیری بدون نظارت را می توان با تصویر زیر درک کرد:
در تصویر فوق و در مرحله اول ما یک مجموعه داده ورودی (تصاویر تصادفی حیوانات) بدون برچسب داریم، به این معنی که بخشی از داده ها از قبل دسته بندی نشده است و دارای برچسب نمی باشند. لذا در مرحله بعد با استفاده از یکی از الگوریتم های یادگیری ماشین بدون نظارت مانند k-means رابطه ها و الگوهای پنهان از دل تصاویر استخراج شده و خوشه بندی داده ها نیز انجام می پذیرد.
الگوریتم های یادگیری بدون نظارت | Unsupervised Machine Learning را می توان به دو دسته تقسیم کرد:
برخی از الگوریتم های یادگیری بدون نظارت | Unsupervised Machine Learning نیز در زیر لیست شده است: