Original Title: Concept Drift Adaptation in Large-scale Distributed Data Stream Processing
Source: it4bi.ulb.ac.be
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការសម្របតាមបម្រែបម្រួលទិន្នន័យ (Concept Drift) ក្នុងដំណើរការស្ទ្រីមទិន្នន័យបែងចែកទ្រង់ទ្រាយធំ

ចំណងជើងដើម៖ Concept Drift Adaptation in Large-scale Distributed Data Stream Processing

អ្នកនិពន្ធ៖ Anastasiia Basha (Technische Universität Berlin)

ឆ្នាំបោះពុម្ព៖ 2016

វិស័យសិក្សា៖ Computer Science / Machine Learning

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ម៉ូដែលរៀនម៉ាស៊ីនប្រពៃណី (Traditional Machine Learning) ជួបការលំបាកនៅពេលដែលទិន្នន័យមានការផ្លាស់ប្តូរតាមពេលវេលា (Concept drift) នៅក្នុងស្ទ្រីមទិន្នន័យធំៗ ដែលទាមទារឱ្យមានប្រព័ន្ធរៀនអនឡាញ (Online Learning) ដែលអាចពង្រីកទំហំបាន។

វិធីសាស្ត្រ (The Methodology)៖ អ្នកនិពន្ធបានរចនា និងអនុវត្តក្បួនដោះស្រាយបណ្តុំ (Bagging ensemble algorithm) ដែលអាចសម្របខ្លួនទៅនឹងបំរែបំរួលទិន្នន័យនៅក្នុង Apache Flink ដោយធ្វើការវាយតម្លៃលើសំណុំទិន្នន័យសិប្បនិម្មិត និងទិន្នន័យជាក់ស្តែង។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Native Flink Adaptive Bagging (Proposed)
ការអនុវត្ត Adaptive Bagging ដើមនៅក្នុង Apache Flink (ក្បួនដោះស្រាយដែលបានស្នើ)
មានល្បឿនលឿនខ្លាំងក្នុងការប្រមូលផ្តុំទិន្នន័យ និងមានភាពត្រឹមត្រូវខ្ពស់ជាងមុន ដោយមិនងាយរងឥទ្ធិពលពីការរកឃើញបម្រែបម្រួលខុស (False alarms) ដោយសារការប្រើ Reactive base learner។ ទាមទារការកំណត់ប៉ារ៉ាម៉ែត្រច្រើន (ដូចជា λ, θ, w) និងកង្វះការចែករំលែកព័ត៌មានអន្តរម៉ូដែល (Local drift detector) ដោយសារដែនកំណត់របស់ Flink។ ប្រើពេលត្រឹមតែ ៣៣.៥ វិនាទី សម្រាប់ដំណើរការសំណាកទិន្នន័យចំនួន ៥០០,០០០ និងមានអត្រាកំហុសទាបបំផុត។
SAMOA Adaptive Bagging
ក្បួនដោះស្រាយ Adaptive Bagging របស់ប្រព័ន្ធ SAMOA
ងាយស្រួលក្នុងការប្រើប្រាស់និងដាក់ឱ្យដំណើរការ ដោយសារវាជា Framework ស្រាប់ និងប្រើប្រាស់ VHT ស្តង់ដារជា base learner។ ប្រើប្រាស់ពេលវេលាដំណើរការយូរខ្លាំងមែនទែននៅលើ Flink ដោយសារមិនបានប្រើប្រាស់ Native Optimization របស់ប្រព័ន្ធបានពេញលេញ។ ប្រើពេលរហូតដល់ ២៦៧០.៧៥ វិនាទី សម្រាប់ដំណើរការទិន្នន័យទំហំដូចគ្នា (យឺតជាងប្រហែល ៨០ ដង) និងមានភាពត្រឹមត្រូវទាបជាងបន្តិច។
Simple Reset Baseline
វិធីសាស្ត្រ Baseline ដែលកំណត់ម៉ូដែលឡើងវិញ (Reset) ពេលមានបម្រែបម្រួល
មានភាពសាមញ្ញក្នុងការសរសេរកូដ និងអាចចាប់យកទម្រង់ទិន្នន័យថ្មីបានលឿនប្រសិនបើបម្រែបម្រួលនោះកើតឡើងលឿននិងច្បាស់លាស់។ កម្រិតភាពត្រឹមត្រូវធ្លាក់ចុះខ្លាំងកំឡុងពេលស្ទុះងើបឡើងវិញ ហើយងាយរងគ្រោះដោយសារទិន្នន័យរំខាន (Noise) ដែលបណ្តាលឱ្យ Reset ម៉ូដែលខុស។ ក្រាហ្វបង្ហាញពីការធ្លាក់ចុះភាពត្រឹមត្រូវយ៉ាងគំហុក (Spikes in error rate) នៅពេលជួបប្រទះការរកឃើញបម្រែបម្រួលមិនពិត (False drift)។
SAMOA Vertical Hoeffding Tree (VHT)
ក្បួនដោះស្រាយដើមឈើសម្រេចចិត្ត VHT របស់ SAMOA
លឿនជាងវិធីសាស្ត្របណ្តុំ (Bagging) ដោយសារវាប្រើតែម៉ូដែលមួយ និងអាចសម្របខ្លួនបានល្មមចំពោះបម្រែបម្រួលបន្តិចម្តងៗ។ មិនមានយន្តការត្រៀមទុកសម្រាប់សម្របខ្លួននឹងបម្រែបម្រួលទិន្នន័យធំៗ (Concept Drift) នោះទេ ដែលធ្វើឱ្យវាខ្សោយជាង Adaptive Bagging។ ដំណើរការអស់រយៈពេល ១១៣.២៥ វិនាទី តែមានអត្រាកំហុសខ្ពស់ជាងក្បួនដោះស្រាយបណ្តុំ (Ensemble methods)។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះទាមទារធនធានកុំព្យូទ័រធុនធំ (Cluster) ជាច្រើនគ្រឿងដើម្បីវាយតម្លៃល្បឿន និងប្រសិទ្ធភាពក្នុងការដំណើរការទិន្នន័យស្ទ្រីមក្នុងទ្រង់ទ្រាយធំដោយប្រើប្រាស់ Apache Flink។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះផ្អែកលើសំណុំទិន្នន័យសិប្បនិម្មិត និងទិន្នន័យជាក់ស្តែងពីទីផ្សារអគ្គិសនីនៅប្រទេសអូស្ត្រាលី និងជើងហោះហើរនៅសហរដ្ឋអាមេរិក។ ទោះបីជាក្បួនដោះស្រាយនេះមានលក្ខណៈទូទៅ ប៉ុន្តែការយកមកប្រើនៅកម្ពុជាទាមទារឱ្យមានការសាកល្បងជាមួយទិន្នន័យក្នុងស្រុក ព្រោះបម្រែបម្រួលទិន្នន័យ (Concept drift) អាស្រ័យយ៉ាងខ្លាំងលើបរិបទសង្គមនិងសេដ្ឋកិច្ចជាក់ស្តែងរបស់ប្រទេសនីមួយៗ។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

វិធីសាស្ត្រនៃការចាត់ចែង និងវិភាគទិន្នន័យកំពុងហូរ (Data stream processing) នេះមានសារៈសំខាន់ខ្លាំងសម្រាប់ស្ថាប័នកម្ពុជាដែលមានទិន្នន័យធំនិងមានការប្រែប្រួលរហ័ស។

សរុបមក ការប្រើប្រាស់ Apache Flink រួមជាមួយក្បួនដោះស្រាយ Adaptive Bagging អាចជួយឱ្យស្ថាប័នកម្ពុជាធ្វើសេចក្តីសម្រេចចិត្តបានលឿន និងច្បាស់លាស់ ទោះបីជាប្រភពទិន្នន័យមានការប្រែប្រួលជាប្រចាំក៏ដោយ។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃ Stream Processing: និស្សិតគួរចាប់ផ្តើមរៀនពីគោលការណ៍កាត់ក្តីទិន្នន័យហូរចូលឥតឈប់ឈរ (Stream Processing) ដោយផ្តោតលើការអនុវត្តប្រព័ន្ធ Apache Flink និង Apache Kafka ជាមូលដ្ឋាន។
  2. ស្វែងយល់ពី Online Machine Learning និង Concept Drift: ត្រូវស្រាវជ្រាវពីទ្រឹស្តីក្បួនដោះស្រាយម៉ាស៊ីនរៀនអនឡាញ (ឧទាហរណ៍ Hoeffding Trees, Adaptive Bagging) និងវិធីសាស្ត្រចាប់យកបម្រែបម្រួលទិន្នន័យដូចជា ADWIN
  3. អនុវត្តការសរសេរកូដនៅលើ Apache Flink: សាកល្បងប្រើប្រាស់ Flink Streaming API ដោយសរសេរជាភាសា JavaScala ដើម្បីបង្កើតប្រព័ន្ធរៀនម៉ាស៊ីនសាមញ្ញ (Data Pipeline)។
  4. ប្រើប្រាស់ប្រព័ន្ធ Apache SAMOA សម្រាប់សាកល្បងម៉ូដែល: រៀនប្រៀបធៀបម៉ូដែលដោយប្រើ Apache SAMOA ដើម្បីងាយស្រួលប្រៀបធៀបប្រសិទ្ធភាពនៃក្បួនដោះស្រាយនានាមុននឹងប្តូរទៅសរសេរកូដដើម (Native Code) នៅក្នុង Flink ផ្ទាល់។
  5. អនុវត្តលើទិន្នន័យជាក់ស្តែងនៅកម្ពុជា: ប្រមូលទិន្នន័យបើកទូលាយ (Open Data) ក្នុងស្រុក ដូចជាទិន្នន័យអាកាសធាតុ ទីផ្សារភាគហ៊ុន ឬចរាចរណ៍រាជធានីភ្នំពេញ ដើម្បីយកមកសាកល្បងប្រសិទ្ធភាពនៃក្បួនដោះស្រាយសម្របតាមបម្រែបម្រួល (Drift Adaptation) នេះ។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Concept Drift បាតុភូតដែលទិន្នន័យផ្លាស់ប្តូរលក្ខណៈសម្បត្តិ ឬអត្ថន័យរបស់វាតាមពេលវេលា ដែលធ្វើឱ្យម៉ូដែលបញ្ញាសិប្បនិម្មិត (AI) ឬម៉ាស៊ីនរៀនចាស់លែងមានភាពត្រឹមត្រូវ និងទាមទារការអាប់ដេតដើម្បីសម្របខ្លួនទៅនឹងទិន្នន័យថ្មី។ ដូចជាការដែលចំណូលចិត្តអតិថិជនប្តូរពីការទិញខោអាវរដូវប្រាំង ទៅជាខោអាវរដូវរងា ធ្វើឱ្យក្បួនទស្សន៍ទាយពីមុនលែងត្រូវនឹងស្ថានការណ៍បច្ចុប្បន្ន។
Online Learning ដំណើរការបណ្តុះបណ្តាលម៉ូដែលរៀនម៉ាស៊ីន (Machine Learning) ដែលរៀនជាបន្តបន្ទាប់រាល់ពេលមានទិន្នន័យថ្មីហូរចូលមកភ្លាមៗ ដោយមិនបាច់រង់ចាំប្រមូលទិន្នន័យទាំងអស់ជាដុំធំសិនទើបចាប់ផ្តើមដំណើរការរៀននោះទេ។ ដូចជាសិស្សដែលរៀនមេរៀនថ្មីជារៀងរាល់ថ្ងៃ ហើយចងចាំភ្លាមៗ ជាជាងរង់ចាំដល់ចុងឆ្នាំទើបរៀនសៀវភៅទាំងមូលតែម្តង។
Data Stream Processing បច្ចេកវិទ្យាក្នុងការទទួល វិភាគ និងចាត់ចែងទិន្នន័យដែលហូរចូលមកឥតឈប់ឈរ (ឧទាហរណ៍ពីសេនស័រ ឧបករណ៍ IoT ឬបណ្តាញសង្គម) ក្នុងពេលវេលាជាក់ស្តែង (Real-time) ដោយមិនរក្សាទុកវាយូរ។ ដូចជាប៉ូលីសចរាចរណ៍កំពុងត្រួតពិនិត្យ និងបញ្ជាឡាននៅលើផ្លូវធំដែលកំពុងបើកបរខ្វាត់ខ្វែងគ្រប់វិនាទី មិនមែនរង់ចាំឡានចតស្ងៀមទើបចាត់ចែងនោះទេ។
Ensemble Methods វិធីសាស្ត្រក្នុងការរួមបញ្ចូលម៉ូដែលរៀនម៉ាស៊ីនតូចៗជាច្រើនបញ្ជូលគ្នា ដើម្បីធ្វើការទស្សន៍ទាយរួមមួយ ដែលផ្តល់លទ្ធផលច្បាស់លាស់និងមានស្ថេរភាពជាងការប្រើប្រាស់ម៉ូដែលតែមួយឯកឯង។ ដូចជាការសួរសុំយោបល់ពីវេជ្ជបណ្ឌិត១០នាក់ រួចយកចម្លើយដែលមានអ្នកគាំទ្រច្រើនជាងគេ ជាជាងជឿលើរោគវិនិច្ឆ័យរបស់គ្រូពេទ្យតែម្នាក់។
Bagging Algorithm ជាទម្រង់មួយនៃ Ensemble Method ដែលបង្កើតម៉ូដែលរងជាច្រើនដោយបង្រៀនពួកវាជាមួយនឹងបំណែកទិន្នន័យដែលត្រូវបានចាប់យកដោយចៃដន្យ បន្ទាប់មកបូកសរុបលទ្ធផលតាមរយៈការបោះឆ្នោតភាគច្រើន (Majority voting)។ ដូចជាការបែងចែកសិស្សជាក្រុមតូចៗឱ្យធ្វើលំហាត់តែមួយ តែផ្តល់ទិន្នន័យខុសៗគ្នាបន្តិចបន្តួច រួចយកចម្លើយដែលក្រុមភាគច្រើនឆ្លើយដូចគ្នាជាចម្លើយចុងក្រោយ។
Adaptive Windowing (ADWIN) ក្បួនដោះស្រាយសម្រាប់ចាប់យកបម្រែបម្រួលទិន្នន័យ (Concept drift) ដោយវាពង្រីក ឬបង្រួញទំហំផ្ទាំងផ្ទុកទិន្នន័យ (Window) ដោយស្វ័យប្រវត្តិ នៅពេលវាសង្កេតឃើញថាអត្រាកំហុសក្នុងការចាត់ថ្នាក់មានការប្រែប្រួលខុសប្រក្រតី។ ដូចជាការពង្រីកភ្នែកមើលទិដ្ឋភាពទូទៅពេលគ្មានអ្វីប្រែប្រួល តែបើមានសកម្មភាពគួរឱ្យសង្ស័យកើតឡើង យើងត្រូវផ្តោត(បង្រួញ)ការយកចិត្តទុកដាក់តែលើសកម្មភាពថ្មីៗនោះដើម្បីចាប់កំហុស។
Prequential Evaluation វិធីសាស្ត្រវាយតម្លៃម៉ូដែលរៀនអនឡាញ (Online Learning) ដោយតម្រូវឱ្យម៉ូដែលធ្វើការទស្សន៍ទាយលើទិន្នន័យថ្មីសិន រួចទើបយកទិន្នន័យនោះទៅបង្រៀនម៉ូដែលបន្ត ធ្វើបែបនេះវិលជុំរហូតដល់អស់ទិន្នន័យក្នុងស្ទ្រីម។ ដូចជាការធ្វើតេស្តសិស្សមុនពេលបង្រៀនមេរៀនថ្មី ដើម្បីវាស់ស្ទង់ចំណេះដឹងពិតប្រាកដរបស់ពួកគេនៅពេលនោះ រួចទើបបង្រៀនមេរៀននោះដល់ពួកគេ។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖