ဆောင်းပါးတို KNN (K-Nearest Neighbors) ဆိုတာ ဘာလဲ။ - Unite.AI
ကြှနျုပျတို့နှငျ့အတူချိတ်ဆက်ပါ
AI Masterclass-

AI ၅၀

KNN (K-Nearest Neighbors) ဆိုတာ ဘာလဲ။

mm
နောက်ဆုံးရေးသားချိန် on

K-Nearest Neighbors (KNN) ဆိုတာ ဘာလဲ။

K-Nearest Neighbors သည် machine learning နည်းပညာနှင့် algorithm တစ်ခုဖြစ်သည်။ ဆုတ်ယုတ်ခြင်းနှင့် အမျိုးအစားခွဲခြင်း လုပ်ငန်းများအတွက် နှစ်မျိုးလုံး အသုံးပြုနိုင်သည်။. K-အနီးဆုံးအိမ်နီးချင်းများ စာမေးပွဲ ရွေးချယ်ထားသော ဒေတာအမှတ်များ၏ တံဆိပ်များ ဒေတာအမှတ်သို့ ကျရောက်နေသော အတန်းနှင့်ပတ်သက်သော ခန့်မှန်းချက်တစ်ခု ပြုလုပ်ရန်အတွက် ပစ်မှတ်ဒေတာမှတ်ကို ကာရံထားသည်။ K-Nearest Neighbors (KNN) သည် သဘောတရားအရ ရိုးရှင်းသော်လည်း အလွန်အစွမ်းထက်သော အယ်လဂိုရီသမ်ဖြစ်ပြီး ထိုအကြောင်းများကြောင့်၊ ၎င်းသည် လူကြိုက်အများဆုံး စက်သင်ယူမှု အယ်လဂိုရီသမ်များထဲမှ တစ်ခုဖြစ်သည်။ KNN အယ်လဂိုရီသမ်ကို နက်ရှိုင်းစွာ စေ့စေ့ငုကြည့်ပြီး ၎င်းမည်ကဲ့သို့ အလုပ်လုပ်သည်ကို အတိအကျကြည့်ကြပါစို့။ KNN လည်ပတ်ပုံကို ကောင်းစွာနားလည်သဘောပေါက်ခြင်းသည် KNN အတွက် အကောင်းဆုံးနှင့် အဆိုးဆုံးအသုံးပြုမှုကိစ္စများကို သဘောကျနှစ်သက်စေမည်ဖြစ်သည်။

K-Nearest Neighbors (KNN) ၏ အကျဉ်းချုပ်

ဓာတ်ပုံ- Antti Ajanki AnAj မှတဆင့် Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)

2D လေယာဉ်ပေါ်တွင် ဒေတာအစုံကို မြင်ယောင်ကြည့်ကြပါစို့။ ဂရပ်တစ်ခုပေါ်ရှိ ဒေတာအချက်အလတ်များကို အစုလိုက်အပြုံလိုက် ပုံဖော်ပါ၊ ဂရပ်တစ်လျှောက်တွင် သေးငယ်သောအစုအဝေးများဖြင့် ဖြန့်ပါ။ KNN သည် ဒေတာအချက်များ ဖြန့်ဖြူးမှုကို စစ်ဆေးပြီး မော်ဒယ်အတွက် ပေးထားသည့် အကြောင်းပြချက်များပေါ်မူတည်၍ ၎င်းသည် ဒေတာအမှတ်များကို အုပ်စုများအဖြစ် ခွဲခြားထားသည်။ အဲဒီအဖွဲ့တွေကို တံဆိပ်တစ်ခု သတ်မှတ်ပေးတယ်။ KNN မော်ဒယ်တစ်ခု၏ အခြေခံယူဆချက်မှာ တစ်ခုနှင့်တစ်ခု အနီးအပါးတွင်ရှိသော ဒေတာအချက်များ/ဥပမာများသည် အလွန်တူညီကြောင်း၊ အခြားအုပ်စုတစ်ခုနှင့် ဝေးကွာပါက ဒေတာအမှတ်များသည် အဆိုပါဒေတာအချက်များနှင့် မတူပါ။

KNN မော်ဒယ်သည် ဂရပ်တစ်ခုပေါ်ရှိ အမှတ်နှစ်ခုကြားအကွာအဝေးကို အသုံးပြု၍ ဆင်တူယိုးမှားကို တွက်ချက်သည်။ အမှတ်များကြား အကွာအဝေး ပိုများလေ၊ ၎င်းတို့ တူညီမှု နည်းပါးလေ ဖြစ်သည်။ အမှတ်များကြား အကွာအဝေးကို တွက်ချက်ရန် နည်းလမ်းများစွာရှိသော်လည်း အသုံးအများဆုံး အကွာအဝေး မက်ထရစ်မှာ ယူကလစ်အကွာအဝေး (ဖြောင့်မျဉ်းတစ်ခုရှိ အမှတ်နှစ်ခုကြားအကွာအဝေး) မျှသာဖြစ်သည်။

KNN သည် ကြီးကြပ်သင်ကြားရေး အယ်လဂိုရီသမ်တစ်ခုဖြစ်ပြီး ဆိုလိုသည်မှာ ဒေတာအတွဲရှိ နမူနာများတွင် ၎င်းတို့အား သတ်မှတ်ထားသော အညွှန်းများ ပါရှိရမည်/ ၎င်းတို့၏ အတန်းများကို သိရှိရမည်ဖြစ်သည်။ KNN နှင့်ပတ်သက်ပြီး သိထားရမည့် အခြားအရေးကြီးအချက်နှစ်ချက်ရှိပါသည်။ ပထမ၊ KNN သည် ပါရာမက်ထရစ်မဟုတ်သော အယ်လဂိုရီသမ်တစ်ခုဖြစ်သည်။ ဆိုလိုသည်မှာ မော်ဒယ်ကို အသုံးပြုသောအခါတွင် ဒေတာအတွဲနှင့်ပတ်သက်သည့် ယူဆချက်တစ်ခုမျှ ပြုလုပ်မည်မဟုတ်ကြောင်း ဆိုလိုသည်။ ယင်းအစား၊ မော်ဒယ်ကို ပေးထားသည့် အချက်အလက်မှ လုံးလုံးလျားလျား တည်ဆောက်ထားသည်။ ဒုတိယ၊ KNN ကိုအသုံးပြုသည့်အခါ ဒေတာအစုံကို လေ့ကျင့်ရေးနှင့် စမ်းသပ်မှုအစုများအဖြစ် ပိုင်းခြားခြင်းမရှိပါ။ KNN သည် လေ့ကျင့်ရေး နှင့် စမ်းသပ်မှု အစုံကြားတွင် ယေဘူယျအားဖြင့် အဓိပ္ပါယ်ဖွင့်ဆိုထားခြင်း မရှိသောကြောင့် မော်ဒယ်အား ခန့်မှန်းမှုများ ပြုလုပ်ရန် တောင်းဆိုသောအခါတွင် လေ့ကျင့်ရေးဒေတာအားလုံးကိုလည်း အသုံးပြုပါသည်။

KNN အယ်လဂိုရီသမ် လည်ပတ်ပုံ

KNN အယ်လဂိုရီသမ်တစ်ခုသည် ၎င်းကိုလုပ်ဆောင်သည်နှင့်အမျှ အဓိကအဆင့်သုံးဆင့်ဖြင့် ဖြတ်သန်းသွားသည်-

  1. ရွေးချယ်ထားသော အိမ်နီးချင်းအရေအတွက်သို့ K ကို သတ်မှတ်ခြင်း။
  2. ပေးထားသော/စမ်းသပ်နမူနာနှင့် ဒေတာအတွဲနမူနာများကြား အကွာအဝေးကို တွက်ချက်ခြင်း။
  3. တွက်ချက်ထားသော အကွာအဝေးများကို စီခြင်း။
  4. ထိပ်တန်း K ထည့်သွင်းမှုများ၏ အညွှန်းများကို ရယူခြင်း။
  5. စမ်းသပ်နမူနာအကြောင်း ခန့်မှန်းချက်ကို ပြန်ဖော်ပြသည်။

ပထမအဆင့်တွင်၊ အသုံးပြုသူမှ K ကို ရွေးချယ်ပြီး ၎င်းသည် ပစ်မှတ်နမူနာပိုင်ဆိုင်သော အုပ်စုအကြောင်း စီရင်ဆုံးဖြတ်သည့်အခါ အိမ်နီးချင်းမည်မျှ (ပတ်ဝန်းကျင်ဒေတာအချက်မည်မျှ) ထည့်သွင်းစဉ်းစားသင့်သည့် အယ်လဂိုရီသမ်ကို ပြောပြသည်။ ဒုတိယအဆင့်တွင်၊ မော်ဒယ်သည် ပစ်မှတ်ဥပမာနှင့် ဒေတာအတွဲရှိ နမူနာတိုင်းကြား အကွာအဝေးကို စစ်ဆေးကြောင်း သတိပြုပါ။ ထို့နောက် အကွာအဝေးများကို စာရင်းတစ်ခုတွင် ထည့်သွင်းပြီး စီထားသည်။ ထို့နောက်၊ စီထားသောစာရင်းကို စစ်ဆေးပြီး ထိပ်တန်း K အစိတ်အပိုင်းများအတွက် အညွှန်းများကို ပြန်ပေးသည်။ တစ်နည်းဆိုရသော် K ကို 5 ဟုသတ်မှတ်ပါက၊ မော်ဒယ်သည် ပစ်မှတ်ဒေတာအမှတ်သို့ ထိပ်တန်းအနီးစပ်ဆုံးဒေတာအချက် 5 ၏ အညွှန်းများကို စစ်ဆေးသည်။ ပစ်မှတ်ဒေတာအချက်နှင့်ပတ်သက်၍ ခန့်မှန်းချက်ကို တင်ဆက်သည့်အခါ၊ အလုပ်သည် တစ်ခုဖြစ်လျှင် အရေးကြီးသည်။ ဆုတ်ယုတ် or အမြိုးခှဲခွားခွငျး တာဝန်။ ဆုတ်ယုတ်ခြင်းလုပ်ငန်းတစ်ခုအတွက်၊ ထိပ်တန်း K အညွှန်းများ၏ ပျမ်းမျှအားကို အသုံးပြုပြီး ထိပ်တန်း K အညွှန်းများ၏မုဒ်ကို အမျိုးအစားခွဲခြားခြင်းကိစ္စတွင် အသုံးပြုသည်။

KNN ကို ဆောင်ရွက်ရာတွင် အသုံးပြုသည့် သင်္ချာဆိုင်ရာ လုပ်ဆောင်ချက် အတိအကျသည် ရွေးချယ်ထားသော အကွာအဝေး မက်ထရစ်ပေါ်မူတည်၍ ကွဲပြားသည်။ မက်ထရစ်များ တွက်ချက်ပုံအကြောင်း ပိုမိုလေ့လာလိုပါက၊ အသုံးအများဆုံး အကွာအဝေး မက်ထရစ်များ ဖြစ်သည့် အချို့ကို သင်ဖတ်နိုင်ပါသည် ယူကလစ်, မန်ဟက်တန်နှင့် Minkowski.

K ၏တန်ဖိုးသည် အဘယ်ကြောင့်အရေးကြီးသနည်း။

KNN ကိုအသုံးပြုရာတွင် အဓိကကန့်သတ်ချက်မှာ K ၏မလျော်ကန်သောတန်ဖိုး (ထည့်သွင်းစဉ်းစားရမည့်အိမ်နီးနားချင်းအရေအတွက်မှား) ကိုရွေးချယ်ခြင်းဖြစ်နိုင်သည်။ ဒီလိုဖြစ်လာရင် ပြန်ပေးမယ့် ခန့်မှန်းချက်တွေဟာ သိသိသာသာ ပျောက်ကွယ်သွားနိုင်ပါတယ်။ KNN အယ်လဂိုရီသမ်ကို အသုံးပြုသောအခါ၊ K အတွက် သင့်လျော်သောတန်ဖိုးကို ရွေးချယ်ရန် အလွန်အရေးကြီးပါသည်။ အမှားအယွင်း အရေအတွက်ကို လျှော့ချနေစဉ် မမြင်ရသော ဒေတာများကို ကြိုတင်ခန့်မှန်းနိုင်သည့် မော်ဒယ်၏ စွမ်းရည်ကို အမြင့်ဆုံးပေးနိုင်သည့် K အတွက် တန်ဖိုးတစ်ခုကို သင်ရွေးချယ်လိုသည်။

ဓာတ်ပုံ- Agor153 via Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

K ၏နိမ့်သောတန်ဖိုးများသည် KNN မှပြန်ဆိုထားသော ခန့်မှန်းချက်များသည် တည်ငြိမ်ပြီး ယုံကြည်စိတ်ချရမှုနည်းသည်ဟု ဆိုလိုသည်။ ဘာကြောင့်ဒီလိုဖြစ်ရတာလဲဆိုတာကို သိချင်ရင် ပစ်မှတ်ဒေတာအချက်တစ်ဝိုက်မှာ အိမ်နီးနားချင်း (၇) ယောက်ရှိတဲ့ ကိစ္စတစ်ခုကို သုံးသပ်ကြည့်ပါ။ KNN မော်ဒယ်သည် K တန်ဖိုး 7 ဖြင့် အလုပ်လုပ်နေသည်ဟု ယူဆကြပါစို့ (ခန့်မှန်းရန် အနီးစပ်ဆုံး အိမ်နီးချင်း နှစ်ယောက်ကို ကြည့်ရန် တောင်းဆိုနေသည်)။ အိမ်နီးနားချင်းအများစု (ခုနစ်ယောက်တွင် ၅ ယောက်) သည် Blue class နှင့် သက်ဆိုင်သော်လည်း အနီးကပ်ဆုံးအိမ်နီးချင်း နှစ်ယောက်သည် အနီရောင်ဖြစ်သွားပါက၊ မေးမြန်းမှုဥပမာမှာ Red ဖြစ်မည်ဟု မော်ဒယ်က ခန့်မှန်းပေးမည်ဖြစ်သည်။ မော်ဒယ်က ခန့်မှန်းထားသော်လည်း၊ ထိုသို့သော အခြေအနေမျိုးတွင် အပြာရောင်သည် ပိုကောင်းသော မှန်းဆချက်ဖြစ်လိမ့်မည်။

ဒီလိုဖြစ်ရင် ကျွန်တော်တို့ တတ်နိုင်သမျှ အမြင့်ဆုံး K တန်ဖိုးကို ဘာကြောင့် ရွေးမနေရတာလဲ။ အဘယ်ကြောင့်ဆိုသော် မော်ဒယ်ကို အိမ်နီးနားချင်းများစွာကို ထည့်သွင်းစဉ်းစားရန် ပြောခြင်းသည် တိကျမှုလည်း လျော့နည်းစေသောကြောင့် ဖြစ်သည်။ KNN မော်ဒယ်က ယူဆသည့် အချင်းဝက် တိုးလာသည်နှင့်အမျှ၊ ၎င်းတို့သည် ပစ်မှတ်ဒေတာအချက်ထက် အခြားအုပ်စုများနှင့် ပိုမိုနီးစပ်သော ဒေတာအချက်များကို နောက်ဆုံးတွင် စတင်စဉ်းစားမည်ဖြစ်ပြီး အမျိုးအစားခွဲခြားမှု မှားယွင်းမှု စတင်မည်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ ကနဦးရွေးချယ်ခဲ့သည့်အချက်သည် အထက်ဖော်ပြပါ အနီရောင်နယ်မြေတစ်ခုတွင်ပင်လျှင် K သည် မြင့်မားနေပါက၊ မော်ဒယ်သည် အမှတ်များစဉ်းစားရန် အခြားဒေသများသို့ ရောက်ရှိသွားမည်ဖြစ်သည်။ KNN မော်ဒယ်ကို အသုံးပြုသည့်အခါ၊ K ၏ မတူညီသောတန်ဖိုးများသည် မည်သည့်တန်ဖိုးက မော်ဒယ်ကို အကောင်းဆုံးစွမ်းဆောင်နိုင်သည်ကို သိရန် ကြိုးစားသည်။

KNN အားသာချက်များနှင့် အားနည်းချက်များ

KNN မော်ဒယ်၏ ကောင်းကျိုးဆိုးကျိုးအချို့ကို လေ့လာကြည့်ကြပါစို့။

Pros:

KNN ကို အခြားသော ကြီးကြပ်ထားသော သင်ယူမှု အယ်လဂိုရီသမ်များနှင့်မတူဘဲ ဆုတ်ယုတ်ခြင်းနှင့် အမျိုးအစားခွဲခြင်း လုပ်ငန်းနှစ်ခုလုံးအတွက် အသုံးပြုနိုင်ပါသည်။

KNN သည် အလွန်တိကျပြီး အသုံးပြုရလွယ်ကူသည်။ အဓိပ္ပာယ်ဖွင့်ဆိုရန်၊ နားလည်ရန်နှင့် အကောင်အထည်ဖော်ရန် လွယ်ကူသည်။

KNN သည် ဒေတာနှင့်ပတ်သက်သည့် ယူဆချက်တစ်စုံတစ်ရာကို မပြုလုပ်ထားသောကြောင့် ပြဿနာများစွာအတွက် အသုံးပြုနိုင်သည်။

Cons:

KNN သည် ဒေတာအများစု သို့မဟုတ် အားလုံးကို သိမ်းဆည်းထားပြီး ဆိုလိုသည်မှာ မော်ဒယ်သည် မှတ်ဉာဏ်များစွာ လိုအပ်ပြီး ၎င်း၏တွက်ချက်မှုအရ စျေးကြီးသည်ဟု ဆိုလိုသည်။ ကြီးမားသောဒေတာအတွဲများသည်လည်း ခန့်မှန်းချက်များကို အချိန်ကြာမြင့်စေနိုင်သည်။

KNN သည် ဒေတာအတွဲ၏စကေးအပေါ် အလွန်အထိခိုက်မခံကြောင်း သက်သေပြပြီး ၎င်းကို အခြားမော်ဒယ်များနှင့် နှိုင်းယှဉ်ပါက မသက်ဆိုင်သောအင်္ဂါရပ်များဖြင့် ဖယ်ရှားပစ်နိုင်သည်။

K-Nearest Neighbors (KNN) ၏ အကျဉ်းချုပ်

K-Nearest Neighbors သည် အရိုးရှင်းဆုံး machine learning algorithms များထဲမှ တစ်ခုဖြစ်သည်။ KNN သည် မည်မျှရိုးရှင်းသော်လည်း အယူအဆအရ၊ ၎င်းသည် ပြဿနာအများစုအတွက် မျှတတိကျမှုမြင့်မားသော အစွမ်းထက်သော အယ်လဂိုရီသမ်တစ်ခုလည်းဖြစ်သည်။ သင် KNN ကိုအသုံးပြုသောအခါ၊ အမြင့်ဆုံးတိကျမှုပေးသည့်နံပါတ်ကိုရှာဖွေရန်အတွက် K ၏တန်ဖိုးအမျိုးမျိုးကိုစမ်းသပ်ကြည့်ပါ။

ဘလော့ဂါနှင့် ပရိုဂရမ်မာများအတွက် အထူးပြုပါ။ စက်သင်ယူ နှင့် နက်ရှိုင်းသောသင်ယူခြင်း အကြောင်းအရာများ လူမှုဆက်ဆံရေးကောင်းမွန်ရန်အတွက် AI ၏စွမ်းအားကို အခြားသူများအား ကူညီပေးနိုင်ရန် Daniel က မျှော်လင့်ထားသည်။