بررسی مختصری از الگوریتم های طبقه بندی سری زمانی

ساخت وبلاگ

الگوریتم های اختصاصی به ویژه برای طبقه بندی سری زمانی طراحی شده اند

یک کار مشترک برای یادگیری ماشین سری زمانی طبقه بندی است. با توجه به مجموعه ای از سریال های زمانی با برچسب های کلاس ، آیا می توانیم یک مدل را آموزش دهیم تا کلاس سری های جدید را به طور دقیق پیش بینی کنیم؟

بسیاری از الگوریتم های اختصاص داده شده به طبقه بندی سری زمانی وجود دارد! این بدان معنی است که شما داده های خود را به یک طبقه بندی کننده Scikit-Lea نبر نمی کنید و یا به یادگیری عمیق روی می آورید تا هر کار طبقه بندی سری زمانی را حل کنید.

در این مقاله ، پنج دسته از الگوریتم های طبقه بندی سری زمانی را با جزئیات الگوریتم های خاص معرفی می کنم. این الگوریتم های خاص نشان داده شده است که به طور متوسط بهتر از طبقه بندی پایه (KNN) در تعداد زیادی از مجموعه داده های مختلف عمل می کنند [1].

  1. از راه دور (KNN با پیچ و تاب زمان پویا)
  2. مبتنی بر فاصله (Timeseriesforest)
  3. مبتنی بر فرهنگ لغت (رئیس ، CBOSS)
  4. مبتنی بر فرکانس (ظهور-مانند Timeseriesforest اما با سایر ویژگی ها)
  5. مبتنی بر شاپلت (طبقه بندی کننده تبدیل شاپلت)

من با راهنمایی مختصر در مورد انتخاب یک الگوریتم مناسب نتیجه می گیرم.

الگوریتم های شرح داده شده در این مقاله در بسته SKIME Python اجرا شده است.

SKTIME: یک کتابخانه یکپارچه پایتون برای یادگیری ماشین سری زمانی

"Sklea" برای پیش بینی سریال های زمانی ، طبقه بندی و رگرسیون

چرا الگوریتم های اختصاصی برای سری های زمانی؟

الگوریتم های طبقه بندی سری زمانی تمایل به عملکرد بهتر از طبقه بندی های جدولی در مشکلات طبقه بندی سری زمانی دارند.

یک راه حل متداول ، اما مشکل ساز برای طبقه بندی سری زمانی ، درمان هر نقطه به عنوان یک ویژگی جداگانه و استفاده مستقیم از یک الگوریتم یادگیری استاندارد (به عنوان مثال طبقه بندی کننده های Scikit-Lea) است. در این رویکرد ، الگوریتم اطلاعات موجود در ترتیب زمانی داده ها را نادیده می گیرد. اگر سفارش ویژگی تقلا می شد ، پیش بینی ها تغییر نمی کنند.

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

  • انتخاب یک معماری کارآمد
  • تنظیم پارامتری بیش از حد
  • داده های محدود (شبکه های عصبی به مثال های زیادی نیاز دارند)
  • آهسته آموزش

علیرغم این چالش ها ، معماری های شبکه عصبی خاص برای طبقه بندی سری زمانی وجود دارد. اینها در بسته Python SKIME-DL اجرا شده است.

مفاهیم اساسی طبقه بندی سری زمانی

تحولات سری زمانی

بسیاری از الگوریتم های خاص سری زمانی ترکیب هایی از سری زمانی تبدیل شده و الگوریتم های طبقه بندی معمولی مانند نمونه های موجود در Scikit-Lea هستند.

استخراج ویژگی بسیار متنوع و پیچیده است.

ویژگی ها را می توان در سطح جهان (در کل سری زمانی) یا محلی (بیش از فواصل منظم/سطل ، فواصل تصادفی ، پنجره های کشویی فواصل و غیره) استخراج کرد.

سری را می توان به مقادیر ابتدایی تبدیل کرد (به عنوان مثال ، انحراف استاندارد ، شیب) یا به سری های دیگر (به عنوان مثال تبدیل فوریه ، سری از ضرایب اتخاذ شده خودکار متناسب).

آخر ، تحولات می توانند یک بعدی یا چند بعدی باشند.

تجزیه و تحلیل سری زمانی بسیار مقایسه ای - یک بررسی مقاله

تجزیه و تحلیل استخراج ویژگی های سری زمانی برای مقایسه ، خوشه بندی ، طبقه بندی و حاشیه نویسی

پیمانکاری

پیمانکاری یک مفهوم کلیدی است که در اکثر الگوریتم های شرح داده شده در این مقاله استفاده می شود.

به بیان ساده ، پیمانکاری زمان اجرای یک الگوریتم را محدود می کند. تا زمانی که زمان اختصاص یافته منقضی شود ، الگوریتم برای یادگیری کار داده شده تکرار می شود.

طبقه بندی مبتنی بر فاصله

این طبقه بندی کننده ها برای تعیین عضویت در کلاس از معیارهای از راه دور استفاده می کنند.

K-Nearest همسایگان (با پیچ و تاب زمان پویا) برای سریال های زمانی

الگوریتم محبوب همسایگان K-Nearest (KNN) را می توان با جایگزینی متریک فاصله اقلیدسی با متریک پویا Time Warping (DTW) برای سری زمانی تطبیق داد. DTW شباهت بین دو دنباله را اندازه گیری می کند که ممکن است دقیقاً در زمان ، سرعت یا طول تراز نباشد.(برای توضیح من در مورد DTW برای خوشه بندی سری زمانی اینجا را کلیک کنید).

KNN با DTW معمولاً به عنوان معیار برای ارزیابی الگوریتم های طبقه بندی سری زمانی استفاده می شود زیرا ساده ، قوی است و نیازی به تنظیم بیش از حد بیش از حد ندارد.

در حالی که مفید است ، KNN با DTW به فضای و زمان زیادی برای محاسبه نیاز دارد. در طول طبقه بندی ، KNN-DTW هر شی را با تمام اشیاء دیگر در مجموعه آموزش مقایسه می کند. علاوه بر این ، KNN اطلاعات محدودی در مورد دلیل اختصاص یک سری به یک کلاس خاص ارائه می دهد.

KNN همچنین ممکن است با سریال های پر سر و صدا ضعیف عمل کند - سر و صدای یک سری ممکن است از نظر شکل که برای تبعیض کلاس مفید است ، بر تفاوت های ظریف غلبه کند [4].

طبقه بندی کننده های مبتنی بر فاصله

این طبقه بندی طبقه بندی طبقه بندی بر روی اطلاعات موجود در فواصل مختلف سری.

طبقه بندی کننده جنگل سری زمانی

طبقه بندی کننده یک سری Forest (TSF) طبقه بندی کننده جنگل تصادفی را با داده های سری سازگار می کند.

  1. این سری را به فواصل تصادفی تقسیم کنید ، با موقعیت های شروع تصادفی و طول تصادفی.
  2. ویژگی های خلاصه عصاره (میانگین ، انحراف استاندارد و شیب) از هر بازه به یک بردار ویژگی واحد.
  3. یک درخت تصمیم گیری را بر روی ویژگی های استخراج شده آموزش دهید.
  4. مراحل 1-3 را تکرار کنید تا تعداد مورد نیاز درختان ساخته شود یا زمان آن تمام شود.

سری جدید با توجه به اکثریت رای همه درختان جنگل طبقه بندی می شود.(با اکثریت رای ، پیش بینی طبقه ای است که توسط بیشترین درختان پیش بینی می شود پیش بینی جنگل است).

مطالعات تجربی نشان داده اند که جنگل سری زمانی می تواند از رقبای پایه مانند نزدیکترین همسایگان با پیچ و تاب زمان پویا بهتر عمل کند [1 ، 7].

جنگل سری زمانی نیز از نظر محاسباتی کارآمد است.

آخرین ، Forest سری زمانی یک مدل قابل تفسیر است. اهمیت ویژگی زمانی را می توان از سری Time Series استخراج کرد ، همانطور که در نسخه ی نمایشی طبقه بندی سری یک متغیره SKTINE نشان داده شده است.

طبقه بندی مبتنی بر فرهنگ لغت

طبقه بندی کننده های مبتنی بر فرهنگ لغت ابتدا سری زمانی با ارزش واقعی را به دنباله ای از "کلمات" گسسته تبدیل می کنند. سپس طبقه بندی بر اساس توزیع کلمات نمادین استخراج شده است.

طبقه بندی کننده های فرهنگ لغت همه از همان فرآیند هسته استفاده می کنند: یک پنجره کشویی از طول W در یک سری اجرا می شود. برای هر پنجره ، سری عددی به "کلمه" طول l تبدیل می شود. این کلمه از حروف ممکن α تشکیل شده است.

کیف نمادهای SFA (رئیس)

ویژگی های کلمه برای طبقه بندی کننده های رئیس با استفاده از تحول نمادین فوریه (SFA) از سری استخراج می شوند:

  1. محاسبه تبدیل فوریه پنجره را محاسبه کنید (اصطلاح اول در صورت بروز عادی نادیده گرفته می شود)
  2. اولین اصطلاحات L Fourier را در نمادها گسسته کنید تا با استفاده از ضریب چندین ضریب (MCB) "کلمه" را تشکیل دهید. MCB یک الگوریتم تحت نظارت است که سری زمانی مداوم را به دنباله ای از حروف سطل می دهد.

همانطور که توسط خطوط سبز موقعیت متفاوت نشان داده شده است ، MCB هر نقطه را به طور مستقل از سایر نقاط زمانی سطل می زند. ساکس ، یک الگوریتم سریال دیگر سری ، هر سری زمانی را به طور مستقل سطل می زند. منبع: مستندات PYTS

فرهنگ لغت این کلمات به عنوان اسلایدهای پنجره ساخته می شود و تعداد فرکانس هر کلمه را ضبط می کند. اگر همان کلمه توسط دو یا چند ویندوز متوالی تولید شود ، این کلمه فقط یک بار شمارش می شود. با اتمام پنجره کشویی ، این سریال بر اساس فرهنگ لغت به یک هیستوگرام تبدیل می شود.

سرانجام ، هر طبقه بندی می تواند بر روی کلمه هیستوگرام های استخراج شده از این سری آموزش داده شود.

گروه رئیس

الگوریتم اصلی رئیس در واقع مجموعه ای از طبقه بندی کننده های رئیس است که قبلاً توضیح داده شده است. گروه رئیس ، جستجوی شبکه را در سراسر پارامترهای (L ، α ، W و P) طبقه بندی کننده رئیس شخصی انجام می دهد.(P کنترل می کند که آیا زیرمجموعه ها عادی شده اند.) این گروه فقط اعضایی را که دقت آنها در دقت 92 ٪ از بهترین طبقه بندی کننده است ، حفظ می کند.

گروه رئیس با استفاده از یک الگوریتم نزدیکترین همسایه به عنوان طبقه بندی کننده آن استفاده می کند. طبقه بندی کننده از یک تابع مسافت غیر متقارن سفارشی استفاده می کند: یک فاصله جزئی اقلیدسی که فقط شامل کلمات موجود در هیستوگرام نمونه آزمون است.

با توجه به جستجوی یک فضای پارامتر از پیش تعریف شده بزرگ ، رئیس دارای زمان سربار است و باعث بی ثباتی در استفاده از حافظه می شود.

گروه رئیس دقیق ترین طبقه بندی کننده مبتنی بر فرهنگ لغت در مقاله پخت طبقه بندی سری عالی بود [1].

رئیس قرارداد (CBOSS)

الگوریتم CBOSS یک ترتیب از بزرگی سریعتر از رئیس است. در مقایسه با BOSS ، CBOSS تفاوت معنی داری در دقت در مجموعه داده ها در بایگانی طبقه بندی UCR نداشت.

به جای انجام جستجوی شبکه در فضای کامل پارامتر مانند رئیس ، CBOSS به طور تصادفی از فضای پارامتر و بدون تعویض نمونه می گیرد. CBOSS سپس داده ها را برای هر طبقه بندی پایه زیرزمینی می کند.

CBOSS به جای حفظ همه طبقه بندی ها در بالای آستانه عملکرد معین ، با حفظ تعداد ثابت از طبقه بندی کننده های پایه ، نیازهای حافظه رئیس را بهبود می بخشد. آخر ، CBOSS به صورت نمایی سهم هر طبقه بندی پایه را با توجه به دقت قطار وزن می کند.

مبتنی بر فرکانس

طبقه بندی کننده های مبتنی بر فرکانس به داده های فرکانس استخراج شده از سری متکی هستند.

گروه طیفی فاصله تصادفی (افزایش)

گروه طیفی فاصله تصادفی ، یا افزایش ، یک نوع محبوب از جنگل سری زمانی است.

ظهور از دو روش از جنگل سری زمانی متفاوت است. ابتدا از یک بازه سری زمانی در هر درخت استفاده می کند. دوم ، به جای آمار خلاصه ، با استفاده از ویژگی های طیفی استخراج شده از این سری آموزش داده می شود.

ظهور از چندین ترانسفورماتور استخراج ویژگی های سری به سری استفاده کنید ، از جمله:

  • ضرایب اتخاذ شده خودکار
  • ضرایب همبستگی تخمین زده شده
  • ضرایب طیف قدرت (ضرایب تبدیل فوریه)

الگوریتم ظهور ساده است:

  1. فاصله تصادفی یک سری را انتخاب کنید (طول 2 قدرت 2 است).(برای اولین درخت ، از کل سری استفاده کنید)
  2. برای همان بازه در هر سری ، ترانسفورماتورهای استخراج ویژگی سری به سری (ضرایب اتورسگر ، ضرایب همبستگی و ضرایب طیف قدرت) را اعمال کنید.
  3. یک آموزش جدید را با هماهنگی ویژگی های استخراج شده تشکیل دهید
  4. یک طبقه بندی کننده درخت تصمیم را آموزش دهید
  5. گروه 1-4

احتمالات کلاس به عنوان بخشی از آراء طبقه بندی کننده پایه محاسبه می شود. Rise با ایجاد یک مدل تطبیقی از زمان ساخت یک درخت واحد ، زمان اجرا را کنترل می کند. این برای سریال های طولانی (مانند صوتی) مهم است ، جایی که فواصل بسیار بزرگ می تواند به معنای درختان بسیار کمی باشد.

طبقه بندی کننده های مبتنی بر شکل

Shapelets دنبال کننده ها یا زیر مجموعه های کوچک سری زمانی است که نماینده یک کلاس هستند. از آنها می توان برای تشخیص "شباهت محلی مستقل از فاز بین سری در همان کلاس" استفاده کرد [1].

خط آبی سری اصلی است. خط قرمز شکل است که از آن استخراج شده است. تصویر اصلاح شده از [4].

یک شاپلت منفرد یک بازه در یک سری زمانی است. فواصل موجود در هر سری قابل ذکر است. به عنوان مثال ، [1،2،3،4] دارای 5 فاصله است: [1،2] ، [2،3] ، [3،4] ، [1،2،3] ، [2،3،4].

طبقه بندی کننده های مبتنی بر شاپلت در جستجوی شاپلت با قدرت تبعیض آمیز.

از این ویژگی های شاپلت می توان برای تفسیر طبقه بندی کننده مبتنی بر شاپلت استفاده کرد-وجود برخی از شکل های خاص باعث می شود یک کلاس از دیگری بیشتر شود.

طبقه بندی کننده تبدیل شاپلت

در طبقه بندی کننده تبدیل Shapelet ، الگوریتم ابتدا Shapelets K را در مجموعه داده ها مشخص می کند.

در مرحله بعد ، ویژگی های K برای مجموعه داده جدید محاسبه می شود. هر ویژگی به عنوان فاصله سری به هر یک از k s hapelets محاسبه می شود ، با یک ستون در هر شاپلت.

سرانجام ، هر الگوریتم طبقه بندی مبتنی بر وکتور می تواند در مجموعه داده های تبدیل شده به شکل استفاده شود. در [1] ، از طبقه بندی کننده گروه وزنی استفاده شد. در [2] ، نویسندگان فقط از یک طبقه بندی کننده جنگل چرخش ، یک گروه مبتنی بر درخت استفاده می کنند که هر درخت را بر روی زیر مجموعه ای از ویژگی های تبدیل شده توسط PCA می سازد [5]. به طور متوسط ، Rotation Forest بهترین طبقه بندی کننده برای مشکلات دارای ویژگی های مداوم است ، همانطور که در [6] نشان داده شده است.

در Sktime ، طبقه بندی کننده جنگلی تصادفی (500 درخت) به طور پیش فرض استفاده می شود زیرا جنگل چرخش هنوز در پایتون موجود نیست [8].

چگونه الگوریتم Shapelets را شناسایی و انتخاب می کند؟

در SKTIME ، فرایند جستجوی Shapelet به طور کامل تمام شپت های ممکن را به طور کامل شمرده و ارزیابی نمی کند. درعوض ، به طور تصادفی برای ارزیابی Shapelets جستجو می کند.

هر شاپلت در نظر گرفته شده با توجه به افزایش اطلاعات ارزیابی می شود. قوی ترین شکل های غیر همپوشانی حفظ می شوند.

می توانید قبل از انجام تبدیل شاپلت ، مقدار زمان جستجو برای جستجو در شاپلت را مشخص کنید. زمان پیش فرض در SKTIME 300 دقیقه است.

طبقه بندی کننده های گروه

چاشنی

مجموعه رأی سلسله مراتبی مجموعه های مبتنی بر تحول (Hive-Cote) یک گروه متا است که بر روی طبقه بندی کننده هایی که قبلاً مورد بحث قرار گرفته است ساخته شده است.

پیش بینی های آهک کندو میانگین وزنی پیش بینی های تولید شده توسط اعضای آن است: طبقه بندی کننده تبدیل شاپلت ، رئیس ، جنگل سری زمانی و ظهور.

هر زیر طبقه بندی احتمال هر کلاس را تخمین می زند. واحد کنترل سپس این احتمالات (CAPWE) را ترکیب می کند. وزن ها به عنوان کیفیت تخمین نسبی طبقه بندی کننده موجود در داده های آموزش اختصاص می یابد.

از کدام طبقه بندی استفاده کنید؟

هنگام انتخاب طبقه بندی سری زمانی ، سه ملاحظه اصلی وجود دارد: دقت پیش بینی ، پیچیدگی زمان/حافظه و بازنمایی داده ها.

بدون اطلاعات خاص داده ، با موشک یا سمپت کندو شروع کنید.(موشک یک طبقه بندی خطی ساده است که بر اساس هسته های حلقوی تصادفی - طول تصادفی ، وزن ، تعصب ، اتساع و بالشتک). نویسندگان [2] استدلال می کنند که "بدون هیچ دانش تخصصی برعکس ، دقیق ترین طراحی الگوریتم برای طبقه بندی کننده های گروهی است که بر روی بازنمودهای مختلف ساخته شده اند."به طور متوسط ، موشک بدتر از سمپت کندو نیست و بسیار سریعتر است.

فارکس کاران ایران...
ما را در سایت فارکس کاران ایران دنبال می کنید

برچسب : نویسنده : ديناروند فهيمه بازدید : 61 تاريخ : جمعه 19 خرداد 1402 ساعت: 23:30