به دادههایی گفته میشود که با موضوع، خواص مشص و یکسان جهت انجام تحقیقات و پروژههای مربوط به Data Science (علم داده) جهت کسب دانش از دادهها استفاده میشود.
گاهی مجموعه دادهها به این شکل به وجود میآیند که پژوهشگران در یک حوزهای از پژوهش شروع به جمع آوری داده میکنند تا در آن حوزه پژوهشگران دیگر به راحتی بتوانند کار آنها را گسترش دهند.
همچنین باید این دیتاستها را در اختیار عموم قرار دهند.پر کاربردترین استفاده از مجموعه داده برای تکنیکهای یادگیری ماشین است.داده کاوی علم شناسایی الگو است. همان طور که از جمله مشخص است شناسایی الگوی داده ها. در این شرایط داده ها قلب داده کاوی را تشکیل میدهند. بدون وجود داده ها نمیتوان اقدامی در جهت کشف دانش انجام داد. داده ها در دنیای علم به دیتاست یا مجموعه داده مشهورند. یک مجموعه داده از چندین رکورد با مشخصات مختلف تشکیل شده است که دارای مقادیر میباشد.
دادهکاوی» (Data Mining) این مساله را با فراهم کردن روشها و نرمافزارهایی برای خودکارسازی تحلیلها و اکتشاف مجموعه دادههای بزرگ و پیچیده حل میکند. پژوهشها در زمینه دادهکاوی در گستره وسیعی از موضوعات شامل آمار، علوم کامپیوتر، «یادگیری ماشین» (Machine Learning)، «مدیریت پایگاه داده» (Database Management) و «بصری سازی دادهها» (Data Visualization) دنبال میشود. روشهای دادهکاوی و یادگیری، در زمینههایی غیر از آمار نیز توسعه داده شدهاند، که از جمله آنها میتوان به یادگیری ماشین و «پردازش سیگنال» (signal processing) اشاره کرد.
ایجاد دیتاست چیست؟
ایجاد دیتاست در دادههای جدولی شاید ساده باشد ولی در مورد برخی دادهها بهطور نمونه دادههای تصاویر صورت اشخاص خیلی با سادگی قابل انجام نیست.
البته این نکته فراموش نشود که اصولاً از دیتاست ها برای مواقعی استفاده میشود که ما در حال یادگیری هستیم، درحالیکه در پروژهها و کارهای حرفهای باید سازمانها به ارائه دیتا واقعی اقدام کنند.
از جمله دادههای علمی میتوان به پروژه «ژنوم انسان» (Human Genome) اشاره کرد که چندین گیگابایت داده را از کد ژنتیکی انسان تجمیع کرده است. «وب جهان گستر» (World Wide Web) مثال دیگری از منابع داده است که میلیاردها صفحه وب شامل اطلاعات متنی و چند رسانهای را دربرمیگیرد. این صفحات توسط میلیون ها نفر بازدید میشوند. در چنین شرایطی، تحلیل بدنه بزرگ دادهها به شکل قابل درک و کاربردی، یک مساله چالش برانگیز است.
چگونگی انتخاب دیتاست مناسب
با توجه به مسائل کاربردی مرتبط با منابع داده، پایگاه دادههای موضوعی ایجاد شدهاند. بدین ترتیب، نیاز به تمرکز کردن روی انواع داده پیچیدهتر وجود دارد. انواع گوناگونی از دادهها در گستره متنوعی از مخازن ذخیرهسازی میشوند. سخت است که بشر انتظار داشته باشد یک سیستم دادهکاوی نتایج کاوش خوبی را برای همه دادهها و منابع داده کسب کند.
فرض کنید کاری که میخواهید انجام دهید در مورد ردهبندی (Classification) است. درنتیجه شما باید به دنبال دیتایی باشید که لیبل یا برچسب دادههای آن مشخص باشد. یا در مثال دیگر، فرض کنید شما به دنبال ایجاد یا ارتقاء روشی برای کاهش بُعد دیتا هستید در این صورت نیز شما باید دیتایی را انتخاب کنید که دارای بُعد زیاد باشد.پس میتوان نتیجه گرفت برای هر تسک باید به دنبال دیتاست مناسب آن باشیم. دستهبندیهای مختلفی در دیتاستها وجود دارد بهطور خلاصه میتوان دیتاست ها را به موارد زیر تقسیمبندی کنیم:
- دادههای متنی (متن کتاب، نظرات شبکههای اجتماعی، توییت ها و …)
- دادههای جدولی (دادههای خوشهبندی، طبقهبندی، سری زمانی و …)
- دادههای مولتی مدیا (عکس، ویدیو و صوت)(عکسهای هوایی، دوربینهای مداربسته و …)
از نظر نوع رسانهای که دیتاست بر روی آن ارائه میگردد نیز میتوان چهار دستهبندی زیر را معرفی کرد:
- دیتاستهایی که بر روی فایل هستند
- دیتاستهایی که بر روی چند فایل هستند
- دیتاستهایی که بر روی پایگاه داده هستند
- دیتاستهایی که بر روی وب هستند
اگر دیتاست مناسب پیدا نکردیم چکار کنیم؟
با اینکه دیتاست های خیلی زیادی به صورت عمومی عرضه میشوند ولی بازهم امکان دارد در مورد یک موضوع خاص دیتاست مناسبی پیدا نشود. در این صورت معمولاً از روش ایجاد دیتاست استفاده میشود.
ایجاد دیتاست در دادههای جدولی شاید ساده باشد ولی در مورد برخی دادهها بهطور نمونه دادههای تصاویر صورت اشخاص خیلی با سادگی قابل انجام نیست. البته این نکته نیز فراموش نشود که اصولاً از دیتاست ها برای مواقعی استفاده میشود که ما در حال یادگیری هستیم، درحالیکه در پروژهها و کارهای حرفهای باید سازمانها به ارائه دیتا واقعی اقدام کنند.
معرفی پایگاههای دیتاست معروف
- Github
- kaggle
- Amazon
- UNData
- UCI
- Data Hub
ساخت مجموعه داده برای استفاده در یادگیری ماشین
یادگیری ماشینی (ML) تاثیر عمیقی بر طیف متنوعی از کاربردها گذاشته است. این امر عمدتا به دلیل قدرت محاسباتی بهتر و مقادیر زیاد داده های آموزشی امکان پذیر شده است و داده حتی از خود مدل نیز اهمیت بیشتری دارد.
جمع آوری و ساخت مجموعه داده(دیتاست) معمولا فرایندی طاقت فرسا و بسیار زمان بر است و در بعضی مواقع این فرایند را کم ارزش تلقی میکنند؛ این به این دلیل است که ایجاد و بهبود مجموعه های داده یک وظیفه انسانی و زمان بر است، در هوش مصنوعی کارهایی که نیاز به نیروی انسانی دارند زیاد هیجان انگیز محسوب نمیشوند.در هر صورت، قبل از آموزش یک مدل، به یک مجموعه داده نیاز داریم. مجموعه داده های زیادی در دسترس عموم وجود دارد که می توان از آنها در یک پروژه استفاده کرد.
برای مثال، اگر مدلی میخواهید که به طبقه بندی ویدیوهای YouTube بر اساس ژانرها کمک کند، میتوانید از مجموعه داده YouTube-8M Segments که به صورت عمومی در دسترس است استفاده کنید.اگر مجموعه داده ای که میخواهید با آن مسئله ای را حل کنید در دسترس عموم نباشد چه ؟ این به معنی این است که باید آستین ها را بالا بزنید و خودتان دست به کار شوید.
فرآیند ایجاد یک مجموعه داده شامل سه مرحله مهم است:
- جمع آوری داده
- پاکسازی داده
- برچسب گذاری داده
جمع آوری داده
فرآیند جمع آوری داده ها شامل یافتن مجموعه داده هایی است که می توانند برای آموزش مدل های یادگیری ماشین استفاده شوند. چند راه برای انجام این کار وجود دارد و رویکرد شما تا حد زیادی به مشکلی که میخواهید حل کنید و نوع دادهای که فکر میکنید برای آن مناسبتر است بستگی دارد. اما به طور کلی دو روش وجود دارد :
- تولید داده
- افزایش داده
تولید داده
تکنیک تولید داده زمانی اعمال می شود که هیچ مجموعه داده ای وجود نداشته باشد که بتوان از آن برای آموزش استفاده کرد . شامل:
- ۱٫ جمع سپاری
جمع سپاری یک مدل کسب و کار است که شامل ارتباط با گروه های بزرگی از مردم از طریق اینترنت برای انجام وظایف است. این وظایف از کارهای ساده مانند برچسب گذاری داده ها تا کارهای پیچیده شامل نوشتن مشارکتی را شامل می شود.
- ۲٫ تولید داده های مصنوعی
دادههای مصنوعی، دادههایی هستند که از طریق رایانه ایجاد میشوند تا اندازه دادههای آموزشی ما را افزایش دهند یا تغییراتی را در دادههایی ایجاد کنند که میخواهیم مدل ما در آینده به آن رسیدگی کند. مدلهای مولد، مانند شبکه مولد تخاصمی(GAN) نمونه خوبی از یک برنامه کامپیوتری است که دادههای مصنوعی تولید میکند.ما به حجم زیادی از داده نیاز داریم تا اطلاعات کافی برای آموزش صحیح مدل های یادگیری ماشین داشته باشیم. بنابراین، تولید دادههای مصنوعی معمولاً روشی ارزانتر و انعطافپذیرتر برای گسترش مجموعه دادههایمان به ما ارائه میدهد. شبکههای مولد تخاصمی یک تکنیک پیشرفته است که میتوانیم از آن برای تولید دادههای مصنوعی استفاده کنیم.
این شامل آموزش دو شبکه رقابتی است: یک مولد و یک تفکیک کننده. نقش مولد این است که یاد بگیرد یک فضای پنهان را به یک توزیع داده (از یک مجموعه داده) نگاشت کند. نقش تفکیک کننده این است که داده های واقعی را از داده های مصنوعی تولید شده توسط مولد تفکیک کند.
هدف این است که نرخ خطای شبکه تفکیک کننده را افزایش دهیم تا شبکههای مولد آنقدر در تولید نمونهها خوب شوند، به طوری که تمایزکننده را فریب دهد و تصور کند که نمونهها از توزیع دادههای واقعی (مجموعه داده) هستند.
با استفاده از GAN ها میتوان ویدیوها، تصاویر و کلا هر نوع داده ی مصنوعی تولید کرد که برای استفاده در برنامه های مختلف واقع گرایانه به نظر میرسند. GAN دادههای موجود را میگیرد و دادههای جدیدی ایجاد میکند که شبیه مجموعه داده اصلی شما هستند؛ و حجم داده های شما را افزایش میدهند، به سادگی آب خوردن 🙂
افزایش داده
افزایش داده ها روش دیگری برای جمع آوری داده است. این فرآیند شامل تقویت مجموعه داده های موجود با داده های خارجی تازه به دست آمده است. برخی از مراحل اساسی در فرآیند افزایش داده ها ممکن است شامل برش، چرخش، تنظیم روشنایی و کنتراست تصاویر ورودی موجود باشد.این تکنیک اندازه و کیفیت مجموعه دادههای آموزشی را افزایش میدهد و شما را قادر میسازد تا دادههای بیشتری را جمعآوری کنید، بدون اینکه واقعاً به جمعآوری فیزیکی دادههای بیشتر بروید. مزیت دیگر افزایش داده ها این است که باعث می شود مدل ها به داده های نادیده جدید تعمیم بهتری پیدا کنند.
پاکسازی داده
اگر دادههای کافی دارید، اما کیفیت مجموعه داده آنچنان عالی نیست (مثلاً دادهها نویز دارند)، یا مشکلی در قالببندی کلی در مجموعه دادهتان وجود دارد (مثلاً، برخی فواصل دادهها بر حسب دقیقه هستند در حالی که برخی به ساعت ) به دومین فرآیند مهم می رویم که شامل پاکسازی داده ها می شود.شما می توانید عملیات داده را به صورت دستی انجام دهید، اما کار فشرده است و زمان زیادی می برد. از طرف دیگر، میتوانید از سیستمها و فریم ورک های از قبل ساختهشده استفاده کنید تا به شما در رسیدن به همان هدف آسانتر و سریعتر کمک کند.
نکته مهمی که باید به آن توجه کنید این است که نباید زیاد داده را دستکاری کنید. در حالت ایدهآل، تمیز کردن یک مجموعه داده نباید منجر به مجموعه داده ای شود که دیگر نماینده جمعیتی نیست که میخواهید روی آن مطالعه انجام دهید.
برچسب گذاری داده
برچسب گذاری داده ها بخش مهمی از پیش پردازش داده است که شامل دادن یک برچسب بر اساس ویژگی های آن نمونه است. دادههای ورودی و خروجی برای اهداف طبقه بندی برچسب گذاری میشوند و مبنای یادگیری برای پردازش داده های آینده فراهم میکنند. به عنوان مثال، تصویر یک سگ را می توان به برچسب “سگ” وصل کرد.
اکنون که پس از مرحله پاکسازی داده، داده های تمیزی بدست آورده اید آیا زمان برچسب گذاری آن داده ها رسیده است ؟ من که میگویم شاید پاسخ به این سوال تنها به این بستگی دارد که آیا شما از یادگیری نظارت شده یا بدون نظارت استفاده می کنید. یادگیری بدون نظارت نیازی به برچسب گذاری داده های شما ندارد، در حالی که یادگیری تحت نظارت نیاز به برچسب گذاری داده ها دارد.
دیدگاهها (0)