داده «Data» یکی از اجزای کلیدی در حوزه یادگیری ماشین است. دادهها به مجموعهای از مشاهدات یا اندازهگیریها اشاره دارند که برای آموزش یک مدل یادگیری ماشین استفاده میشوند. کیفیت و کمیت دادههای موجود برای آموزش و ارزیابی تأثیر قابل توجهی بر عملکرد مدل یادگیری ماشین دارد.
دادهها میتوانند اشکال مختلفی داشته باشند، مانند دادههای عددی، دستهای یا سریهای زمانی، و از منابع مختلفی مانند پایگاههای داده، صفحات وب یا APIها جمعآوری شوند. الگوریتمهای یادگیری ماشین از دادهها برای شناسایی الگوها و روابط بین متغیرهای ورودی و خروجیهای هدف استفاده میکنند تا بتوانند در پیشبینی یا طبقهبندی کاربرد داشته باشند.
دادهها معمولاً به دو نوع تقسیم میشوند:
- دادههای برچسبدار (Labeled Data): شامل برچسب یا متغیر هدفی است که مدل باید پیشبینی کند.
- دادههای بدون برچسب (Unlabeled Data): فاقد برچسب یا متغیر هدف هستند.
مجموعه داده استفادهشده در یادگیری ماشین معمولاً عددی یا دستهای هستند. دادههای عددی شامل مقادیری هستند که میتوان آنها را مرتب و اندازهگیری کرد، مانند سن یا درآمد. دادههای دستهای مقادیری هستند که نشاندهنده دستهها یا طبقهبندیها هستند، مانند جنسیت یا نوع میوه. دادهها به دو مجموعه تقسیم میشوند:
- مجموعه آموزش (Training Set): برای آموزش مدل استفاده میشود.
- مجموعه تست (Testing Set): برای ارزیابی عملکرد مدل به کار میرود.
مهم است که دادهها به صورت تصادفی و نماینده تقسیم شوند. پیشپردازش دادهها مرحلهای مهم در فرآیند یادگیری ماشین است که شامل پاکسازی و نرمالسازی دادهها، مدیریت مقادیر گمشده، و انتخاب یا مهندسی ویژگیها میشود.
ماهیت داده در یادگیری ماشین
دادهها شامل هر واقعیت، مقدار، متن، صدا یا تصویری هستند که هنوز تفسیر یا تحلیل نشدهاند. دادهها بخش حیاتی یادگیری ماشین و هوش مصنوعی هستند. بدون دادهها، هیچ مدلی قابل آموزش نیست و تحقیقات و خودکارسازی بیفایده خواهد بود. شرکتهای بزرگ مبالغ هنگفتی صرف جمعآوری دادههای دقیق و مطمئن میکنند.
به دادههایی که تفسیر و تحلیل شدهاند و اکنون به نتایج معناداری برای کاربران تبدیل شدهاند اطلاعات (Information) میگویند و ترکیبی از اطلاعات استنباطشده، تجربیات، یادگیریها و بینشها که به آگاهی یا شکلگیری مفاهیم برای افراد یا سازمانها منجر میشود دانش (Knowledge) میگویند.
تقسیم داده در یادگیری ماشین
- دادههای آموزشی (Training Data): این دسته از دادهها برای آموزش مدل استفاده میشود. مدل شما از این دادهها (شامل ورودی و خروجی) یاد میگیرد تا روابط میان آنها را کشف کند و فرآیند یادگیری را طی کند. این دادهها اساس یادگیری مدل را تشکیل میدهند.
- دادههای اعتبارسنجی (Validation Data): این بخش از دادهها برای ارزیابی عملکرد مدل در طول فرآیند آموزش به کار میرود. دادههای اعتبارسنجی کمک میکنند تا مدل بهینهسازی شود، بهویژه با تنظیم فراپارامترها. این دادهها بهطور مکرر در حین آموزش استفاده میشوند تا مدل به بهترین حالت ممکن برسد، اما مدل مستقیماً از آنها یاد نمیگیرد.
- دادههای تستی (Testing Data): پس از تکمیل آموزش مدل، از دادههای تست برای ارزیابی نهایی استفاده میشود. این دادهها کاملاً مستقل از دادههای آموزشی و اعتبارسنجی هستند و به مدل اجازه نمیدهند نتایج را از قبل بداند. زمانی که دادههای تست به مدل داده میشود، مدل پیشبینیهایی انجام میدهد که سپس با خروجیهای واقعی مقایسه میشوند. این فرآیند نشان میدهد مدل تا چه حد از دادههای آموزشی یاد گرفته و عملکرد آن در شرایط واقعی چگونه است.
این تقسیمبندی، روشی استاندارد برای ارزیابی و بهینهسازی مدلهای یادگیری ماشین است تا بتوان از عملکرد مناسب آنها اطمینان حاصل کرد. فرض کنید مثالی داریم:
یک صاحب فروشگاه زنجیرهای، یک نظرسنجی انجام داده و لیستی طولانی از سوالات و پاسخهایی که از مشتریان پرسیده را در اختیار دارد. این لیست سوالات و پاسخها همان داده است. حالا، هر بار که بخواهد چیزی را از این دادهها استخراج کند، نمیتواند تکتک سوالات و پاسخهای هزاران مشتری را مرور کند، چون این کار هم وقتگیر است و هم غیرمفید. برای جلوگیری از این اتلاف وقت و سادهتر کردن کار، این دادهها با استفاده از نرمافزار، محاسبات، نمودارها و … پردازش میشوند. اطلاعات همان نتیجهای است که از پردازش این دادهها به دست میآید. بنابراین، داده پیشنیاز اطلاعات است.
اما دانش نقشی فراتر ایفا میکند و تفاوت بین دو فرد با اطلاعات یکسان را مشخص میسازد. دانش، محتوایی فنی نیست، بلکه به فرآیند فکری انسان مرتبط است و به نحوه تفسیر و استفاده از اطلاعات بستگی دارد.
انواع داده در یادگیری ماشین
- دادههای عددی (Numeric Data): اگر یک ویژگی، یک خصوصیت را از طریق اعداد اندازهگیری کند، به آن ویژگی عددی گفته میشود.
- دادههای دستهبندیشده (Categorical Data): ویژگی دستهبندیشده، یک خصوصیت کیفی است که میتواند یکی از مقادیر محدود و معمولاً از پیشتعیینشده را به خود بگیرد. به این نوع ویژگیها، ویژگی اسمی نیز گفته میشود.
- دادههای ترتیبی (Ordinal Data): این نوع دادهها، متغیرهای اسمی هستند که مقادیر آنها در یک لیست مرتبشده قرار میگیرند. مثالهایی شامل اندازههای لباس (کوچک، متوسط، بزرگ) یا ارزیابی رضایت مشتری در مقیاس “کاملاً ناراضی” تا “خیلی راضی” میباشد.
ویژگیهای دادهها
- حجم (Volume): مقیاس داده با افزایش جمعیت و پیشرفت فناوری، حجم عظیمی از دادهها در هر میلیثانیه تولید میشود.
- تنوع (Variety): اشکال مختلف دادهها مانند دادههای بهداشتی، تصاویر، ویدئوها و کلیپهای صوتی.
- سرعت (Velocity): نرخ جریان و تولید دادهها.
- ارزش (Value): معنای دادهها از نظر اطلاعاتی که محققان میتوانند از آن استنباط کنند.
- درستی (Veracity): اطمینان و صحت دادههایی که روی آنها کار میکنیم.
- قابلیت استفاده (Viability): توانایی دادهها برای استفاده و ادغام در سیستمها و فرآیندهای مختلف.
- امنیت (Security): اقداماتی برای محافظت از دادهها در برابر دسترسی یا تغییرات غیرمجاز.
- دسترسپذیری (Accessibility): سهولت دسترسی و استفاده از دادهها برای تصمیمگیری.
- یکپارچگی (Integrity): دقت و کامل بودن دادهها در طول چرخه حیات آنها.
- کاربردپذیری (Usability): سهولت استفاده و قابل تفسیر بودن دادهها برای کاربران نهایی.
برخی حقایق در مورد دادهها
- در مقایسه با سال ۲۰۰۵، پیشبینی شده است که تا سال ۲۰۲۰، ۳۰۰ برابر بیشتر داده، معادل ۴۰ زتابایت (1ZB=10^21 bytes) تولید شود.
- تا سال ۲۰۱۱، بخش بهداشت و درمان دارای ۱۶۱ میلیارد گیگابایت داده بوده است.
- روزانه حدود ۴۰۰ میلیون توییت توسط ۲۰۰ میلیون کاربر فعال ارسال میشود.
- هر ماه بیش از ۴ میلیارد ساعت ویدئو توسط کاربران پخش میشود.
- کاربران هر ماه حدود ۳۰ میلیارد نوع مختلف محتوا را به اشتراک میگذارند.
- گزارش شده است که حدود ۲۷ درصد دادهها نادرست هستند و به همین دلیل، از هر ۳ تصمیمگیرنده تجاری، ۱ نفر به اطلاعاتی که تصمیماتش بر اساس آنها گرفته میشود، اعتماد ندارد.
این آمار تنها نگاهی گذرا به حجم عظیم دادههایی است که در حال حاضر وجود دارد. در سناریوهای دنیای واقعی، اندازه دادههایی که هماکنون وجود دارند و به طور مداوم تولید میشوند، فراتر از تصورات ماست.
مثال عملی از ساخت مدل با داده
تصور کنید در یک شرکت خودروسازی کار میکنید و میخواهید مدلی بسازید که بتواند بهرهوری سوخت یک خودرو را بر اساس وزن و اندازه موتور پیشبینی کند.
- در این حالت، متغیر هدف (یا برچسب) بهرهوری سوخت است.
- ویژگیها (یا متغیرهای ورودی) وزن و اندازه موتور هستند.
شما دادههایی از مدلهای مختلف خودرو جمعآوری میکنید که شامل وزن، اندازه موتور، و بهرهوری سوخت آنها میشود. این دادهها دارای برچسب هستند و به شکل زیر ذخیره میشوند:
( وزن – اندازه موتور – بهرهوری سوخت)
پس از آمادهسازی دادهها:
- دادهها را به دو مجموعه تقسیم میکنید:
- مجموعه آموزشی: برای آموزش مدل.
- مجموعه تست: برای ارزیابی عملکرد مدل.
- ممکن است نیاز به پیشپردازش دادهها باشد؛ به عنوان مثال:
- پر کردن مقادیر گمشده.
- مدیریت نقاط پرت (outliers) که میتوانند دقت مدل را تحت تأثیر قرار دهند.
این مراحل کمک میکنند تا مدل نهایی شما بهترین عملکرد را در پیشبینی بهرهوری سوخت خودروها ارائه دهد.
پیادهسازی:
# Example input data from sklearn.linear_model import LogisticRegression X = [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]] y = [0, 0, 1, 1, 1] # Train a model model = LogisticRegression() model.fit(X, y) # Make a prediction prediction = model.predict([[6, 7]])[0] print(prediction)
خروجی:
۰,۱
اگر کدی که ارائه شده را اجرا کنید، خروجی شامل پیشبینی مدل خواهد بود. در این حالت، پیشبینی مدل عدد ۰ یا ۱ خواهد بود، که بستگی به پارامترهایی دارد که مدل در طول فرآیند آموزش یاد گرفته است. برای مثال:
اگر مدل یاد گرفته باشد که ورودیهایی که عنصر دوم بالایی دارند، احتمال بیشتری دارند که برچسب ۱ بگیرند، آنگاه پیشبینی برای ورودی [۶,۷] برابر با ۱ خواهد بود.
این پیشبینیها نمایانگر الگوهایی است که مدل از دادههای آموزشی استخراج کرده است و به شما امکان میدهد بر اساس آنها تصمیمگیری کنید.
مزایا استفاده از دادهها در یادگیری ماشین
- بهبود دقت: با استفاده از حجم زیادی از دادهها، الگوریتمهای یادگیری ماشین میتوانند روابط پیچیدهتری بین ورودی و خروجیها بیاموزند و دقت پیشبینیها و دستهبندیها را افزایش دهند.
- اتوماسیون: مدلهای یادگیری ماشین میتوانند فرآیندهای تصمیمگیری را خودکار کرده و وظایف تکراری را به شکلی کارآمدتر و دقیقتر از انسان انجام دهند.
- شخصیسازی: الگوریتمهای یادگیری ماشین میتوانند تجربیات را برای کاربران به صورت شخصیسازیشده ارائه دهند، که باعث افزایش رضایت کاربران میشود.
- صرفهجویی در هزینه: اتوماسیون از طریق یادگیری ماشین میتواند هزینهها را با کاهش نیاز به نیروی کار دستی و افزایش بهرهوری کاهش دهد.
معایب استفاده از دادهها در یادگیری ماشین
- سوگیری (Bias): دادههای مورد استفاده برای آموزش مدلها ممکن است سوگیری داشته باشند، که منجر به پیشبینیها و دستهبندیهای نادرست میشود.
- حریم خصوصی: جمعآوری و ذخیره دادهها برای یادگیری ماشین میتواند نگرانیهایی درباره حریم خصوصی ایجاد کند و در صورت عدم امنیت کافی، دادهها در معرض خطر قرار میگیرند.
- کیفیت دادهها: کیفیت دادههای مورد استفاده برای آموزش، برای عملکرد مدل بسیار حیاتی است. دادههای بیکیفیت میتوانند منجر به پیشبینیها و دستهبندیهای نادرست شوند.
- عدم تفسیرپذیری: برخی مدلهای یادگیری ماشین ممکن است بسیار پیچیده باشند و درک نحوه تصمیمگیری آنها دشوار باشد.
موارد استفاده از یادگیری ماشین
- مدلسازی پیشبینی (Predictive Modeling):
- پیشبینی نتایج آینده بر اساس دادههای تاریخی.
- کاربردها: پیشبینی بازار سهام، شناسایی تقلب، پیشبینی آبوهوا، پیشبینی رفتار مشتری.
- تشخیص تصویر (Image Recognition):
- آموزش مدلها برای شناسایی اشیا، چهرهها، و الگوهای دیگر در تصاویر.
- کاربردها: خودروهای خودران، سیستمهای تشخیص چهره، تحلیل تصاویر پزشکی.
- پردازش زبان طبیعی (Natural Language Processing):
- تحلیل و درک زبان طبیعی.
- کاربردها: چتباتها، دستیارهای صوتی، تحلیل احساسات.
- سیستمهای توصیهگر (Recommendation Systems):
- پیشنهاد محصولات، خدمات یا محتوا به کاربران بر اساس رفتار یا ترجیحات گذشته آنها.
- تحلیل دادهها (Data Analysis):
- شناسایی الگوها و بینشهایی در دادههای بزرگ که برای انسانها دشوار است.
- رباتیک:
- آموزش رباتها برای انجام وظایف بهصورت خودکار مانند مسیریابی یا جابهجایی اشیا.
چالشهای استفاده از دادهها در یادگیری ماشین
- کیفیت دادهها:
- اطمینان از صحت، کامل بودن و نمایندگی دادهها برای عملکرد مدل بسیار حیاتی است. دادههای بیکیفیت منجر به مدلهای نادرست میشوند.
- حجم دادهها:
- در برخی موارد، داده کافی برای آموزش مدلهای دقیق وجود ندارد، بهویژه برای مشکلات پیچیده.
- سوگیری و انصاف:
- مدلها ممکن است سوگیریهای موجود در دادهها را تکرار کنند و منجر به نتایج ناعادلانه شوند.
- بیشبرازش و کمبرازش:
- بیشبرازش (Overfitting): مدل بیش از حد به دادههای آموزشی وابسته است و در تعمیم به دادههای جدید ضعیف عمل میکند.
- کمبرازش (Underfitting): مدل به اندازه کافی الگوهای دادهها را یاد نمیگیرد.
- حریم خصوصی و امنیت:
- مدلها میتوانند اطلاعات حساس را افشا کنند، که نگرانیهای امنیتی و حریم خصوصی را به همراه دارد.
- تفسیرپذیری:
- برخی مدلها مانند شبکههای عصبی عمیق، پیچیده و دشوار برای تفسیر هستند، که توضیح دلایل پیشبینیها را چالشبرانگیز میکند.