Machine learning model များကိုလေ့လာခြင်း

Machine learning ဆိုတာဘာလဲ?

Machine learning ဆိုတာကတော့ ကွန်ပျူတာပရိုဂရမ်တစ်ခုထဲမှာ dataတွေအများကြီးကို loadလုပ်တဲ့အခါ dataတွေကို fitလုပ်ဖို့အတွက် modelတစ်ခုကိုရွေးမယ်။ အဲ့ဒီmodelဟာ ဘယ်သူ့အကူအညီမှမပါဘဲ ကွန်ပျူတာကို predictionပေးနိုင်တာမျိုးကို machine learning လို့ခေါ်ပါတယ်။ အဲ့ဒီmodelတွေကို ရိုးရှင်းတဲ့ equationတွေကနေ အင်မတန်ရှုပ်ထွေးတဲ့ logic/math တွေထိဖြစ်နိုင်တဲ့ ‘Algorithms’ တွေနဲ့ဖန်တီးရပါတယ်။ Machine learning ဆိုတဲ့အတိုင်းပဲ modelတစ်ခုကိုရွေးချယ်ပြီးတာနဲ့ machineဟာ အဲ့ဒီmodel ကို အသုံးပြုပြီး သင့်ရဲ့ dataထဲက pattern တွေကိုလေ့လာပါတယ်။ ပြီးရင် condition (observation) အသစ်တစ်ချို့ကို ထည့်လိုက်တာနဲ့ အဖြေကို ခန့်မှန်းပေးနိုင်ပါတယ်။

Supervised machine learning ဆိုတာဘာလဲ

Supervised learning ဆိုတာ machine learning အမျိုးအစားတစ်မျိုးဖြစ်ပြီး ဒီအမျိုးအစားမှာ model ထဲသို့ သင်ထည့်လိုက်တဲ့ dataတွေကို labeled လို့သတ်မှတ်ပါတယ်။ labeled ဆိုတာကတော့ သိပြီးသား ရလဒ်ကို ဆိုလိုပါတယ်။ ဥပမာ သင့်ရဲ့ modelသည် သင့်သူငယ်ချင်း ဒီနေ့ golfသွားရိုက်မယ် မရိုက်ဘူးကို ခန့်မှန်းချင်တယ် ဆိုပါစို့။ အဲ့ဒီလိုခန့်မှန်းဖို့ သင့်မှာ ဒီနေ့အပူချိန်ဘယ်လောက်လဲ၊ ဒီနေ့ဘယ်နေ့လဲ စတာတွေသိဖို့လိုပါမယ်။ သင့်ရဲ့ dataက labeled ဖြစ်ခဲ့ရင် golf သွားရိုက်မယ်ဆို 1 မရိုက်ဘူး ဆို 0 ဆိုပြီး အဖြေထုတ်ပေးမယ့် variable တစ်ခုလည်းလိုပါမယ်။

Unsupervised Machine Learning ဆိုတာဘာလဲ?

သင်ထင်သလိုပဲ Unsupervised သည် Supervised ရဲ့ ဆန့်ကျင်ဘက်ဖြစ်ပါတယ်။ Unsupervised learning မှာ သင်က သင့်သူငယ်ချင်း golfသွားရိုက်မရိုက် မသိဘူး။ ကွန်ပျူတာက modelတစ်ခုရဲ့ pattern တွေကိုသုံးပြီး ဘာဖြစ်ခဲ့တယ် ဘာဖြစ်လာနိုင်တယ် ဆိုပြီး ခန့်မှန်းတာမျိုးဖြစ်ပါတယ်။

Supervised Machine Learning Modelများ

Logistic Regression

သင့်မှာ classification ပြဿနာရှိတဲ့အခါ logistic regression ကိုသုံးရပါမယ်။ ဆိုလိုတာက သင်အဖြေရှာနေတဲ့ variable က categories တွေနဲ့ပြုလုပ်ထားတာမျိုးပါ။ အဲ့ဒီ categoriesတွေဟာ customer ရဲ့စိတ်ကျေနပ်မှုကို မေးတဲ့ yes/no ဒါမှမဟုတ် နံပါတ် ၁ကနေ ၁၀အထိပါဝင်တဲ့ categories တွေဖြစ်နိုင်ပါတယ်။ Logistic regression modelမှာ သင့်ရဲ့ dataတွေနဲ့ curve တစ်ခုကိုဖန်တီးဖို့အတွက် equation တစ်ခုကိုသုံးပါတယ်။ ပြီးရင် အဲ့ဒီ curveနဲ့ ရလဒ်အသစ်ကို ခန့်မှန်းနိုင်ပါတယ်။

အပေါ်ကပုံမှာ observation အသစ်ဟာ curve ရဲ့ ဘယ်ဘက်မှာ ကျသွားတဲ့အတွက် 0 prediction ကိုရပါတယ်။ ဒီcurveရဲ့ အခြေခံထားတဲ့ dataကိုလေ့လာကြည့်မယ်ဆိုရင် ‘predict of value 0’ ဆိုတဲ့အပိုင်းမှာ အဓိက data point ဟာ y value 0 ရှိတဲ့အတွက် မှန်နေတာကို တွေ့ရပါမယ်။

Linear Regression

Linear Regression ဆိုတာကတော့ လူတွေပထမဆုံးလေ့လာခဲ့ကြတဲ့ machine learning modelတွေထဲက တစ်ခုဖြစ်ပါတယ်။ ဘာကြောင့်လဲဆို သူ့ရဲ့ algorithm က x variable တစ်ခုထဲကိုပဲ သုံးထားတဲ့အတွက် နားလည်ရလွယ်ကူလို့ပါ။

Linear regressionက logistic regressionနဲ့ ဆင်တူပေမယ့် အဖြေရှာနေတဲ့ variable က continuous ဖြစ်နေတဲ့ အခါမျိုးမှာသုံးပါတယ်။ ဆိုလိုတာက ဘယ်ဂဏန်းတန်ဖိုးကိုမဆို ဆက်တိုက်ယူသွားနိုင်တာမျိုးပါ။ ဆိုရရင် continuous target ရှိတဲ့ ဘယ် variableကိုမဆို regressionလို့ခေါ်လို့ရပါတယ်။ ဥပမာအားဖြင့် အိမ်တစ်အိမ်ရဲ့ ရောင်းစျေးလိုမျိုးကိုဆိုလိုပါတယ်။ သူရဲ့ model equationမှာ variable တစ်ခုချင်းစီရဲ့ မြှောက်ဖော်ကိန်းတွေပါဝင်ပြီး အဲ့ဒီမြှောက်ဖော်ကိန်းတွေဟာ target variable ရဲ့ x variable ပြောင်းလဲမှု တစ်ခုချင်းစီတိုင်းကို ဖော်ပြပါတယ်။ အိမ်စျေးနဲ့ပဲ ဥပမာပြရရင် အိမ်အရွယ်အစားရဲ့ 1sq-ft ကို 25$ နဲ့တွက်သလိုမျိုးပါ။

K Nearest Neighbours (KNN)

ဒီmodelကို classification သို့မဟုတ် regression တစ်ခုခုမှာသုံးနိုင်ပါတယ်။ ဒီmodelက ပထမဆုံး dataတွေအကုန်လုံးကို ဆွဲထုတ်တယ်။ ‘K’ ဆိုတဲ့ အဓိပ္ပါယ်က modelက အဖြေကို ခန့်မှန်းမယ့် အနီးစပ်ဆုံးမှာရှိတဲ့ data point တွေရဲ့ နံပါတ်တွေကိုဆိုလိုတာဖြစ်ပါတယ်။

K=_ စက်ဝိုင်းထဲမှာရှိတဲ့ data point တွေအားလုံးဟာ ဒီ data pointအသစ်အတွက် target variable value ဟာ ဘာဖြစ်မလဲဆိုတဲ့ voteတစ်ခုစီရရှိပါတယ်။ ဘယ်တန်ဖိုးပဲရရ vote အများဆုံးရတဲ့ တန်ဖိုးကို KNNက data point အသစ်အဖြစ် ခန့်မှန်းမှာဖြစ်ပါတယ်။ အပေါ်ပုံမှာဆိုရင် class 1 မှာ Nearest Neighbour နှစ်ခုရှိပြီး class 1 မှာတစ်ခုတည်းရှိတာကြောင့် modelက class 1ကို predict လုပ်ပါလိမ့်မယ်။ အကယ်၍ model က categories အစား နံပါတ်တစ်ခုခုကို ခန့်မှန်းဖို့ ကြိုးစားနေတယ်ဆိုရင် voteတွေအားလုံးဟာ ဂဏန်းတန်ဖိုးတွေဖြစ်သွားပြီး ပျမ်းမျှယူပြီး predictလုပ်သွားမှာဖြစ်ပါတယ်။

Support Vector Machines (SVMs)

SVMs က data pointတွေကြားထဲမှာ ဘောင်ခတ်လိုက်ပြီးအလုပ်လုပ်ပါတယ်။

သူ့ရဲ့အလုပ်လုပ်ပုံက machine သည် marginများတဲ့ boundary ကိုရှာပါတယ်။ ပြီးရင် data point အသစ်တွေကို boundaryရဲ့ ဘယ်ဖက်ကိုရောက်နေလဲ ဆိုတဲ့အပေါ်မူတည်ပြီး data point အသစ်တွေကို class တစ်ခုတည်းစီမှာ စုစည်းလိုက်ပါတယ်။ ခုဖော်ပြထားတဲ့ SVMsဟာ classification တစ်မျိုးတည်းအတွက် ရှင်းပြထားတာဖြစ်ပြီး regression မှာလည်း SVMsကိုသုံးနိုင်ပါတယ်။

Unsupervised Machine Learning Modelများ

K Means Clustering

K ကို clustering ကိုအတွက် သုံးတဲ့အခါ သင့်ရဲ့ datasetထဲမှာ K cluster တွေရှိတယ်လို့ ယူဆထားရပါမယ်။ သင့်ရဲ့ dataထဲမှာ group တွေဘယ်လောက်ရှိလဲမသိနိုင်တဲ့အတွက် တခြား K value တွေနဲ့ visualization နဲ့ metric တွေကိုသုံးပြီး K ရဲ့ဘယ်တန်ဖိုးကဖြစ်နေမလဲဆိုတာ သိနိုင်ပါတယ်။

Kဆိုတာ K clusterရဲ့ ဗဟိုချက်ဖြစ်လာဖို့ algorithms ကပထမဆုံးရွေးချယ်လိုက်တဲ့ အကောင်းဆုံး K data point ဖြစ်ပြီး အောက်ပါအချက်နှစ်ချက်ကို ထပ်တလဲလဲလုပ်ဆောင်ပါတယ်။

-အနီးစပ်ဆုံး cluster ဗဟိုမှာ data point တစ်ခုသတ်မှတ်ခြင်း

-cluster ထဲရောက်နေတဲ့ data point တွေအားလုံးရဲ့ ဆိုလိုရင်းတွေကိုယူပြီး ဗဟိုချက်အသစ်တစ်ခုဖန်တီးခြင်း

DBSCAN Clustering

DBSCAN model က K Mean နဲ့မတူတဲ့ အချက်က သူ့မှာ Kတန်ဖိုးထည့်စရာမလိုပါဘူး။ ပြီးတော့ ဘယ်အရွယ်အစားရှိတဲ့ clusterကိုမဆို ရှာနိုင်ပါတယ်။ Cluster အရေအတွက်ကို သတ်မှတ်မယ့်အစား cluster ထဲမှာ သင်လိုချင်တဲ့ data pointတွေရဲ့ အနည်းဆုံးအရေအတွက်နဲ့ data point တစ်ခုရဲ့ radiusကို ထည့်ပေးပြီး clusterကိုရှာတာပါ။ ဟုတ်ပါတယ်။ DBSCAN က သင့်အတွက် cluster ကိုရှာပေးတာဖြစ်ပါတယ်။ ပြီးတဲ့နောက်မှာ datasetအတွက် cluster ရတဲ့အထိ model အသစ် ပြုလုပ်ဖို့အတွက် valueကို စိတ်ကြိုက်ပြင်ဆင်နိုင်ပါတယ်။

Neural Networks

Neural Network တွေကတော့ တကယ့်အမိုက်စားmodelတွေလို့ ပြောလို့ရပါတယ်။ သူက ကျွန်တော်တို့ရဲ့ ဦးနှောက်က အာရုံကြောတွေအတိုင်း modelလုပ်ထားတာမို့ Neural Network လို့ခေါ်တာပါ။ ဒီmodelက dataset ထဲမှာရှိတဲ့ patternတွေကိုရှာပြီး တစ်ခါတစ်ရံ လူတွေဘယ်တော့မှ မမှတ်မိနိုင်တဲ့ pattern တွေ ရှာတွေ့တတ်ပါတယ်။ Neural Network ဟာ ဓာတ်ပုံတွေ၊ ဗီဒီယိုတွေလို ရှုပ်ထွေးတဲ့ dataတွေနဲ့လည်း ကောင်းကောင်းအလုပ်လုပ်နိုင်တာတွေ့ရပါတယ်။ ဒီနေ့ခေတ်မှာရေပန်းစားလာတဲ့ facial recognition ကနေ text classification တွေအထိ အသုံးဝင်လွန်းတဲ့ software functionality တွေပါဝင်ပါတယ်။ Neural Networkက Supervise learning applicationတွေမှာကော Unsupervised learning တွေမှာပါ ကောင်းကောင်းအလုပ်လုပ်တာ တွေ့ရပါတယ်။

Ref: https://thenextweb.com/neural/2020/04/25/machine-learning-models-explained-to-a-five-year-old-syndication/

Leave a Reply