۳۴ بازدید
آخرین بهروزرسانی: ۲۳ خرداد ۱۴۰۳
زمان مطالعه: ۸ دقیقه
دسترسی به حجم زیاد داده در حوزههایی همچون هوش مصنوعی اغلب نکتهای مثبت تلقی میشود. اما این حجم زیاد میتواند در سیستمهای ذخیرهسازی اختلال ایجاد کرده و عملکرد سیستمهای محاسباتی را تحت تاثیر قرار دهد. با این حال، نمیتوان برای حل این مشکل تنها به حذف بخشی از دادهها بسنده کرد. زیرا حفظ الگوهای اطلاعاتی در ادامه و برای مراحلی مانند تجزیه، تحلیل و ارزیابی ضرورت دارد. در اینجا فرایند کاهش داده یا Data Reduction معنی پیدا میکند. فرایندی که دادههای خام را دریافت کرده و به دیتاست انسجام میبخشد. هدف این فرایند را میتوان در بهینهسازی فضای ذخیرهسازی و افزایش سرعت پردازش و کیفیت دادهها خلاصه کرد. در این مطلب از مجله فرادرس یاد میگیریم Data Reduction چیست و با انواع روشهای آن آشنا میشویم.
در این مطلب، ابتدا یاد میگیریم منظور Data Reduction چیست و چگونه کار میکند. سپس علاوهبر آشنایی با انواع روشهای Data Reduction، به بررسی چند مثال از نحوه بهکارگیری این فرایند پرداخته و از اهمیت آن در یادگیری ماشین میگوییم. در انتهای این مطلب از مجله فرادرس، پس از مقایسه مزایا و معیاب Data Reduction، به تعدادی از سوالات متداول در این زمینه پاسخ میدهیم.
منظور از Data Reduction چیست؟
منظور از Data Reduction، فرایندی است که همزمان با کاهش حجم یا پیچیدگی یک دیتاست، صفات و یکپارچگی میان دادهها را حفظ میکند. در Data Reduction از تکنیکهای مختلفی مانند انتخاب ویژگی، استخراج ویژگی، نمونهگیری، «فشردهسازی» (Compression) و «گسستهسازی» (Discretization) برای حذف دادههای نویزی و تکراری و تبدیل آنها به نمونههای مناسب مسئله استفاده میشود. به این صورت دادههای غیرضروری شناسایی و کنار گذاشته میشوند. هر کدام از تکنیکهای عنوان شده به شیوه متفاوتی فرایند Data Reduction را پیادهسازی میکنند. از جمله دلایل اجرای Data Reduction میتوان به موارد زیر اشاره کرد:
- بهبود کارایی در پردازش و ذخیرهسازی.
- کاهش زمان پردازش و پیشنیازهای محاسباتی.
- افزایش تفسیرپذیری اطلاعات.
- کاهش احتمال رخداد مشکلاتی مانند «طلسم ابعاد» (Dimensionality Curse).
- افزایش دقت و عملکرد مدلهای یادگیری ماشین.
با این حال، فرایند Data Reduction باعث از بین رفتن بخشی از اطلاعات شده و به نوعی، تصویر اولیه دیتاست را تحت تاثیر قرار میدهد. در فهرست زیر بخشی از کاربردهای Data Reduction را در حوزههای مختلف ملاحظه میکنید:
حالا که میدانیم Data Reduction چیست و چه کاربردهایی دارد، در بخش بعدی به بررسی نحوه کارکرد این فرایند میپردازیم.
فرایند Data Reduction چگونه کار می کند؟
در بخش قبل علاوهبر آنکه یاد گرفتیم Data Reduction چیست، به برخی از تکنیکهای مورد استفاده در این فرایند نیز اشاره داشتیم. صرفنظر از نوع تکنیک استفاده شده، کاهش داده یا Data Reduction روند پیچیدهایست که طی آن مهندسان و دانشمندان باید میان فضای ذخیرهسازی و «کارایی داده» (Data Fidelity) تعادل برقرار کنند. به عنوان چند نمونه از رایجترین انواع Data Reduction میتوان موارد زیر را در نظر داشت:
- حذف دادههای تکراری: در این رویکرد، دادههایی که چندین مرتبه تکرار شده یا بیانگر اطلاعات مشابهی هستند حذف میشوند.
- فشردهسازی: فرایند فشردهسازی، الگوریتمهایی را برای کاهش فضای ذخیرهسازی بر دادهها اعمال کرده و حجم آنها را کاهش میدهد. این الگوریتمها اغلب هنگام جابهجایی به «انبار داده» (Data Warehouse) یا گاهی پس از اتمام فرایند انتقال، بر اطلاعات اعمال میشوند.
- «تامین مجازی» (Virtual Provisioning): در روش تامین مجازی، بهجای اختصاص دادن زودهنگام فضا به کاربران یا فرایندهای در حال اجرا، ابتدا فضای ذخیرهسازی تقسیم شده و تنها هنگام نیاز تخصیص پیدا میکند. با وجودی که این روش هزینه محاسباتی بالایی دارد، اما بازدهی سیستم را به طرز چشمگیری افزایش میدهد.
در ادامه این مطلب، توضیح مفصلتری از انواع روشها و تکنیکهای Data Reduction ارائه میدهیم.
آشنایی بیشتر با روش های پیش پردازش داده و تقلیل ابعاد
دادههای خام جمعآوری شده از منابع مختلف، اغلب دارای نویز، ناهنجاری، نمونههای گمشده و مشکلات دیگری هستند که باید پیش از ورود به مدلهای یادگیری ماشین پردازش و آمادهسازی شوند. فرایند پیشپردازش داده شامل مراحل متعددی است که هدف آنها در افزایش کیفیت و سازگاری دادهها خلاصه میشود. از جمله این مراحل میتوان به پاکسازی داده، جایگذاری دادههای گمشده، حذف نمونههای پرت و تقلیل ابعاد اشاره کرد.
علاوهبر این موارد، یکی دیگر از بخشهای مهم پیشپردازش داده، فرایندی است که تحت عنوان کاهش داده یا Data Reduction شناخته میشود. هدف از این فرایند، کاستن از تعداد ویژگیها یا همان ستونهای دیتاست به گونهایست که بتوان پیچیدگی محاسباتی را کاهش داده و کارایی مدلهای یادگیری را بهبود بخشید. در همین راستا، پلتفرم فرادرس دورههای جامعی را در قالب فیلمهای آموزشی و برای آشنایی با انواع روشهای پیشپردازش داده از جمله Data Reduction و تقلیل ابعاد تهیه و تولید کرده است که با مراجعه به لینکهای زیر میتوانید آنها را بهطور رایگان مشاهده کنید:
انواع روش های Data Reduction چیست؟
برای کاهش پیچیدگی یا اندازه دیتاست بدون تغییر ویژگیها، میتوان از روشهای بسیاری استفاده کرد. به عنوان مثال در هوش مصنوعی، نرمافزار اکسل و تحلیل داده از چنین تکنیکهایی برای کاستن از الزامات ذخیرهسازی، بهبود بازدهی و عملکرد مدلهای یادگیری ماشین بهره میبرند. به همین خاطر و از آنجا که دیگر میدانیم منظور از Data Reduction چیست، در ادامه این بخش به معرفی تعدادی از رایجترین روشهای فرایند Data Reduction میپردازیم.
۱. انتخاب ویژگی
در این روش پس از شناسایی و گزینش زیرمجموعهای از ویژگیهای متناسب با دیتاست اصلی، دادههای بیاستفاده و تکراری حذف میشوند. در نتیجه ابعاد دادهها کاهش یافته و از طرف دیگر بهرهوری محاسباتی افزایش مییابد. لازم به ذکر است که برای پیادهسازی و اجرای فرایند انتخاب ویژگی از روشهایی مانند «عملگر گزینش و انقباض کمترین قدرمطلق» (Least Absolute Shrinkage and Selection Operator | LASSO)، «حذف بازگشتی ویژگی» (Recursive Feature Elimination | RFE)، آزمونهای آماری، «بهره اطلاعاتی» (Information Gain) و «تجزیه و تحلیل همبستگی» (Correlation Analysis) کمک گرفته میشود. اگر میخواهید بهطور کاربردی نحوه انتخاب ویژگی را یاد بگیرید، مشاهده فیلم آموزشی مبانی انتخاب ویژگی فرادرس که لینک آن در ادامه آورده شده است را به شما پیشنهاد میکنیم:
۲. استخراج ویژگی
این فرایند یعنی استخراج ویژگی با ایجاد ویژگیهای جدید و اثرگذار، فضای نمونههای دیتاست اصلی را به ابعاد پایینتری کاهش میدهد. همچنین با بهکارگیری تکنیک «تحلیل مؤلفه اصلی» (Principal Component Analysis | PCA) بهراحتی و از طریق شناسایی ترکیب خطی ویژگیها، مقدار حداکثری واریانس محاسبه میشود. از جمله دیگر تکنیکهای پیشنهادی در استخراج ویژگی میتوان به «t-توکاری همسایگی تصادفی توزیع شده» (T-distributed Stochastic Neighbor Embedding | t-SNE) و «تحلیل مؤلفه مستقل» (Independent Component Analysis | ICA) اشاره کرد. برای آشنایی بیشتر با تکنیک انتخاب و استخراج ویژگی در دادههای ابعاد بالا میتوانید مطلب زیر را از مجله فرادرس مطالعه کنید:
۳. نمونه گیری
زیرمجموعهای از دادههای «اسمی» (Nominal) یا قابل طبقهبندی از دیتاست جدا شده و از آنها برای ارزیابی عملکرد مدل استفاده میشود. عمده کاربرد روش نمونهگیری زمانی است که دیتاست بیش از حد برای پردازش بزرگ بوده یا بخواهیم کلاسهای دیتاست را متوازن کنیم.
۴. فشرده سازی داده
برای فشردهسازی داده از الگوریتمهایی مانند ZIP، gzip، «کدگذاری هافمن» (Huffman Coding) و «کدگذاری طول اجرا» (Run-Length Encoding) برای کاهش فضای ذخیرهسازی دیتاست استفاده میشود.
۵. دسته بندی یا گسسته سازی
در روش «دستهبندی» (Binning) یا «گسستهسازی» (Discretization)، دادههای پیوسته به گروههای مجزایی تقسیم و در نتیجه از پیچیدگی نمونههای پیوسته کاسته میشود. از انواع روشهای دستهبندی مانند دستهبندی «مبتنیبر آنتروپی» (Entropy-based)، «فرکانس برابر» (Equal-frequency) و «عرض برابر» (Equal-width) به عنوان رویکردهایی برای مدیریت نمونههای پرت و توزیع دادههای بهمریخته یاد میشود.
۶. تجمیع داده
متصل کردن نمونههای داده به یکدیگر و ایجاد نمایی واحد از آنها را «تجمیع داده» (Data Aggregation) گویند. در این روش، خلاصهسازی دادههای عددی از طریق تابعی با عنوان «تابع تجمیع» (Aggregation Function) و دادههای طبقهبندی شده با تفکیک شدن به گروههای مختلف صورت میگیرد.
توجه داشته باشید که بسته به نیاز و نوع مسئله، میتوان از ترکیب چند روش مختلف نیز استفاده کرد.
مثال هایی از Data Reduction
حالا که بهخوبی میدانیم Data Reduction چیست، چگونه کار میکند و با انواع روشهای آن نیز آشنا شدیم، در این بخش از مطلب مجله فرادرس برای درک بهتر، مثالهایی از نحوه بهکارگیری فرایند کاهش داده و کاربرد آن ارائه میدهیم.
مثال ۱
بلاگر حوزه امور مالی را تصور کنید که قصد دارد اطلاعات بیشتری به هر مطلب از وبلاگ خود اضافه کند. اما اگر این اطلاعات به همان شکل اولیه خود اضافه شوند، ممکن است خوانایی مطالب را تحت تاثیر قرار دهند. به همین خاطر، بلاگر از تکنیکهای فشردهسازی همچون ZIP برای کاهش حجم فایلها، همزمان با حفظ یکپارچگی میان دادهها استفاده میکند. او همچنین فضای لازم را برای ذخیرهسازی دادههای جدید و مرتبشده کاهش میدهد. در انتها، بدون افزایش حجم وبلاگ و پیچیدگی محتوا برای مخاطبان، لینک منحصربهفردی به دادههای کم حجم شده اختصاص مییابد.
مثال ۲
حسابداری را در نظر بگیرید که از او خواسته شده تا دادههای حجیم مرتبط با سود سالانه شرکت را برای ارائهای آماده کند. شخص حسابدار تصمیم میگیرد از تکنیک گسستهسازی برای طبقهبندی دادهها کمک بگیرد. او گروههای مختلف داده را به سه دسته «بازدهی پایین»، «بازدهی متوسط» و «بازدهی بالا» تقسیم میکند. نتیجه کار، فرمهای خلاصهشدهای خواهند بود که به سادگی عملکرد سالانه شرکت را به اعضای هیات مدیره نشان میدهند. از این رو، تصمیمگیران درک مناسبی از بازدهی سالانه بهدست آورده و بهتر میتوانند برای سال آینده برنامهریزی کنند.
اهیمت Data Reduction در یادگیری ماشین چیست؟
از تکنیکهای Data Reduction در کاربردهای مختلفی بهویژه یادگیری ماشین بهرهبرداری میشود. از بهینهسازی فضای ذخیرهسازی میتوان به عنوان مهمترین نتیجه Data Reduction یاد کرد. در یادگیری ماشین دو موضوع پردازش موازی و همچنین حجم پردازشها بسیار اهمیت داشته و Data Reduction باعث بهبود سرعت و عملکرد نهایی الگوریتمها میشود. به این صورت، از پیچیدگی مدلهای یادگیری، هزینه و زمان پردازش و آموزش کاسته میشود.
مزایا و معیار Data Reduction چیست؟
پس از پاسخ دادن به پرسش Data Reduction چیست، در این بخش به شرح مزایا و معایب این فرایند میپردازیم. جدول زیر خلاصهای از این مقایسه را نشان میدهد:
مزایا | معایب |
صرفهجویی در هزینههای محاسباتی، سختافزاری و نگهداری. | احتمال از بین رفتن بخشی از اطلاعات دیتاست اصلی و تاثیرگذاری بر دقت پیشبینیها. |
بهبود بازدهی محاسباتی و سرعت پردازش داده که به ارزیابی و تصمیمگیری سریعتر منجر میشود. | اگر فرایند Data Reduction بهدرستی انجام نشود، امکان وقوع سوگیری یا Bias وجود دارد. |
حذف اطلاعات نامرتبط از دیتاست و تسهیل فرایند تحلیل داده. | اجرای صحیح کاهش داده گاهی دشوار بوده و باید توسط متخصصان همین حوزه انجام شود. |
سوالات متداول
اگر تا اینجا همراه مطلب بوده باشید، بهخوبی میدانید منظور از Data Reduction چیست و چگونه انجام میشود. از همین جهت، حالا زمان خوبی است تا در این بخش به تعدادی از پرسشهای متداول پیرامون Data Reduction پاسخ دهیم.
دلیل وابستگی تحلیل داده به فرایند Data Reduction چیست؟
کاهش داده یا Data Reduction هم در کارایی و هم سادهسازی دیتاستهای پیچیده موثر است. با کاستن از اندازه و ابهام موجود میان دادهها، نگهداری و استخراج اطلاعات مفید بهمراتب راحتتر خواهد بود.
بهره گیری از چه تکنیک هایی برای اجرای Data Reduction رایج است؟
دامنه تکنیکهایی که برای Data Reduction مورد استفاده قرار میگیرند وسیع است. از جمله این روشها میتوان به PCA و t-SNE در تقلیل ابعاد، الگوریتمهایی مانند RFE و LASSO در انتخاب ویژگی و gzip در فشردهسازی اشاره کرد.
فرایند Data Reduction در پیش پردازش داده ها چه نقشی دارد؟
کاهش نویز، حذف نمونههای تکراری، مدیریت مقادیر گمشده و تبدیل فرمت دادهها همه بخشی از مزایای بهکارگیری تکنیکهای Data Reduction در آمادهسازی دادهها محسوب میشوند. از همین جهت، عملکرد مدلهای یادگیری ماشین بهتر شده، پیشپردازش دادهها در مراحل بعدی راحتتر انجام گرفته و در کل به شکل موثرتری میتوان به تجزیه و تحلیل نتایج پرداخت.
چرا Data Reduction در داده کاوی مهم است؟
در داده کاوی به دلیل پیچیدگی و حجم بالای دیتاستها، اجرای فرایندی مانند Data Reduction برای افزایش بهرهوری ضرورت دارد. الگوریتمهای داده کاوی تنها زمانی مفید واقع میشوند که نمونهها پراکنده نبوده و بتوان الگوهای مهم را به سرعت از آنها استخراج کرد. در نتیجه، دقت مدل یادگیری افزایش یافته و خروجی با کیفیتی تولید میشود.
جمعبندی
در پردازش داده، هیچ فرایندی از جمله Data Reduction بدون وجود هدفی شفاف معنا ندارد. این هدفِ مسئله یا پروژه است که پیشنیازهای لازم برای بهکارگیری تکنیک مناسب را مشخص میکند. همانطور که در این مطلب از مجله فرادرس خواندیم، تنها اینکه بتوان به پرسش Data Reduction چیست پاسخ داد کافی نیست و باید علاوهبر آشنایی، نحوه کار با تکنیکهای این فرایند را نیز بلد باشیم. با وجود همه مزایا، برقراری توازن میان فرایند Data Reduction و حفظ اطلاعت بسیار اهمیت دارد. زیرا استفاده از برخی تکنیکها باعث از دست رفتن بخش مهمی از دادهها میشود.
امیر حسین فقهی دانشآموخته کارشناسی ارشد مهندسی کامپیوتر است. از علاقهمندیهای او، یادگیری ماشین و برنامهنویسی است و مطالب مرتبط با هوش مصنوعی و توسعه نرمافزار را در مجله فرادرس نگارش میکند.
source