Original Title: Machine learning based methods for handling imbalanced data in hepatitis diagnosis
Source: doi.org/10.30699/fhi.v10i1.259
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

វិធីសាស្ត្រផ្អែកលើការរៀនដោយម៉ាស៊ីនសម្រាប់ការដោះស្រាយទិន្នន័យមិនមានតុល្យភាពក្នុងការធ្វើរោគវិនិច្ឆ័យជំងឺរលាកថ្លើម

ចំណងជើងដើម៖ Machine learning based methods for handling imbalanced data in hepatitis diagnosis

អ្នកនិពន្ធ៖ Azam Orooji (North Khorasan University of Medical Sciences), Farzaneh Kermani (Semnan University of Medical Sciences)

ឆ្នាំបោះពុម្ព៖ 2021 Frontiers in Health Informatics

វិស័យសិក្សា៖ Health Informatics

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

បញ្ហា (The Problem)៖ ការសិក្សានេះផ្តោតលើការដោះស្រាយបញ្ហាទិន្នន័យមិនមានតុល្យភាព (Imbalanced Data) ក្នុងការទស្សន៍ទាយ និងធ្វើរោគវិនិច្ឆ័យជំងឺរលាកថ្លើមប្រភេទសេ (HCV) និងកម្រិតធ្ងន់ធ្ងររបស់វា។

វិធីសាស្ត្រ (The Methodology)៖ ការស្រាវជ្រាវនេះត្រូវបានអនុវត្តជាបួនជំហាន ដោយប្រើប្រាស់សំណុំទិន្នន័យ (Dataset) ជំងឺរលាកថ្លើមពីបណ្ណាល័យ UCI ជាមួយនឹងបច្ចេកទេសរៀនដោយម៉ាស៊ីន (Machine Learning)។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Random Forest with Over-sampling
ក្បួនដោះស្រាយ Random Forest រួមផ្សំជាមួយបច្ចេកទេស Over-sampling
ទទួលបានលទ្ធផលខ្ពស់បំផុតក្នុងការទស្សន៍ទាយ និងមានសមត្ថភាពល្អក្នុងការបែងចែកកម្រិតធ្ងន់ធ្ងរនៃជំងឺដោយមានស្ថេរភាព។ វាដោះស្រាយបញ្ហាទិន្នន័យមិនមានតុល្យភាពបានយ៉ាងមានប្រសិទ្ធភាព។ ទោះបីជាលទ្ធផលល្អឥតខ្ចោះ (៩៩.៩%) ប៉ុន្តែអាចមានហានិភ័យនៃ Overfitting ដោយសារបច្ចេកទេស Random Over-sampling ចម្លងទិន្នន័យដដែលៗច្រើនដង។ ទទួលបានភាពត្រឹមត្រូវ (Accuracy) ភាពរសើប (Sensitivity) និង F-measure រហូតដល់ ៩៩.៩% និងភាពជាក់លាក់ (Specificity) ១០០% លើសំណុំទិន្នន័យ O-dataset។
Multi-layer Perceptron (MLP)
បណ្តាញសរសៃប្រសាទសិប្បនិម្មិត Multi-layer Perceptron
មានដំណើរការល្អជាងគេ និងមានស្ថេរភាពនៅលើសំណុំទិន្នន័យដើមដែលមិនមានតុល្យភាព (Original dataset) បើប្រៀបធៀបទៅនឹងក្បួនដោះស្រាយផ្សេងទៀត។ ត្រូវការពេលវេលាបង្វឹក (Training time) យូរជាងគេ និងមានលក្ខណៈជាប្រអប់ខ្មៅ (Black box) ដែលពិបាកក្នុងការពន្យល់ពីមូលហេតុនៃការសម្រេចចិត្តរបស់ម៉ូដែល។ ទទួលបានភាពត្រឹមត្រូវលើយកគំរូលើលុប (O-dataset) ៩៦.៤% និងមាន F-measure ៩២.៩% លើទិន្នន័យដើម (Original dataset)។
J48 (Decision Tree)
មែកធាងសម្រេចចិត្ត J48
ងាយស្រួលក្នុងការយល់ដឹង និងអាចបកស្រាយពីវិធាននៃការសម្រេចចិត្ត (Decision rules) បានយ៉ាងច្បាស់លាស់ដល់គ្រូពេទ្យនិងអ្នកប្រើប្រាស់។ ដំណើរការទាបជាង Random Forest បន្តិច និងងាយរងឥទ្ធិពលពីបម្រែបម្រួលនៃទិន្នន័យ (Variance) ដែលធ្វើឲ្យលទ្ធផលអាចមិនសូវមានស្ថេរភាព។ ទទួលបានភាពត្រឹមត្រូវ ៩៨% ភាពរសើប ៩៨% និងភាពជាក់លាក់ ៩៩.៦% នៅលើសំណុំទិន្នន័យ O-dataset។

ការចំណាយលើធនធាន (Resource Cost)៖ ឯកសារស្រាវជ្រាវនេះមិនបានបញ្ជាក់លម្អិតពីតម្លៃធនធានដែលបានចំណាយនោះទេ ប៉ុន្តែផ្អែកលើបច្ចេកទេសដែលបានប្រើប្រាស់ យើងអាចប៉ាន់ស្មានតម្រូវការធនធានចាំបាច់មួយចំនួន។

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

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

ការសិក្សានេះប្រើប្រាស់សំណុំទិន្នន័យពីបណ្ណាល័យ UCI ដែលទំនងជាប្រមូលផ្តុំពីប្រជាជននៅតំបន់អឺរ៉ុបឬលោកខាងលិច ហើយមានចំនួនអ្នកជំងឺរលាកថ្លើមប្រភេទសេ (HCV) តិចតួចណាស់ (៧៥ នាក់) ធៀបនឹងអ្នកមានសុខភាពល្អ។ នេះជាបញ្ហាសម្រាប់ប្រទេសកម្ពុជា ព្រោះប្រជាសាស្ត្រ របបអាហារ កត្តាហ្សែន និងប្រភេទមេរោគរលាកថ្លើមរបស់ប្រជាជនខ្មែរអាចមានភាពខុសគ្នា ដែលតម្រូវឲ្យមានទិន្នន័យក្នុងស្រុកដើម្បីជៀសវាងភាពលំអៀងរបស់ម៉ូដែល។

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

វិធីសាស្ត្រនេះមានសក្តានុពលខ្ពស់ និងអាចយកមកអនុវត្តជាក់ស្តែងនៅប្រទេសកម្ពុជា ដើម្បីជួយសម្រួលដល់ការធ្វើរោគវិនិច្ឆ័យជំងឺរលាកថ្លើមដែលជាបញ្ហាសុខភាពសាធារណៈដ៏ចម្បងមួយ។

ជារួម ការប្រើប្រាស់បច្ចេកទេស Machine Learning រួមជាមួយវិធីសាស្ត្រធ្វើឲ្យទិន្នន័យមានតុល្យភាព អាចក្លាយជាឧបករណ៍ដ៏មានប្រសិទ្ធភាពក្នុងការធ្វើរោគវិនិច្ឆ័យជំងឺរលាកថ្លើមបានទាន់ពេលវេលា និងកាត់បន្ថយអត្រាស្លាប់ពីជំងឺក្រិនថ្លើមនៅកម្ពុជា ប្រសិនបើត្រូវបានបង្វឹកជាមួយទិន្នន័យក្នុងស្រុក។

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

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

  1. ស្វែងយល់ពីក្បួនដោះស្រាយ និងការរៀបចំទិន្នន័យ (Data Pre-processing): និស្សិតគួរចាប់ផ្តើមសិក្សាពីបច្ចេកទេសកម្រិតខ្ពស់ដូចជា SMOTE (Synthetic Minority Over-sampling Technique) ជំនួសឲ្យត្រឹមតែ Random Over-sampling ដើម្បីជៀសវាងបញ្ហា Overfitting នៃការចម្លងទិន្នន័យផ្ទាល់ ដោយប្រើប្រាស់បណ្ណាល័យ imbalanced-learn នៅក្នុងភាសា Python
  2. សាកល្បងជាមួយទិន្នន័យសាធារណៈ (Public Dataset): ធ្វើការទាញយកសំណុំទិន្នន័យ HCV dataset ពី UCI Machine Learning Repository រួចប្រើប្រាស់បណ្ណាល័យ Scikit-learn និង Pandas ក្នុង Python ដើម្បីបង្កើតនិងប្រៀបធៀបម៉ូដែល Random Forest និង MLP ឡើងវិញ។
  3. ប្រមូលទិន្នន័យក្នុងស្រុក (Local Data Collection): សហការជាមួយមន្ទីរពេទ្យក្នុងស្រុកតាមរយៈសាកលវិទ្យាល័យវិទ្យាសាស្ត្រសុខាភិបាល ដើម្បីប្រមូលទិន្នន័យអ្នកជំងឺរលាកថ្លើមដោយអនាមិក។ ទិន្នន័យគួរមានអាយុ ភេទ និងលទ្ធផលតេស្តឈាមជាមូលដ្ឋាន (ALT, AST, Bilirubin, Albumin) ដើម្បីយកមកហ្វឹកហាត់ម៉ូដែលឲ្យត្រូវនឹងកត្តាជីវសាស្ត្ររបស់ប្រជាជនកម្ពុជា។
  4. រចនាប្រព័ន្ធចំណុចប្រទាក់អ្នកប្រើប្រាស់ (UI/UX) និងដាក់ឲ្យប្រើប្រាស់ (Deployment): ផ្លាស់ប្តូរពីការប្រើប្រាស់ MATLAB ទៅប្រើប្រាស់បច្ចេកវិទ្យាទំនើបនិងឥតគិតថ្លៃដូចជា StreamlitFlask នៅក្នុង Python ដើម្បីបង្កើតជាកម្មវិធី Web Application ដែលងាយស្រួលឲ្យគ្រូពេទ្យបញ្ចូលតម្លៃតេស្តឈាម និងទទួលបានលទ្ធផលទស្សន៍ទាយជំងឺរលាកថ្លើមភ្លាមៗ។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Imbalanced Data គឺជាស្ថានភាពដែលទិន្នន័យក្នុងការសិក្សាមានចំនួនលំអៀងខ្លាំងទៅរកក្រុមណាមួយ (ឧទាហរណ៍ អ្នកមានសុខភាពល្អមានចំនួនច្រើនលើសលប់ ខណៈអ្នកមានជំងឺមានចំនួនតិចតួច) ដែលធ្វើឲ្យម៉ាស៊ីន (Machine Learning) រៀនចេះតែទាយរកក្រុមដែលមានគ្នាច្រើន។ ដូចជាការបង្រៀនក្មេងឲ្យស្គាល់សត្វ ដោយបង្ហាញរូបឆ្កែ១០០សន្លឹក និងរូបឆ្មាត្រឹមតែ១សន្លឹក ដែលធ្វើឲ្យក្មេងនោះស្គាល់តែឆ្កែ តែមិនសូវស្គាល់ឆ្មា។
Over-sampling ជាបច្ចេកទេសកែច្នៃទិន្នន័យដែលមិនមានតុល្យភាព ដោយធ្វើការចម្លង (Duplicate) ឬបង្កើតទិន្នន័យថ្មីបន្ថែមក្នុងក្រុមដែលមានចំនួនតិច ឲ្យកើនឡើងរហូតដល់មានចំនួនស្មើគ្នានឹងក្រុមដែលមានចំនួនច្រើន។ ដូចជាការថតចម្លង (Copy) សៀវភៅមេរៀនដែលខ្វះខាតចែកឲ្យសិស្ស ដើម្បីឲ្យសិស្សគ្រប់រូបមានសៀវភៅអានគ្រប់ៗគ្នាសម្រាប់ត្រៀមប្រឡង។
Under-sampling ជាបច្ចេកទេសធ្វើឲ្យទិន្នន័យមានតុល្យភាព ដោយធ្វើការលុបចោលដោយចៃដន្យនូវកំណត់ត្រាមួយចំនួនពីក្រុមដែលមានទិន្នន័យច្រើនលើសលប់ ដើម្បីឲ្យចំនួនធ្លាក់ចុះមកស្មើនឹងក្រុមដែលមានទិន្នន័យតិច។ ដូចជាការកាត់បន្ថយចំនួនសិស្សក្នុងថ្នាក់ធំមួយចំនួនចេញ ដើម្បីឲ្យចំនួនសិស្សនៅសល់ស្មើគ្នានឹងថ្នាក់តូចមួយទៀត ងាយស្រួលក្នុងការប្រកួតកីឡា។
10-fold cross-validation គឺជាវិធីសាស្ត្រវាយតម្លៃសមត្ថភាពម៉ូដែល ដោយបែងចែកទិន្នន័យសរុបជា ១០ ចំណែកស្មើៗគ្នា រួចយក ៩ ចំណែកទៅបង្រៀនម៉ូដែល និង ១ ចំណែកទៀតទៅតេស្តសមត្ថភាព ដោយធ្វើការឆ្លាស់គ្នាបែបនេះចំនួន ១0 ជុំ។ ដូចជាការបែងចែកមេរៀនជា ១០ ជំពូក ហើយសិស្សត្រូវប្រឡង ១០ ដង ដោយម្តងៗគ្រូចេញវិញ្ញាសាតាមជំពូកផ្សេងៗគ្នា ដើម្បីឲ្យប្រាកដថាសិស្សពិតជាចេះមេរៀនទាំងអស់មែន។
Multi-layer perceptron (MLP) ជាប្រភេទបណ្តាញសរសៃប្រសាទសិប្បនិម្មិត (Neural Network) ដែលមានស្រទាប់ជាច្រើនតភ្ជាប់គ្នា វាអាចរៀនពីទំនាក់ទំនងដ៏ស្មុគស្មាញនៃទិន្នន័យបញ្ចូល ដើម្បីធ្វើចំណាត់ថ្នាក់ឬទស្សន៍ទាយលទ្ធផល ស្រដៀងទៅនឹងរបៀបធ្វើការនៃខួរក្បាលមនុស្ស។ ដូចជាខ្សែសង្វាក់ផលិតកម្មក្នុងរោងចក្រដែលមានច្រើនដំណាក់កាល តាំងពីអ្នកទទួលវត្ថុធាតុដើម អ្នកកែច្នៃ និងអ្នកវេចខ្ចប់ ដែលធ្វើការបន្តបន្ទាប់គ្នាដើម្បីបញ្ចេញផលិតផលសម្រេច។
Random forest គឺជាក្បួនដោះស្រាយដែលបង្កើតនូវមែកធាងសម្រេចចិត្ត (Decision Trees) ជាច្រើនបញ្ចូលគ្នា ហើយយកការបោះឆ្នោតជាសម្លេងភាគច្រើនពីមែកធាងទាំងអស់នោះ ដើម្បីសម្រេចលទ្ធផលចុងក្រោយ ដែលជួយកាត់បន្ថយភាពខុសឆ្គងបានយ៉ាងល្អ។ ដូចជាការសួរយោបល់ពីវេជ្ជបណ្ឌិតឯកទេសចំនួន ១០០ នាក់ផ្សេងៗគ្នា ហើយយកចម្លើយដែលគ្រូពេទ្យភាគច្រើនយល់ស្របជាងគេ មកធ្វើជាសេចក្តីសម្រេចចិត្តចុងក្រោយ។
F-measure ជារង្វាស់ភាគរយសម្រាប់វាយតម្លៃគុណភាពម៉ូដែលម៉ាស៊ីន ដោយគណនាបញ្ចូលគ្នារវាងភាពជាក់លាក់ (Precision) និងភាពរសើប (Sensitivity) ដែលវាជាសូចនាករស័ក្តិសមបំផុតសម្រាប់វាស់ស្ទង់សមត្ថភាពម៉ូដែលលើទិន្នន័យដែលមិនមានតុល្យភាព។ ដូចជាការវាយតម្លៃសិស្សពូកែដោយមិនមើលតែពិន្ទុសរុបទេ តែត្រូវធានាថាសិស្សនោះពូកែទាំងមុខវិជ្ជាគណិតវិទ្យា និងអក្សរសាស្ត្រក្នុងពេលតែមួយ ទើបទទួលស្គាល់ថាពូកែមែន។

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

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

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