پوست‌اندازی الگوریتم‌ها در جریان‌های داده‌ای

۱۲ مرداد ۱۳۹۸

در سه دهه گذشته، تحقیقات و تحقیقات یادگیری ماشین بر یادگیری دسته‌ای معمولا با استفاده از مجموعه داده‌های کوچک متمرکز شده‌اند. در یادگیری دسته‌ای، کل داده‌های آموزشی در دسترس الگوریتم هستند که بعد از چندین بار پردازش داده‌ها در نهایت یک مدل تصمیم‌گیری را ارائه می‌کند. منطق پشت این عمل این است که نمونه‌ها به‌صورت تصادفی براساس توزیع احتمالی نسبتاً ثابت تولید می‌شوند. اکثر الگوریتم‌های یادگیری از یک جستجوی حریصانه و تپه‌نوردی در فضای مدل‌ها استفاده می‌کنند که آن‌ها را مستعد بروز مشکلاتی مثل واریانس زیاد یا بیش‌برازش (overfitting) می‌گرداند. بین واریانس و اندازه نمونه روابط قابل توجهی وجود دارد. هنگام یادگیری از مجموعه داده‌های کوچک، مشکل اصلی کاهش‌دادن واریانس است در حالی که یادگیری از مجموعه داده‌های بزرگ می‌تواند زمانی موثر باشد که با استفاده از الگوریتم‌هایی که تاکید بیشتری بر روی مدیریت بایاس دارند، اجرا شوند.

در بسیاری از کاربردهای چالش‌برانگیز، الگوریتم های یادگیری در محیط‌های پویایی عمل می‌کنند که در آنها داده‌ها در طول زمان جمع‌آوری می‌شوند. یکی از ویژگی‌های مطلوب این الگوریتم‌ها، توانایی ترکیب اطلاعات جدید است. برخی از الگوریتم‌های یادگیری با نظارت مثل نزدیک‌ترین همسایه و بیز ساده به طور طبیعی افزایشی هستند. برخی دیگر، مانند درخت‌های تصمیم‌گیری، نیاز به تغییرات اساسی به‌منظور ایجاد استنتاج افزایشی دارند. علاوه بر این، اگر این فرآیند به شدت ثابت نباشد (مثل اکثر کاربردهای دنیای واقعی)، مفهوم هدف می‌تواند به تدریج در طول زمان تغییر کند. یادگیری افزایشی یک ویژگی ضروری است اما کافی نیست. سیستم‌های یادگیری افزایشی باید مکانیسم‌هایی برای ترکیب شدن مفهومی، فراموش کردن کردن داده‌های قدیمی و تطبیق با جدیدترین حالت طبیعت داشته باشند.

دیتابیس‌های کنونی و آینده

چیزی که دیتابیس‌های کنونی را از موارد قبلی متمایز می‌کند، ورود خودکار داده‌ها است. ما فقط افرادی را نداریم که داده‌ها را وارد کامپیوتر می‌کنند؛ در عوض، ما کامپیوترهایی داریم که داده‌ها را وارد یکدیگر می‌کنند! امروزه کاربردهایی وجود دارند که در آن‌ها داده‌ها نه به عنوان جداول ماندگار، بلکه به عنوان جریان‌های داده‌ای گذرا بهتر مدل‌سازی می‌شوند. نمونه‌هایی از چنین کاربردهایی شامل مانیتورینگ شبکه، وب کاوی، شبکه‌های حس‌گر، ارتباط از راه دور و کاربردهای مالی می‌شوند. در این کاربردها شدنی نیست که داده‌های ورودی را در قالب یک سیستم مدیریت دیتابیس (DBMS) سنتی بارگذاری کنیم چراکه این سیستم‌ها اصولاً برای پشتیبانی مستقیم از کوئری‌های پیوسته که در کاربردهای ذکر شده مورد نیاز است، طراحی نشده‌اند.

الگوریتم‌ها و چالش جریان‌های داده‌ای

محدودیت‌های ذکرشده بر این دلالت دارند که باید از وظایف یادگیری تک شات به یک چشم‌انداز مادام‌العمر و فراگیر مهاجرت کرد. از این منظر که توسط همه محیط‌های امروزی القا می‌شود، مجموعه‌های آموزشی محدود، مدل‌های استاتیک، و توزیع‌های ثابت باید به طور کامل دوباره تعریف شوند. این جنبه‌ها شامل ویژگی‌های جدیدی برای داده‌ها هستند:

  • داده‌ها از طریق جریان‌های نامحدود که به طور مداوم جریان می‌یابند، در نهایت با سرعت بالا، در طول زمان، در دسترس قرار می‌گیرند؛
  • قواعد اساسی ممکن است در طول زمان تکامل یابند به جای اینکه ثابت باشند؛
  • داده‌ها دیگر نمی‌تواند به صورت مستقل و یکنواخت در نظر گرفته شود؛
  • داده‌ها در حال حاضر اغلب به صورت فضایی و همچنین زمانی قرار دارند.

اما آیا این ویژگی‌ها واقعا ماهیت یادگیری ماشین را تغییر می‌دهند؟ سازگاری با الگوریتم‌های یادگیری موجود برای مقابله با نیازهای جدید، کافی نیست؟ این نگرانی‌های جدید در واقع ممکن است به ظاهر چکیده ظاهر شوند و تاثیر مستقیمی بر روش‌های یادگیری ماشین نداشته باشند. برعکس، حتی عملیات بسیار ساده‌ای که در هسته روش‌های یادگیری وجود دارند در تنظیمات جدید به چالش کشیده می‌شوند.

مثال‌هایی از چالش‌های کنونی

رویکرد استاندارد به متغیرهای خوشه (ستون‌های موجود در یک ماتریس عملیاتی) را در نظر بگیرید. در سناریوی دسته‌ای که در آن همه داده‌ها موجود هستند و در یک ماتریس عملیاتی ذخیره می‌شوند، می‌توانیم هر الگوریتم خوشه‌بندی را روی ترانهاده ماتریس عملیاتی اعمال کنیم. در سناریویی که در آن داده‌ها در طول زمان تکامل می‌یابند، این امکان پذیر نیست، چون عملگر ترانهاده یک عملگر مسدودکننده است. اولین چندتایی خروجی تنها بعد از پردازش همه چندتایی‌های ورودی موجود می‌شود.

اکنون، به محاسبه آنتروپی مجموعه داده‌ها فکر کنید در زمانی که این مجموعه به عنوان یک جریان داده وجود دارد که دیگر متناهی نیست جایی‌که دامنه (مجموعه مقادیر) متغیرها می‌تواند خیلی بزرگ باشد و تعداد کلاس‌های یک موضوع ناشی از دانش پیشینی نیست. یا اینکه به نگهداری مداوم اقلام مکرر در یک انبارداده خرده‌فروش با سه ترابایت داده، صدها گیگابایت از سوابق فروش جدید روزانه که با میلیون ها اقلام مختلف به روز می‌شود فکر کنید. اکنون، محاسبات آماری چگونه می‌شود زمانی که یادگیرنده تنها می‌تواند یک گذر از هر داده را به دلیل محدودیت‌های زمانی و حافظه تقبل کند؛ زمانی که یاد گیرنده باید تصمیم بگیرد چه چیزی مرتبط است و باید پردازش شود و چه چیزی اضافی است یا و می‌تواند دور ریخته شود؟ اینها چند مثال از نیاز واضح برای رویکردهای الگوریتمی جدید هستند.

 

یادداشت فوق، ترجمه‌ای نسبتاً متعهدانه از کتاب Knowledge discovery from data streams اثر João Gama به تاریخ انتشار سال ۲۰۱۰ است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *