Original Title: An overview of the supervised machine learning methods
Source: doi.org/10.20544/HORIZONS.B.04.1.17.P05
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ទិដ្ឋភាពទូទៅនៃវិធីសាស្ត្ររៀនម៉ាស៊ីនមានការត្រួតពិនិត្យ

ចំណងជើងដើម៖ An overview of the supervised machine learning methods

អ្នកនិពន្ធ៖ Vladimir Nasteski (Faculty of Information and Communication Technologies, Bitola, Macedonia)

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

វិស័យសិក្សា៖ Machine Learning

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

បញ្ហា (The Problem)៖ ឯកសារនេះបង្ហាញពីទិដ្ឋភាពទូទៅនៃក្បួនដោះស្រាយការរៀនម៉ាស៊ីនមានការត្រួតពិនិត្យ (Supervised machine learning) ដោយធ្វើការបែងចែករវាងម៉ូដែលចំណាត់ថ្នាក់ និងម៉ូដែលតំរែតំរង់សម្រាប់ការវិភាគទិន្នន័យ។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះធ្វើការពិនិត្យឡើងវិញ (Literature review) លើទ្រឹស្តី និងទម្រង់ការងារនៃក្បួនដោះស្រាយការរៀនម៉ាស៊ីនមានការត្រួតពិនិត្យសំខាន់ៗមួយចំនួន។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Decision Trees
ចំណាត់ថ្នាក់ដើមឈើការសម្រេចចិត្ត
ងាយស្រួលយល់ និងបកស្រាយ (Comprehensive) ហើយអាចបែងចែកទិន្នន័យជាក្រុមៗបានយ៉ាងច្បាស់លាស់តាមលក្ខណៈពិសេស។ ទោះបីជាងាយស្រួល ប៉ុន្តែវាអាចក្លាយជាស្មុគស្មាញខ្លាំង (Overfitting) ប្រសិនបើមិនមានការកំណត់ជម្រៅនៃមែកឱ្យបានត្រឹមត្រូវ។ បែងចែកលំហទិន្នន័យ (Instance space) ជាចំណែកតូចៗតាមទម្រង់រចនាសម្ព័ន្ធដើមឈើ។
Linear Regression
ការតំរែតំរង់លីនេអ៊ែរ
មានប្រសិទ្ធភាពខ្ពស់ក្នុងការស្វែងរកទំនាក់ទំនង និងការពឹងផ្អែកគ្នារវាងអថេរផ្សេងៗក្នុងទិន្នន័យ។ ប្រើប្រាស់បានតែសម្រាប់ការព្យាករណ៍អថេរគោលដៅដែលមានតម្លៃបន្ត (Continuous dependent variable) ប៉ុណ្ណោះ។ បង្កើតបន្ទាត់ដែលស័ក្តិសមបំផុតដើម្បីទស្សន៍ទាយតម្លៃបន្ត ដោយកាត់បន្ថយតម្លៃ Loss function ឱ្យនៅទាបបំផុត។
Naive Bayes
ចំណាត់ថ្នាក់ណាយបេស
មានភាពរឹងមាំចំពោះទិន្នន័យរំខាន (Robust to noise) និងអាចគណនាប្រូបាប៊ីលីតេច្បាស់លាស់សម្រាប់សម្មតិកម្ម។ ពឹងផ្អែកលើការសន្មតថាអថេរទាំងអស់មានឯករាជ្យភាពពីគ្នា (Conditional independence assumption) ដែលកម្រមានក្នុងទិន្នន័យជាក់ស្តែង។ ប្រើប្រាស់ទ្រឹស្តីបទ Bayes ដើម្បីទស្សន៍ទាយប្រូបាប៊ីលីតេជាម៉ូដែលប្រភេទ Generative classifier។
Logistic Regression
ការតំរែតំរង់ឡូជីស្ទិក
អាចចាត់ថ្នាក់ទិន្នន័យដោយផ្តល់លទ្ធផលជាប្រូបាប៊ីលីតេចន្លោះពី 0 ទៅ 1 តាមរយៈអនុគមន៍ Sigmoid។ ទាមទារការប្រើប្រាស់អនុគមន៍បង្កើនប្រសិទ្ធភាព (ដូចជា fmin_bfgs) ដើម្បីស្វែងរកប៉ារ៉ាម៉ែត្រដែលល្អបំផុត ដែលអាចស៊ីពេលគណនា។ បែងចែកទិន្នន័យដោយបង្កើតព្រំដែនសេចក្តីសម្រេច (Decision boundary) ជាម៉ូដែលប្រភេទ Discriminative classifier។

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

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

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

ឯកសារនេះគឺជាការត្រួតពិនិត្យទ្រឹស្តី (Theoretical review) ដោយមិនមានការប្រើប្រាស់សំណុំទិន្នន័យជាក់លាក់ណាមួយក្នុងការធ្វើតេស្តនោះទេ ក្រៅពីការលើកឧទាហរណ៍ទិន្នន័យផ្កា Iris ស្តង់ដារ។ សម្រាប់ប្រទេសកម្ពុជា ការខ្វះខាតទិន្នន័យក្នុងស្រុកដែលមានស្លាកត្រឹមត្រូវ និងទូលំទូលាយ (Labeled local data) គឺជាឧបសគ្គចម្បងក្នុងការទាញយកអត្ថប្រយោជន៍ពេញលេញពីក្បួនដោះស្រាយទាំងនេះ។

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

វិធីសាស្ត្ររៀនម៉ាស៊ីនមានការត្រួតពិនិត្យទាំងនេះ មានសារៈសំខាន់ជាគ្រឹះ និងអាចអនុវត្តបានយ៉ាងទូលំទូលាយនៅក្នុងវិស័យអាទិភាពផ្សេងៗនៅកម្ពុជា។

ការបណ្តុះបណ្តាលធនធានមនុស្សឱ្យចេះប្រើប្រាស់ក្បួនដោះស្រាយទាំងនេះ នឹងជំរុញឱ្យមានការសម្រេចចិត្តផ្អែកលើទិន្នន័យ (Data-driven decision making) ដែលជួយដោះស្រាយបញ្ហាជាក់ស្តែងនៅក្នុងសង្គមកម្ពុជា។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះទ្រឹស្តី និងគណិតវិទ្យា: ចាប់ផ្តើមស្វែងយល់ពីរូបមន្តស្ថិតិ ប្រូបាប៊ីលីតេ (Probability) តំរែតំរង់លីនេអ៊ែរ និងទ្រឹស្តីបទ Bayes ដើម្បីយល់ពីរបៀបដែលម៉ូដែលកាត់បន្ថយកំហុស (Cost Function)។
  2. រៀបចំបរិស្ថានសរសេរកូដ: ដំឡើងភាសាកម្មវិធី Python និងបណ្ណាល័យសំខាន់ៗសម្រាប់ទិន្នន័យដូចជា Scikit-Learn, Pandas, និង NumPy នៅក្នុងម៉ាស៊ីនកុំព្យូទ័ររបស់អ្នក។
  3. អនុវត្តជាមួយទិន្នន័យសាកល្បង: ទាញយកសំណុំទិន្នន័យស្តង់ដារពី Kaggle (ឧ. ទិន្នន័យ Iris) រួចសរសេរកូដដើម្បីបង្កើតម៉ូដែល Decision Trees និង Logistic Regression តាមការណែនាំបឋម។
  4. ប្រមូល និងរៀបចំទិន្នន័យក្នុងស្រុកកម្ពុជា: ផ្តួចផ្តើមប្រមូលទិន្នន័យជាក់ស្តែង (ឧទាហរណ៍៖ ទិន្នន័យអចលនទ្រព្យនៅភ្នំពេញ) រួចធ្វើការសម្អាត (Data Cleaning) និងដាក់ស្លាក (Labeling) ឱ្យបានត្រឹមត្រូវជាទម្រង់ Structured Data។
  5. បង្វឹក និងវាយតម្លៃប្រសិទ្ធភាពម៉ូដែល: ប្រើប្រាស់ទិន្នន័យក្នុងស្រុកនោះដើម្បីបង្វឹក (Train) ម៉ូដែល និងវាស់ស្ទង់ភាពត្រឹមត្រូវ (Accuracy) ដោយប្រើ Testing Data ព្រមទាំងកែសម្រួលប៉ារ៉ាម៉ែត្រដើម្បីបង្កើនប្រសិទ្ធភាព។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Supervised learning វិធីសាស្ត្រនៃការបង្រៀនកុំព្យូទ័រដោយផ្តល់នូវសំណុំទិន្នន័យ (Dataset) ដែលមានភ្ជាប់មកជាមួយនូវចម្លើយ ឬស្លាកសញ្ញា (Labels) រួចជាស្រេច ដើម្បីឱ្យម៉ូដែលអាចរៀនពីលំនាំ និងអាចទស្សន៍ទាយលទ្ធផលនៃទិន្នន័យថ្មីៗបានយ៉ាងត្រឹមត្រូវ។ ដូចជាការបង្រៀនក្មេងតូចឱ្យស្គាល់សត្វឆ្មា ដោយបង្ហាញរូបភាពសត្វឆ្មាជាច្រើនសន្លឹក រួចប្រាប់គេជារឿយៗថា "នេះគឺជារូបសត្វឆ្មា" រហូតដល់គេអាចចំណាំបាន។
Classification ដំណើរការនៃក្បួនដោះស្រាយក្នុងការបែងចែកទិន្នន័យទៅជាក្រុម ឬប្រភេទជាក់លាក់ដាច់ពីគ្នា (Discrete categories/labels) ដូចជាការកំណត់ថាអ៊ីមែលមួយជាប្រភេទ "Spam" ឬ "មិនមែន Spam"។ ដូចជាការបែងចែកផ្លែឈើក្នុងកន្ត្រក ដោយរើសយកផ្លែប៉ោមដាក់ក្នុងប្រអប់មួយ និងផ្លែក្រូចដាក់ក្នុងប្រអប់មួយទៀត។
Regression បច្ចេកទេសរៀនម៉ាស៊ីនសម្រាប់ទស្សន៍ទាយតម្លៃទិន្នន័យដែលជាលេខបន្តបន្ទាប់ (Continuous values) ដោយស្វែងរកទំនាក់ទំនងរវាងអថេរឯករាជ្យ និងអថេរអាស្រ័យ ដូចជាការព្យាករណ៍ពីតម្លៃផ្ទះ ឬសីតុណ្ហភាពនៅថ្ងៃស្អែក។ ដូចជាការទស្សន៍ទាយកម្ពស់របស់ក្មេងម្នាក់នៅឆ្នាំក្រោយ ដោយផ្អែកលើទិន្នន័យនៃអាយុ និងកម្ពស់បច្ចុប្បន្នរបស់គេ។
Decision tree ម៉ូដែលចំណាត់ថ្នាក់ដែលមានរចនាសម្ព័ន្ធដូចជាមែកធាង ដោយបំបែកលំហទិន្នន័យជាចំណែកតូចៗដោយផ្អែកលើលក្ខខណ្ឌនៃលក្ខណៈពិសេស (Features) នីមួយៗរហូតដល់ទទួលបានការសម្រេចចិត្តចុងក្រោយនៅត្រង់ស្លឹក (Leaf node)។ ដូចជាការលេងហ្គេមសួរសំណួរ "បាទ/ទេ" ដើម្បីទាយរកឈ្មោះសត្វណាមួយ ដោយសំណួរនីមួយៗជួយកាត់បន្ថយជម្រើសរហូតដល់រកឃើញចម្លើយចុងក្រោយ។
Logistic Regression ក្បួនដោះស្រាយបែបស្ថិតិដែលប្រើសម្រាប់ទស្សន៍ទាយប្រូបាប៊ីលីតេនៃព្រឹត្តិការណ៍ណាមួយថានឹងកើតឡើងឬអត់ (ច្រើនតែចេញជាលទ្ធផលចន្លោះពី ០ ដល់ ១) តាមរយៈការប្រើប្រាស់អនុគមន៍ Sigmoid។ វាជាប្រភេទ Discriminative classifier។ ដូចជាការគណនាភាគរយ (ពី ០% ទៅ ១០០%) ថាតើថ្ងៃនេះនឹងមានភ្លៀងធ្លាក់ឬទេ ដោយផ្អែកលើបរិមាណពពក និងសំណើមបរិយាកាស។
Cost function អនុគមន៍គណិតវិទ្យាដែលប្រើសម្រាប់វាស់ស្ទង់កម្រិតនៃកំហុសរវាងតម្លៃដែលម៉ូដែលបានទស្សន៍ទាយ និងតម្លៃពិតប្រាកដក្នុងទិន្នន័យ។ គោលដៅចម្បងក្នុងអំឡុងពេលបង្វឹកម៉ូដែល (Training) គឺត្រូវកាត់បន្ថយតម្លៃនេះឱ្យនៅទាបបំផុត (Minimize)។ ដូចជាប្រព័ន្ធដាក់ពិន្ទុសម្រាប់ការបាញ់ព្រួញ ប្រសិនបើអ្នកបាញ់កាន់តែឆ្ងាយពីចំណុចកណ្តាល នោះពិន្ទុកំហុសរបស់អ្នកនឹងកាន់តែខ្ពស់។
Naive Bayes ក្បួនដោះស្រាយការចាត់ថ្នាក់ដែលពឹងផ្អែកលើទ្រឹស្តីបទប្រូបាប៊ីលីតេ Bayes ដោយមានការសន្មតយ៉ាងសាមញ្ញ (Naive) ថាអថេរទាំងអស់មានឯករាជ្យភាពពីគ្នាទាំងស្រុង ដើម្បីគណនាឱកាសនៃការកើតឡើងនៃព្រឹត្តិការណ៍ណាមួយ។ ដូចជាការទស្សន៍ទាយថាអ្នកណាម្នាក់ជាវេជ្ជបណ្ឌិតដោយផ្អែកលើការពាក់អាវពណ៌ស និងការពាក់ឧបករណ៍ស្តាប់បេះដូង ទោះបីជាលក្ខណៈទាំងពីរនេះមិនប្រាកដថាទាក់ទងគ្នាដោយផ្ទាល់ក៏ដោយ។

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

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

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