Original Title: A Review on Analysis of K-Nearest Neighbor Classification Machine Learning Algorithms based on Supervised Learning
Source: doi.org/10.14445/22315381/IJETT-V70I7P205
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការពិនិត្យឡើងវិញលើការវិភាគនៃក្បួនដោះស្រាយការរៀនដោយម៉ាស៊ីនចំណាត់ថ្នាក់ K-Nearest Neighbor ដោយផ្អែកលើការរៀនដោយមានការត្រួតពិនិត្យ

ចំណងជើងដើម៖ A Review on Analysis of K-Nearest Neighbor Classification Machine Learning Algorithms based on Supervised Learning

អ្នកនិពន្ធ៖ Manish Suyal (Department of CA & IT, SGRR University, Uttarakhand, India), Parul Goyal (Department of CA & IT, SGRR University, Uttarakhand, India)

ឆ្នាំបោះពុម្ព៖ 2022, International Journal of Engineering Trends and Technology

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

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

បញ្ហា (The Problem)៖ ឯកសារនេះពិនិត្យមើលពីរបៀបដែលក្បួនដោះស្រាយ K-Nearest Neighbor (KNN) ត្រូវបានអនុវត្តលើសំណុំទិន្នន័យ (Dataset) ដើម្បីព្យាករណ៍ និងចាត់ថ្នាក់ទិន្នន័យថ្មីដោយផ្អែកលើការរៀនដោយមានការត្រួតពិនិត្យ (Supervised Learning)។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះប្រើប្រាស់វិធីសាស្ត្រពន្យល់ពីទ្រឹស្តីមូលដ្ឋាន និងធ្វើការវាយតម្លៃផ្ទាល់តាមរយៈការពិសោធន៍ដោយប្រើប្រាស់សំណុំទិន្នន័យពិន្ទុសិស្សសាមញ្ញមួយ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
K-Nearest Neighbor (K-NN)
ក្បួនដោះស្រាយអ្នកជិតខាង K (K-NN)
ងាយស្រួលយល់ និងអនុវត្ត (Easy to implement) ហើយមិនត្រូវការពេលវេលាក្នុងការបង្ហាត់ម៉ូដែលស្មុគស្មាញ (No complex training phase)។ ទាមទារការគណនាចម្ងាយសម្រាប់ចំណុចទិន្នន័យនីមួយៗ ដែលធ្វើឱ្យវាមានដំណើរការយឺតនៅពេលអនុវត្តជាមួយសំណុំទិន្នន័យធំៗ (Slow for large datasets)។ អាចទស្សន៍ទាយលទ្ធផលប្រឡងរបស់សិស្សបានយ៉ាងត្រឹមត្រូវដោយប្រើរូបមន្តចម្ងាយ Euclidean ដោយកំណត់តម្លៃ k=3 (3 Pass > 0 Fail)។
Other Supervised Classifiers (Decision Tree, SVM, Random Forest)
ក្បួនដោះស្រាយចំណាត់ថ្នាក់ផ្សេងទៀត (Decision Tree, SVM, Random Forest)
មានប្រសិទ្ធភាពខ្ពស់ក្នុងការគ្រប់គ្រងទិន្នន័យចម្រុះ និងទិន្នន័យដែលមានវិមាត្រច្រើនក្នុងកម្រិតស្មុគស្មាញ។ ត្រូវការការកំណត់រចនាសម្ព័ន្ធ និងពេលវេលាច្រើនក្នុងការបង្ហាត់ម៉ូដែល (Training time) ធៀបនឹង K-NN។ ត្រូវបានលើកឡើងនៅក្នុងឯកសារថាជាក្បួនដោះស្រាយដ៏មានប្រជាប្រិយភាពសម្រាប់ការធ្វើរោគវិនិច្ឆ័យវេជ្ជសាស្ត្រ និងការព្យាករណ៍ទីផ្សារភាគហ៊ុន។

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

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

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

ឯកសារនេះប្រើប្រាស់សំណុំទិន្នន័យសិប្បនិម្មិតតូចមួយ (មានត្រឹមតែ ៥ ជួរ) ស្តីពីពិន្ទុសិស្ស ដើម្បីពន្យល់ពីដំណើរការរបស់ K-NN ប៉ុណ្ណោះ វាមិនមានការសាកល្បងលើទិន្នន័យជាក់ស្តែងធំៗទេ។ សម្រាប់ប្រទេសកម្ពុជា ការយកទៅអនុវត្តផ្ទាល់ទាមទារឱ្យមានការប្រមូលទិន្នន័យក្នុងស្រុកដែលមានទំហំធំ តំណាងឱ្យបរិបទពិតប្រាកដ និងមិនមានភាពលំអៀង។

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

ក្បួនដោះស្រាយ K-NN នេះគឺមានភាពសាមញ្ញ និងអាចយកមកអនុវត្តជាក់ស្តែងក្នុងវិស័យជាច្រើននៅប្រទេសកម្ពុជា។

សរុបមក ដោយសារតែវាមានភាពងាយស្រួល និងមិនតម្រូវឱ្យមានធនធានកុំព្យូទ័រធំដុំ K-NN គឺជាចំណុចចាប់ផ្តើមដ៏ល្អមួយសម្រាប់ការតំឡើងប្រព័ន្ធ AI ដំបូងនៅតាមស្ថាប័នក្នុងប្រទេសកម្ពុជា។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃគណិតវិទ្យា (Learn Mathematical Foundations): សិក្សាឱ្យយល់ច្បាស់ពីរបៀបគណនាចម្ងាយរវាងចំណុចទិន្នន័យ ជាពិសេសការគណនាចម្ងាយ Euclidean Distance និង Manhattan Distance ដែលជាស្នូលនៃក្បួនដោះស្រាយ K-NN។
  2. រៀនសរសេរកូដ និងប្រើប្រាស់បណ្ណាល័យ (Learn Programming & Libraries): ចាប់ផ្តើមរៀនសរសេរកូដដោយប្រើ Python និងស្វែងយល់ពីរបៀបរៀបចំទិន្នន័យតាមរយៈបណ្ណាល័យ Pandas និង NumPy
  3. អនុវត្តការកសាងម៉ូដែល (Practice Model Building): សាកល្បងសរសេរកូដបង្កើតម៉ូដែល K-NN ផ្ទាល់ខ្លួនដោយប្រើប្រាស់ scikit-learn (KNeighborsClassifier) ជាមួយនឹងសំណុំទិន្នន័យគំរូតូចៗដើម្បីស្វែងយល់ពីដំណើរការរបស់វា។
  4. ប្រមូល និងសម្អាតទិន្នន័យជាក់ស្តែង (Collect & Preprocess Real Data): ស្វែងរកសំណុំទិន្នន័យពិតប្រាកដនៅក្នុងបរិបទប្រទេសកម្ពុជា (ឧទាហរណ៍៖ ទិន្នន័យអាកាសធាតុពី Kaggle ឬទិន្នន័យសិស្ស) រួចធ្វើការសម្អាតទិន្នន័យ ការពង្រាយទិន្នន័យ (Feature Scaling) ដើម្បីត្រៀមបញ្ចូលក្នុងម៉ូដែល។
  5. វាយតម្លៃ និងកែលម្អ (Evaluate & Tune Parameters): វាយតម្លៃភាពត្រឹមត្រូវនៃម៉ូដែលដោយប្រើ Confusion Matrix និង Accuracy Score ហើយធ្វើការកែសម្រួលតម្លៃនៃ K (ឧ. k=3, k=5) ដើម្បីស្វែងរកលទ្ធផលដែលល្អបំផុត (Hyperparameter Tuning)។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Supervised learning ជាវិធីសាស្ត្របង្រៀនម៉ាស៊ីន (Machine Learning) ដោយការផ្តល់សំណុំទិន្នន័យដែលមានចម្លើយត្រឹមត្រូវរួចជាស្រេច ដើម្បីឱ្យវាសិក្សាពីទំនាក់ទំនងរវាងទិន្នន័យ និងចម្លើយ មុននឹងវាអាចទស្សន៍ទាយលទ្ធផលសម្រាប់ទិន្នន័យថ្មី។ ដូចជាគ្រូបង្រៀនសិស្សដោយបង្ហាញលំហាត់ និងចម្លើយត្រឹមត្រូវជាមុនសិន ទើបឱ្យសិស្សធ្វើលំហាត់ថ្មីដោយខ្លួនឯងតាមក្រោយ។
K-Nearest Neighbor (KNN) ជាក្បួនដោះស្រាយដែលចាត់ថ្នាក់ទិន្នន័យថ្មីមួយ ដោយផ្អែកលើការស្វែងរកទិន្នន័យចាស់ៗចំនួន K ដែលមានលក្ខណៈស្រដៀងវា ឬស្ថិតនៅជិតវាបំផុត។ ប្រសិនបើទិន្នន័យនៅជិតភាគច្រើនជាក្រុមអ្វី នោះទិន្នន័យថ្មីនឹងត្រូវចាត់ចូលក្នុងក្រុមនោះដែរ។ ដូចជាការវាយតម្លៃអត្តចរិតរបស់មនុស្សម្នាក់ ដោយមើលទៅលើមិត្តភក្តិជិតស្និទ្ធបំផុតចំនួន ៣ នាក់របស់គាត់ (បើមិត្ត៣នាក់ជាសិស្សពូកែ គេសន្និដ្ឋានថាគាត់ក៏ជាសិស្សពូកែដែរ)។
Classification algorithm ដំណើរការនៃក្បួនដោះស្រាយកុំព្យូទ័រក្នុងការវិភាគ និងបែងចែកទិន្នន័យទៅជាក្រុម ឬប្រភេទផ្សេងៗគ្នា (Categories) ដោយស្វ័យប្រវត្តិ ផ្អែកលើលក្ខណៈសម្បត្តិរបស់ទិន្នន័យទាំងនោះ។ ដូចជាការរៀបចំសំបុត្រប្រៃសណីយ៍ដាក់តាមប្រអប់រៀងៗខ្លួន (ឧ. ប្រអប់សំបុត្រធម្មតា និងប្រអប់សំបុត្រពាណិជ្ជកម្ម)។
Labeled Data សំណុំទិន្នន័យដែលត្រូវបានគេកំណត់អត្តសញ្ញាណ បិទស្លាក ឬដាក់ឈ្មោះជាមុនរួចរាល់ ដើម្បីប្រាប់ម៉ាស៊ីនថាតើទិន្នន័យនីមួយៗនោះជាអ្វីឱ្យប្រាកដ សម្រាប់ប្រើប្រាស់ក្នុងការបង្ហាត់ម៉ូដែល។ ដូចជារូបថតសត្វនៅលើសៀវភៅកុមារ ដែលមានសរសេរឈ្មោះសត្វបញ្ជាក់នៅពីក្រោមរូបនីមួយៗច្បាស់លាស់។
Euclidean distance ជារូបមន្តគណិតវិទ្យាសម្រាប់វាស់ចម្ងាយជាបន្ទាត់ត្រង់រវាងចំណុចទិន្នន័យពីរនៅលើក្រាហ្វ ដើម្បីកំណត់ថាតើទិន្នន័យទាំងពីរនោះមានភាពខុសគ្នា ឬស្រដៀងគ្នាកម្រិតណា។ ចម្ងាយកាន់តែខ្លី មានន័យថាទិន្នន័យកាន់តែស្រដៀងគ្នា។ ដូចជាការយកបន្ទាត់ទៅវាស់ចម្ងាយកាត់ជាបន្ទាត់ត្រង់ពីផ្ទះមួយទៅផ្ទះមួយទៀតនៅលើផែនទី។
Feature Data លក្ខណៈសម្បត្តិ ឬធាតុផ្សំជាក់លាក់នៃទិន្នន័យមួយ ដែលកុំព្យូទ័រយកមកប្រើប្រាស់ជាមូលដ្ឋានសម្រាប់ធ្វើការសម្រេចចិត្ត ឬទស្សន៍ទាយលទ្ធផល (ឧទាហរណ៍៖ ទិន្នន័យពណ៌ រាង និងទម្ងន់ គឺជា Feature របស់ផ្លែឈើ)។ ដូចជាការពណ៌នាភិនភាគរបស់ចោរ (មានកម្ពស់ ពណ៌សម្បុរ សម្លៀកបំពាក់) ទៅកាន់ប៉ូលីសដើម្បីងាយស្រួលក្នុងការស្វែងរកមុខសញ្ញា។
Query tuple សំណុំទិន្នន័យថ្មីមួយ (New data point) ឬសំណួរដែលមានផ្ទុកនូវលក្ខណៈសម្បត្តិរបស់វត្ថុមួយ ដែលយើងបញ្ជូនទៅកាន់ម៉ូដែល Machine Learning ដើម្បីឱ្យវាធ្វើការវិភាគ និងទស្សន៍ទាយរកលទ្ធផលថាតើវាជាអ្វី។ ដូចជាការយកទូរស័ព្ទថ្មីមួយដែលគ្មានប្រអប់ ទៅសួរអ្នកជំនាញដើម្បីឱ្យគេជួយវិភាគមើលថាតើវាជាទូរស័ព្ទម៉ាកអ្វីពិតប្រាកដ។

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

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

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