Machine Learning (ဘယ်လဲ ဘာလဲ)

အမှတ်စဥ် (၃) — Machine Learning အမျိုးအစားများလေ့လာခြင်း

Sai Htaung Kham
4 min readMay 18, 2019

ပြီးတဲ့ Post မှာတော့ ကျွန်တော် Machine Learning နဲ့သက်ဆိုင်တဲ့ အဓိပ္ပါယ်ဖွင့်ဆိုခြင်းနဲ့ ပတ်သက်ပြီး ဖော်ပြပြီးသား ဖြစ်ပါတယ်။ တတ်သိပညာရှင်များ မဖတ်မိသေးဘူးဆိုရင်တော့ အောက်ဖော်ပြပါ Link များကနေ လေ့လာနိုင်ပါတယ်ခင်ဗျ။

ဒီအမှတ်စဥ် (၃) မှာတော့ Machine Learning ရဲ့အမျိုးအစားများနဲ့ ပတ်သက်ပြီး လေ့လာ ကြည့်ရအောင်လားဗျာ။

Machine Learning ၏ အမျိုးအစားများ

Machine Learning ကို အကြမ်းအားဖြင့် ကျွန်တော်တို့ အမျိုးအစား (၄) မျိုးခွဲခြားပြီး လေ့လာနိုင်ပါတယ်ခင်ဗျ။ အမည်အားဖြင့် ဖော်ပြရလျှင်

(၁) Supervised Learning (ကြီးကြပ်ထောက်ပံ့မှု လိုအပ်သော လေ့လာခြင်း)
(၂) Unsupervised Learning (ကြီးကြပ်ထောက်ပံ့မှု မလိုအပ်သော လေ့လာခြင်း)
(၃) Semisupervised Learning (ဖက်စပ် ကြီးကြပ်ထောက်ပံ့မှု လိုအပ်သော လေ့လာခြင်း)
(၄) Reinforcement Learning (အားဖြည့်သင်ယူ လေ့လာခြင်း)

စတဲ့ ခေါင်းစဥ်ကြီး (၄) မျိုးနဲ့ ခွဲခြားလေ့လာလို့ရပါသေးတယ်ခင်ဗျ။

Machine Learning ၏ အမျိုးအစားများ

မှတ်ချက် ။ ။ အထက်ဖော်ပြပါ မြန်မာ အသုံးအနှုန်းများသည် ကျွန်တော်၏ အတတ်နိုင်ဆုံး နားလည်ရလွယ်အောင်ဘာသာပြန်ထားသည့် အသုံးအနှုန်းများသာ ဖြစ်သည်။ အကယ်၍ တတ်သိပညာရှင်များ တိကျမှန်ကန်သော အသုံးအနှုန်းများ လေ့လာတွေ့ရှိပါက ကျွန်တော့်ကို ပြန်လည် သင်ကြားပေးရန် မေတ္တာ ရပ်ခံအပ်ပါတယ် ခင်ဗျာ။

(၁) Supervised Learning (ကြီးကြပ်ထောက်ပံ့မှု လိုအပ်သော လေ့လာခြင်း)

Supervised Learning ကတော့ ကျွန်တော်တို့ Machine Learning Model (Algorithms) ကို ခွဲခြားပြီးသား Data (တစ်နည်းအားဖြင့် Label သတ်မှတ်ထား ပြီးသား Data) နဲ့ Training လုပ်ပေးတာ (ကွန်ပျူတာ စနစ်ကို သင်ကြားပေးတာ) ကို Supervised Learning ကို ခေါ်ဆိုနိုင်ပါတယ် ခင်ဗျ။ အဲ့ဒါကြောင့် ကျွန်တော်က Supervised Learning ကို ကြီးကြပ်ထောက်ပံ့မှု လိုအပ်သော လေ့လာခြင်းလို့ ဘာသာပြန်ထားတာပဲ ဖြစ်ပါတယ်။ ဘာလို့လဲဆိုတော့ လူတွေရဲ့အကူအညီ (သို့မဟုတ်) တစ်နေရာဆီက အကူအညီလိုအပ်နေလို့ပါပဲ။ ဘာအကူအညီတွေ လိုအပ်ပါလိမ့်။ ဒီနေရာမှာ ကျွန်တော်ဆိုလိုတာကတော့ ခွဲခြားပြီးသား Data၊ Label သတ်မှတ်ပြီးသား Data တွေကို ဆိုလိုတာပါ။

ဥပမာကို လေ့လာကြည့်ရအောင်ဗျာ...

ဒီနေရာမှာတော့ ကျွန်တော်တို့ Machine Learning Model ကို မုန့်ဟင်းခါး ဟုတ်လား မဟုတ်ဘူးလား ဆိုတာကို ပုံပြခြင်းအားဖြင့် ခွဲခြားလို့ရ အောင် သင်ပေးမယ် (Training) လုပ်ပေးမယ်ဆိုပါစို့။

ဒါဆိုရင် Machine Learning Model ကို Input အနေနဲ့ ထည့်သွင်းရမှာကတော့ မုန့်ဟင်းခါးပုံနဲ့ မုန့်ဟင်းခါးမဟုတ်တဲ့ပုံကို Input အနေနဲ့ထည့်သွင်းရမှာ ဖြစ်ပါတယ်။ Machine Learning Model ဟာ ကျွန်တော်တို့ ထည့်သွင်းလိုက်တဲ့ ပုံပေါ်မူတည်ပြီးတော့ ဒီဟာသည် မုန့်ဟင်းခါးပုံပါ… ဒီဟာသည် မုန့်ဟင်းခါးပုံ မဟုတ်ပါဘူး စတဲ့ လေ့လာချက်တွေကို ကျွန်တော်တို့ Pattern Recognition လို့ခေါ်ပါတယ်။ အခုလောလောဆယ်တော့ တတ်သိပညာရှင်တွေအနေနဲ့ Machine Learning Model ဟာ ဘယ်လိုနည်းနဲ့ လေ့လာနေသလဲဆိုတဲ့ အချက်ကို ခဏတဖြုတ် မေ့ထားပေးပါလို့ပြောချင်ပါတယ် ခင်ဗျ။ သူနဲ့သက်ဆိုင်တဲ့ ခေါင်းစဥ်ကိုတော့ နောင်လာမယ့် Post တွေမှာ ဖော်ပြပေးဖို့ အစီအစဥ်ရှိပါသေးတယ်။ အရမ်းမလော သေးပါနဲ့ဦးဗျာ။ ဒီနေရာမှာတော့ Supervised Machine Learning ဆိုတာ ဘယ်လိုပုံစံလဲ ဆိုတဲ့ အကြမ်းဖျင်း ရှင်းလင်းတင်ပြတာကို အာရုံစိုက်စေချင်တဲ့ အတွက်ကြောင့် သူနဲ့ ပတ်သက်ပြီး အသေးစိတ် မရှင်းတော့ပါဘူးဗျာ။

ဒါနဲ့ ကွန်ပျူတာစနစ်ကို သင်ကြားပေးပြီဆိုတော့ တခြားဆိုင်က မုန့်ဟင်းခါးကို ဓါတ်ပုံလေးရိုက်ပြီး Machine Learning Model ထဲကို ထည့်သွင်းမယ်ဆိုရင်တော့ ဒီကွန်ပျူတာစနစ်ဟာ မုန့်ဟင်းခါး ပုံကို ကြည့်ပြီး ဒီပုံသည် မုန့်ဟင်းခါးပုံ ဟုတ်မဟုတ် စတာတွေကို ဆုံးဖြတ်ပေးနိုင်ပါလိမ့်မယ်။ ဆုံးဖြတ်မှုက မှန်ကန်မှု ဘယ်လောက်ရှိမှာလဲ ဆိုတာကတော့ Machine Learning Engineer ပေါ်မူတည်ပါလိမ့်မယ်။ Machine Learning Engineer တွေသည် မှန်ကန်သော Learning Model နဲ့ မှန်ကန်သော ချိန်ညှိမှုတွေ (Parameter Tuning လို့ခေါ်ပါသေးတယ်) လုပ်ဆောင် နိုင်ခဲ့မယ်ဆိုရင် ကွန်ပျူတာ စနစ်ကြီးသည် တိကျမှန်ကန်တဲ့ ဆုံးဖြတ်ချက် (ခန့်မှန်းချက်) ကို ပြန်လည် ထုတ်ပေးနိုင်မယ်ဆိုတာ အသေအချာပါပဲ ဗျာ။

(၂) Unsupervised Learning (ကြီးကြပ်ထောက်ပံ့မှု မလိုအပ်သော လေ့လာခြင်း)

Unsupervised Learning ကတော့ ကျွန်တော်တို့ ခုဏကလို မုန့်ဟင်းခါးပုံပါ ဆိုပြီး Label Data တွေမလိုအပ်ပါဘူး။ သူ့အလုပ်လုပ်ပုံက နည်းနည်းထူးဆန်းပါတယ်။ Supervised Learning လို Pattern Recognition မဟုတ်တဲ့ အပြင် သူက သူ့ကို သင်ကြားပေးဖို့ ကြီးကြပ်ပေးမယ့် ဆရာ မလိုအပ်ပါဘူး။ အဲ့လိုပြောလိုက်ရင် ကြောက်ဖို့မကောင်းဘူးလားဗျာ။ တကယ်လို့သူသာ မှားယွင်းပြီး ကျွန်တော်တို့ လူသားတွေကို မုန်းတီးစိတ်ဝင်ပြီး လူသားတွေ မျိုးတုန်းသွားအောင် AI ကမလုပ်နိုင်ဘူးလား စတဲ့ အတွေးတွေ ဝင်လာတတ်ပါတယ်။ ဒါကတော့ မဖြစ်နိုင်ဘူးလို့ ကျွန်တော် မပြောနိုင်ပါဘူး။ ဒါပေမယ့် AI တွေဟာ အဲ့လို လေ့လာနိုင်ဖို့ ပြုလုပ်နိုင်ဖို့ အလွန်ဝေးနေပါသေးတယ်လို့ ကျွန်တော်ကတော့ အခုအချိန်မှာ ပြောချင်ပါတယ်ခင်ဗျ။

တတ်သိပညာရှင်များ သတိထားရမှာ ကတော့ Unsupervised Learning နည်းပညာကို အသုံးပြုထားတဲ့ Application တွေဟာ ကျွန်တော်တို့ ဘဝကို အဘက်ဘက်ကနေ တိုးတက်အောင်၊ ပြောင်းလဲအောင် လုပ်ဆောင်နေတဲ့ အချက်ပဲဖြစ်ပါတယ်။

ဥပမာတစ်ခုကို ပြရမယ်ဆိုရင်တော့ Google News ကို လေ့လာကြည့်ရအောင်ဗျာ။

Google News

အပေါ်ကပုံကတော့ Google News ကနေ ရယူထားတဲ့ ပုံပဲဖြစ်ပါတယ်ခင်ဗျ။ သေချာကြည့်ကြည့်ပါဗျာ... Google News မှာ Google ကနေ တရားဝင် တင်ထားတဲ့ သတင်းများ မဟုတ်ပါဘူး။ တခြားသတင်းဌာနတွေက တင်ထားတဲ့ သတင်းတွေကို ဖတ်ရတဲ့လူတွေအတွက် အဆင်ပြေအောင် တစ်နေရာတည်း စုစည်းထားပေးတဲ့ နေရာပဲ ဖြစ်ပါတယ်။ စိတ်ဝင်စားစရာကောင်းတာကတော့ Google News သည် ဒီသတင်းက ကျန်းမာရေးနဲ့ ပတ်သက်တယ်။ ဒီသတင်းကတော့ အားကစားနဲ့ ပတ်သက်တယ်။ နောက်အထူးခြားဆုံး လက္ခဏာတစ်ခုကတော့ တခြားသတင်းဌာနကနေ သတင်းတွေကို ရယူတယ်ဆိုကတည်းက သတင်းခေါင်းစဥ်တွေကတော့ ထပ်နေမှာ အသေအချာပါပဲ။ ဥပမာ အမေရိကန် သမ္မတ လုပ်ကြံခံရခြင်း စတဲ့ Breaking News တွေလိုဆိုရင် သတင်းဌာနတိုင်းက တင်ကြမှာပဲ။ ဒါပေမယ့် အဲ့လို သတင်းတွေဆိုရင် Google News တွေမှာ တစ်ခါထက် မပေါ်ပါဘူး။ ဒါလည်း Machine Learning နည်းပညာကို မသုံးထားဘူးဆိုရင် လုပ်နိုင်စရာ အကြောင်းမရှိပါဘူး။ နောက်ထူးခြားချက်တစ်ခုက သတင်းဌာနတွေမှာ တူညီတဲ့ သတင်းခေါင်းစဥ်တွေ တင်ကြမှာပါ။ အဲ့ထဲက ဘယ်သတင်းဌာနကို ယုံကြည်ပြီးရွေးရမှာလဲပေါ့။ ဒါလည်း ယုံကြည်မှုကို ခွဲခြားနိုင်တဲ့ Machine Learning Model နဲ့ Ranking Algorithms တွေကို အကျိုးရှိရှိ အသုံးချနိုင်တဲ့ Google News ကတော့ ကျွန်တော့်အတွက် အံ့အားသင့်စေတဲ့ အချက်ပဲဖြစ်ပါတယ်။

ဒီနေရာမှာ ကျွန်တော် ရှင်းပြချင်တာကတော့ ဒီသတင်းသည် ကျန်းမာရေးနဲ့ဆိုင်တယ်။ ဒီသတင်းသည် နည်းပညာနဲ့ဆိုင်တဲ့ စတဲ့ Label Data တွေကို ပြင်ဆင်ပေးမယ့် ပညာရှင်၊ ဝန်းထမ်းတွေ Google မှာ မထားဘူး၊ သီးသန့် မခန့်ထားဘူး ဆိုတာကတော့ အသေအချာပါပဲဗျာ။ ဒီတော့ ဒီလို သတင်းတွေကို Label Data မရှိဘဲနဲ့ တူရာတူရာ ခွဲခြားပေးနိုင်အောင် လုပ်ဆောင်ပေးနိုင်တဲ့ Machine Learning Model ကိုတော့ Unsupervised Learning Model လို့ ကျွန်တော် ပြောပါရစေ။

နောက်တခြားခေါင်းစဥ်ကို မသွားခင် Unsupervised Machine Learning Model အလုပ်လုပ်ပုံ အကြမ်းဖျင်းကို ရှင်းပြချင်ပါသေးတယ်။

source: https://www.projectrhea.org/rhea/index.php/SlectureDavidRunyanCS662Spring14

အပေါ်ကပုံကို ကြည့်ရအောင်ဗျာ... တကယ်လို့ အပေါ်ကအစက်တွေကို တူရာတူရာ အုပ်စု (၃) စု ခွဲပေးပါဆိုရင် တတ်သိပညာရှင်များ ဘယ်လိုခွဲပေးမှာ လဲဗျ။ ကျွန်တော်ဆိုရင် အောက်ပါအတိုင်းခွဲပါလိမ့်မယ်။

source: https://www.projectrhea.org/rhea/index.php/SlectureDavidRunyanCS662Spring14

ဒါကတော့ ကျွန်တော်တို့ လူသားတွေ အတွက် အရမ်းကို လွယ်ကူတဲ့ အလုပ်တစ်ခုပါ။ ဒါပေမယ့် ကွန်ပျူတာအတွက် အဲ့လို လုပ်ဆောင်နိုင်ဖို့ Algorithm လေးတော့ လိုအပ်ပါလိမ့်မယ်။ ဥပမာတစ်ခု ပြောရမယ်ဆိုရင် K-Means clustering algorithms ပဲဖြစ်ပါတယ်။ သူကတော့ Unsupervised Meching Learning ထဲကတစ်ခုပါ။ နောင်လည်း ကျွန်တော်တို့ အတူတူ အသေးစိတ်လေ့လာဖို့ အစီအစဥ်ရှိပါတယ်ခင်ဗျ။

Unsupervised Machine Learning Algorithm တွေရဲ့ မှော်အစွမ်းကို အောက်ကပုံတွေမှာ လေ့လာနိုင်ပါတယ်ခင်ဗျ။ သူ့ဟာသူ တဖြည်းဖြည်းနဲ့ အစက်တွေကို အုပ်စု (၃) စုခွဲ ခြားနိုင်အောင် လေ့လာလုပ်ဆောင်နေတာကို မြင်တွေ့ရပါလိမ့်မယ်။

source: https://www.projectrhea.org/rhea/index.php/SlectureDavidRunyanCS662Spring14

တကယ်လို့ ဒီနေရာမှာ အစက်လေးတွေဟာ Google News ရဲ့ သတင်းခေါင်းစဥ်တွေ ဖြစ်ပြီး အုပ်စု (၃) စုတွေဟာ သက်ဆိုင်ရာ သတင်း Category တွေ (ကျန်းမာရေး၊ နည်းပညာ၊ နိုင်ငံရေး စသည်) ဖြစ်နေရင်ရော်... ဒန် ဒန်း ဒန် 🎶🎵🎼 ဒါဆို ကွန်ပျူတာစနစ်ဟာ သူ့ဟာသူ ဘယ်သတင်းခေါင်းစဥ်သည် ဘယ် အုပ်စုထဲပါဝင်တယ် စတာတွေ ခွဲခြားနိုင်ပြီ မဟုတ်ပါလားဗျ။ အခုဆိုရင် တတ်သိပညာရှင်တွေ Google News ရဲ့နောက်ကွယ်က မှော်ဆန်တဲ့ ကွန်ပျူတာစနစ်ကို အကြမ်းဖျင်းသိရှိနားလည်ပြီလို့ ကျွန်တော်ယူဆပါရစေဗျာ...

ဒီဆောင်းပါးကို ပြင်ဆင်ရေးသားတာဟာ ကျွန်တော် အခုဆိုရင် ၅ နာရီကျော်ရှိနေပါပြီ။ ဖော်ပြတဲ့ အကြောင်းအရာက မများပေမယ့် ပြင်ဆင်ချိန်နဲ့ နားလည်သဘောပေါက်အောင် ရေးသားရတာဟာ အရမ်းအချိန်ကုန်လွန်းပါတယ်ဗျာ။

ဘယ်လိုပဲဖြစ်နေပါစေ... တတ်သိပညာရှင်တွေအတွက် တစ်နည်းနည်းတော့ အထောက်အကူပြုနိုင်မယ်လို့ ကျွန်တော ယုံကြည်ပါတယ်ဗျာ။ ကျန်တဲ့ ခေါင်းစဥ် (၂) ခုကိုတော့ နောက် Post မှာပဲ ရှင်းပြပါတော့မယ်ဗျာ။ ဘိုင်း... ဘိုင် ဗျာ... 👋

--

--

Sai Htaung Kham

Research Engineer working on AI. Make things work beyond its limitation.