یادگیری درختان تصمیم جریانهای داده بزرگ
یادگیری درختان تصمیم جریانهای داده بزرگ – ایران ترجمه – Irantarjomeh
مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی
مقالات
قیمت
قیمت این مقاله: 38000 تومان (ایران ترجمه - Irantarjomeh)
توضیح
بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.
شماره | ۱۶۳ |
کد مقاله | COM163 |
مترجم | گروه مترجمین ایران ترجمه – irantarjomeh |
نام فارسی | یک رویکرد موازی برای یادگیری درختان تصمیم از جریانهای داده ای بزرگ |
نام انگلیسی | A Parallel Approach for Decision Trees Learning from Big Data Streams |
تعداد صفحه به فارسی | ۲۸ |
تعداد صفحه به انگلیسی | ۱۳ |
کلمات کلیدی به فارسی | داده بزرگ, داده کاوی تجاری, جریان, درختان تصمیم گیری |
کلمات کلیدی به انگلیسی | Bigdata, Business datamining, Streams, MapReduce, Decision trees |
مرجع به فارسی | مؤسسه مدیریت اطلاعات، دانشگاه نوچاتل، سوئیساسپرنگر |
مرجع به انگلیسی | Information Management Institute, University of Neuchatel, Neuchatel, Switzerland; Springer |
کشور | سوئیس |
یک رویکرد موازی برای یادگیری درختان تصمیم از جریانهای دادهای بزرگ
چکیده
در این مقاله ما یک الگوریتم یادگیری درخت تصمیم موازی به نام pdsCART را معرفی میکنیم. سه مشخصه اصلی و مهم در ساخت این درخت جود دارد. اول، الگوریتم ارائه شده میتواند با جریانهای دادهای کار کرده و درخت تصمیم را ایجاد کند. دوم، الگوریتم قادر به پردازش موازی مقدار بزرگتری از جریان داده ثبت شده میباشد و بنابراین برای مجموعه دادههای خیلی بزرگ کاربرد دارد. و سوم اینکه، الگوریتم میتواند در چهار چوب MapReduce پیادهسازی شود. جزئیات مرتبط با این الگوریتم و برخی از نتایج اصلی عملکرد در این مقاله ارائه شده است.
کلمات کلیدی: داده بزرگ، دادهکاوی تجاری، جریانها، MapReduce، درختان تصمیمگیری
یادگیری درختان تصمیم جریانهای داده بزرگ
۱ -مقدمه
داده بزرگ[۱] اصطلاحی برای تحلیل مجموعههای بزرگ داده شده است. این مجموعههای بزرگ دادهای در کاربردهای علمی از قبیل فیزیک، زیست و هواشناسی تولید شدند. اما یکی از این کاربردها در زمینه تجارت و سرمایهداری بود، افزایش مقدار داده تولید شده، محققان را با مسائل و مشکلاتی در رویارویی با مجموعه داده بزرگ مواجه کرد. اما زمینه با اهمیت دیگر، جریانهای داده تولید شده توسط انواع حسگرها همانند وسایل متحرک، حسگرهای دوردست، شناسایی مخابرههای مکرر و غیره است.
در این مقاله کاربردهای مشترک زمینه های کاربردی دوم و سوم ذکر شده در پاراگراف قبلی از قبیل کاربردهای تجاری را بکار میگیریم. امروزه، استفاده از تلفنهای همراه یکی از ابزار اساسی برای ارتباط بین مشترکین شده است. این کاربردها به همراه سایتهای اینترنتی، حجم زیادی از دادههای کاربری را تولید میکنند که این مجموعههای دادهای توسط شرکتها جمع آوری میشوند. دادههای تلفن همراه و کاربردهای سیار شامل حسگر، همانند GPS ها دادههای زیادی تولید میکنند که دارای مشخصههای زیادی میباشند.
چهار چوب MapReduce [1]، استانداردی برای پیادهسازی پردازشهایی به منظور تحلیل مجموعه دادههای خیلی بزرگ بصورت موازی، با استفاده از خوشههای توزیع شده است. ساختار اصلی آن شامل دو گام اصلی است: ابتدا، گام-نگاشت، که داده را برای تحلیل فیلتر و مرتب میکند و به دنبال آن در گام گاهش داده را برای تحلیل متراکم میسازد. این چهارچوب ساده برای کاربردهای بزرگ مجازست، اما در مواجهه با الگوریتمهایی که میتواند با روش مستقیم پیاده سازی شود، کاملا محدود میشود. با انگیزه کاربردهای تجاری، علاقه مند به الگوریتمهای درخت تصمیم شدیم. در این مقاله، روشی را برای پیاده سازی الگوریتمهای درخت تصمیم برای جریانهای داده بزرگ در چهارچوب MapReduce ارائه میدهیم.
ادامه مقاله بصورت زیر سازماندهی شده است: در بخش بعدی، در مورد الگوریم دادهکاوی درخت تصمیم بحث میکنیم. سپس در مورد چگونگی استفاده از درخت تصمیم برای تحلیل جریانهای داده بحث میکنیم و در ادامه جزئیات پیادهسازی الگوریتم درخت تصمیم موازی به همراه تحلیل کارایی آن ارائه میشود.
[۱] Big Data
یادگیری درختان تصمیم جریانهای داده بزرگ
۲- درختان تصمیم برای استخراج داده بزرگ
یکی از کارامدترین و وسیعترین تکنیکهای مورد استفاده در یادگیری ماشین، یادگیری درخت تصمیم است. محبوبیت این مدلها نه تنها برای وفق پذیری و توانایی پیش بینی دقیق است، بلکه همچنین میتواند قوانین دستهبندی را تولید کند که میتواند به آسانی توسط بشر تفسیر شود. این یک ویژگی جالب در استخراج داده تجاریست.
در هر حال، درختان تصمیم یکسری معایب هم دارند. الگوریتمهای تصمیمگیری سابق[۲و۳]، با مشکل کمبود حافظه مواجه بودند، چون باید مجموعههای داده آموزشی را برای ساخت تصمیم بطور بازگشتی میخواندند. علاوه بر این، مقادیر عددی به منظور یافتن نقاط انشعاب، نیاز به مرتب سازی دارند. برای غلبه بر مشکل زمان و حافظه چندین راه حل پیشنهاد شدهاند.
۲٫۱ پژوهشهای گذشته
یکی از تکنیکهای مورد استفاده الگوریتمهای درخت تصمیم، پیش-مرتب سازی مقادیر خصیصهها، از قبیل SPRINT [4] یا ScalParC[5] است. رویه دیگر تخمین داده به جای مرتب سازی آن با استفاده از ساختارهای هیستوگرام است، همانند، pCLOUDS [6]،SPIES [7] و SPDT[8]. برای ساخت هیستوگرامها، برخی از محققان از تکرار داده استفاده میکنند. اگرچه رویههای پیش- مرتب سازی دقیقترند، آنها ممکن است برای جریانی از داده مناسب نباشند.
الگوریتمهای درخت تصمیم موازی: در مقاله آمادو و همکاران[۱۰] و سریواستاوا و همکاران [۹]، چهار نوع مختلف از الگوریمهای درخت تصمیم توصیف شدهاند: افقی، عمودی، وظیفه و ترکیبی. در افقی، مجموعه کامل داده به زیر مجموعههایی منشعب میشود. در حالت عمودی، مجموعه خصیصهها بخش بندی میشود. موازی سازی وظیفه، قادر به توزیع نودهای درختان تصمیم برای پیشروی مستقل است. توع چهارم، یعنی موازی سازی ترکیبی، ترکیبی از تمام سه رویه قبلی است. برای مثال، در فاز اول فرایند رشد درخت تصمیم، موازی سازی افقی و عمودی ترکیب شده و موازی سازی وظیفه در انتها انجام میگیرد.
مثالی از حالت ترکیبی PLANET گوگل است[۱۱]، تکنیکی که موازی سازی افقی در سطوح ابتدایی درخت بکار برده و موازی وظیفه را برای برگها و به محض فیت شدن داده در حافظه بکار میبرد.
در پژوهش دیگری[۸]، نویسندگان از موازات افقی برای ساخت هیستوگرامهای داده استفاده میکنند، که در ادامه برای تصمیم گیری به منظور ساخت درخت با روش اول- عرض استفاده میشود. مثالهای دیگری از موازات افقی برای ساخت درختان، درختان تصمیم گرادیان تقویتی([۱۲]GBDT) یا درختان رگرسیون ([۱۳]GBRT) میباشند.
…
۲٫۲ رویکرد موازی برای جریانات داده
ما PdaCART را ارائه دادیم که روشموازی برای ساخت درختان نصمیم برای استنتاج و پیشبینی از جریانات داده بزرگ است. ما الگوریتم درخت تصمیم dsCART [24] را برای دسته بندی جریان داده بعنوان پایه و اصل کار خود انتخاب کردیم. راه حل پیشنهادی ما روشی برای تعدیل الگوریتم dsCART در موازات افقی با پیادهسازی مدل برنامه نویسی MapReduce است. در حالیکه چندین راه حل دیگر قبلا رائه شدهاند، از قبیل: SPDT, PLANET, SRF, GBDT, GBRT و غیره. هیچیک از این متدها برای درخت تصمیم مسیر- تنها برای الگوریتم جریانهای داده بکار نرفتهاند. جزئیاتت روش پیشنهادی در بخش پیاده سازی ارائه میشود.
یادگیری درختان تصمیم جریانهای داده بزرگ
۳- پیاده سازی PdsCART
در این بخش، روش پیشنهادی را توصیف میکنیم که هدف آن موازی سازی الگوریتم درخت تصمیم PdsCART میباشد. بدین منظور، ابتدا هر دوی PdsCART و PdsCART را برای جریانات داده معرفی کرده و سپس جزئیات پیاده سازی MapReduce خود را بیان میکنیم. نکته مهم این است که ما تنها میخواهیم نشان دهیم که مدلهای یادگیری مشابه ممکن است با ثبت موازی انجام شوند که باعث کاهش زمان میشود.
قبل از توصیف شبه کد، ذکر نکتههای زیر ضروری است:
- برای هر خصیصه ai ، مجموعه مقادیر خصیصه Ai به دو زیر مجموعه مجزای و بخش بندی میشوند بطوریکه Ai = ؛
- انتخاب بطور اتوماتیک زیر مجموعه مکمل را تعیین میکند.
- مجموعه تمام بخشهای ممکن مجموعه Ai توسط Vi مشخص میشوند.
- بهبود Gini محاسبه شده برای خصیصه ai در برگ Lq است.
– تعداد عناصر از کلاسk ام در برگ Lq است، برای اینکه مقدار خصیصه ai معادل با است که ().
۳٫۱ ملاحظات مقدماتی
در الگوریتم CART یافتن بهترین نقطه انشعاب، بیشترین زمان را صرف خواهد کرد. برای هر خصیصه در نود فعلی، باید بهبود Gini را با توجه به تمام بخشهای ممکن مجموعه مقادیر خصیصه محاسبه کنیم. تمامی این عملیات برای هر نمونه جدیدی که از جریان داده خوانده میشود، فضایی را میگیرد.
همچنین، هر خصیصه انتخاب شده در یک نود مورد نظر با توجه به داده فعلی آن، مشابه یکی با احتمال بالا، بعنوان انتخاب شده پس از خوانش کامل داده است. بدین معنا که مهم نیست موقعی که این تخمینها انجام میشوند، آنها با احتمالی یکسان با خصیصه انتخاب شوند.
تمام این حقایق مارا تحریک به محاسبه و کنترل شرایط انشعاب پس از خواندن یک مقدار متغیری از نمونهها هنگام پردازش مستقل آنها میکنند. با انتخاب احتمال بالای مناسب(پارامتر α)، الگوریتم ما قادر به تولید درختان تصمیم بسیار مشابه در مقایسه با dsCART ، با سطح یکسانی از دقت اما زمانهای پردازش سریعتر میکند. رویه موازی الگوریتم PdsCART در زیر بخش بعدی آمده و نتایج استفاده از این الگوریتم در بخش آزمایشات می آید.
۳٫۲ پیادهسازی MapReduce
در درختان تصمیم PdsCART توزیع شده، نمونه MapReduce را با استفاده از یک روش بخش بندی افقی بکار میبریم. پردازش کنترلر رشد درخت را تعدیل میکند، در حالیکه پردازشهای نگاشت دهنده و کاهش دهنده وظایف استاندارد خود را کامل انجام میدهند. با این فرض که نگاشت دهنده P را داریم و میخواهیم رکوردهای R را بطور موازی مصرف کنیم، کنترلر به هر نگاشت دهنده R/ P رکورد برای پردازش تخصیص داده میشود.
یادگیری درختان تصمیم جریانهای داده بزرگ
۴- آزمایشات
این بخش چندین نتیجه را از آزمایشات ما بطور خلاصه مطرح میکند. رویه موازی برای یادگیری درخت تصمیم از جریانات داده برای دست یافتن به نتایج یکسان با الگوریتم dsCART طراحی میشود. در حقیقت، در تمام تستهای ما، هنگام اجرا با مقدار α مناسب تنظیمات یکسان (به جز تعداد رکوردهای پردازش شده)، ما دقیقاً درختان مشابه با سطح یکسانی از دقت را با پیادهسازی dsCART بدست آوردهایم. بدین دلیل، ما نیاز نداریم که تفاوتهای دقت میان مدلهای یادگیری را محک بزنیم. در عوض، میخواهیم کارایی تئوری و عملی بدست آمده از پیاده سازی راه حلمان را با پردازش موازی تقویت کنیم.
بدین منظور، ابتدا سناریوهای تجربی جزئیات مجموعههای داده مورد نظر، توصیف کرده و سپس نتایج پیاده سازی روش پیشنهادی را ارائه میدهیم.
۱٫۴ سناریوهای تجربی
اداره تعداد بزرگتری از رکوردهای داده بطور موازی زمان پردازش را کاهش خواهد داد، چندید جنبه دیگر به منظور ارزیابی رویه موازی ما در نظر گرفته شده است. برخی از جنبههای مورد نظر، علاوه بر زمان اجرا شامل: تعداد رکوردهای مورد نظر در تکرار، تعداد خصیصهها و تعداد انبارهاست. جنبههای دیگر، همانند اندازه درخت تصمیم، پارامتر α و روابط وابستگی بین تمام جنبهها ممکن است برای آینده در نظر گرفته شود.
۲٫۴ نتایج تجربی
مجموعه اولیه نتایج، موجود در جدول ۲، بهبود زمان اجرای PdsCART را در مقایسه با dsCART با تولید دقیق درختان مشابه و دقیق نشان میدهد.
یادگیری درختان تصمیم جریانهای داده بزرگ
۵- نتیجه گیری و تحقیقات آینده
در این مقاله ما نشان دادیم چگونه درخت تصمیمی را در چهارچوب MapReduce پیاده سازی کنیم. مزیت اول ین الگوریتم توانایی تولید درخت تصمیم در یک مسیر تنها روی داده است. در مفهوم جریان داده، وجود چندین مسیر روی مجموعه داده یکسان بسیار سخت یا حتی ناممکن است. موفقیت بعدی روش، کارایی پیاده سازی است. ما توانستیم نشان دهیم که الگوریتم نتایج بسیار خوبی را در موازی سازی تعداد بزرگتری از رکوردها بدست میآورد.
این نتایج پایه ای را برای نحقیقات بیشتر ایجاد میکند. لازم است تحلیل کنیم که چگونه الگوریتم با افزایش تعداد واحدهای پردازش سنجیده میشود و در کدام روش تمامی پارامترهای دیگر تحت تأثیر رفتار الگوریتم هستند. خروجی به آسانی قابل حدس است. در هر حال باید کار بیشتری به منظور ارزیابی تأثیر این پارامترها روی کیفیت درختان تصمیم انجام شود. میدانیم که میتوانیم نرخهای خطای مشابهی با دیگر الگوریتمها بدست آوریم. برخی از دیگر پارامترها پیرامون درختها همانند اندازه، عمق، ترتیب خصیصهها، باید در آینده بررسی شوند.