ညွှန်ပြချက်ပါသင်ယူမှုစနစ်

ဒေတာအခြေပြုသင်ယူမှုစနစ် (Machine Learning) တွင် ညွှန်ပြချက်ပါ သင်ယူမှုစနစ် (အင်္ဂလိပ်: Supervised Learning - SL သို့မဟုတ် ကြီးကြပ်မှုဖြင့် သင်ယူမှုစနစ်) ဆိုသည်မှာ နမူနာအဖြစ် ပေးထားသော Input(ထည့်သွင်းလိုက်သည့် အချက်အလက်) နှင့် Output(မျှော်လင့်ထားသည့် အဖြေမှန်) တွဲများအပေါ် အခြေခံ၍ Input များကို သတ်မှတ်ထားသည့် Output များအဖြစ်သို့ ချိတ်ဆက်ပြောင်းလဲရန် အယ်လ်ဂိုရီသမ်တစ်ခုက လေ့လာသင်ယူရသည့် စနစ်အမျိုးအစားတစ်ခု ဖြစ်ပါသည်။[၁]
ဤလုပ်ငန်းစဉ်တွင် အဖြေအညွှန်းတပ်ထားသည့် ဒေတာများကို အသုံးပြု၍ Statistical Model တစ်ခုကို လေ့ကျင့်ပေးရခြင်းဖြစ်ပြီး၊ ၎င်းမှာ Input ဒေတာ တစ်ခုချင်းစီအတွက် မှန်ကန်သောအဖြေကို တစ်ပါတည်း ပံ့ပိုးပေးထားခြင်းကို ဆိုလိုပါသည်။ "Supervised"၊ "ကြီးကြပ်မှု" သို့မဟုတ် "ညွှန်ပြချက်ပါ" ဟူသော ဝေါဟာရသည် မှန်ကန်သော ခန့်မှန်းချက်များ ရရှိစေရန် ဤလေ့ကျင့်ရေးဒေတာများကို ပံ့ပိုးပေးပြီး အယ်လ်ဂိုရီသမ်ကို လမ်းညွှန်ပြသပေးသည့် ဆရာ သို့မဟုတ် ကြီးကြပ်သူတစ်ဦး၏ အခန်းကဏ္ဍကို ရည်ညွှန်းခြင်း ဖြစ်ပါသည်။[၁]
ဥပမာအားဖြင့် ပုံရိပ်များထဲမှ ကြောင်များကို ခွဲခြားသတ်မှတ်နိုင်မည့် မော်ဒယ်တစ်ခုကို ဖန်တီးလိုပါက ညွှန်ပြချက်ပါ သင်ယူမှုစနစ်တွင် "ကြောင်" ဟု တိတိကျကျ အဖြေညွှန်းတပ်ထားသော (Outputs)၊ ကြောင်ပုံရိပ် (Inputs) အမြောက်အမြားကို စနစ်ထဲသို့ ထည့်သွင်းပေးခြင်းဖြင့် လေ့ကျင့်သင်ကြားပေးရမည် ဖြစ်ပါသည်။
ညွှန်ပြချက်ပါ သင်ယူမှုစနစ်၏ ရည်မှန်းချက်မှာ လေ့ကျင့်ပေးထားသော မော်ဒယ်သည် ယခင်က မမြင်ဖူးသေးသည့် အချက်အလက်ဒေတာအသစ်များအတွက် အဖြေကို တိကျမှန်ကန်စွာ ခန့်မှန်းပေးနိုင်ရန် ဖြစ်ပါသည်။ သို့ဖြစ်ရာ အယ်လ်ဂိုရီသမ်အနေဖြင့် လေ့ကျင့်ရေးနမူနာများမှတစ်ဆင့် ယေဘုယျကောက်ချက်ချနိုင်စွမ်း (Generalize) ထိရောက်စွာ ရှိရန်လိုအပ်ပြီး၊ ၎င်းအရည်အသွေးကို ယေဘုယျကောက်ချက်ချမှုဆိုင်ရာ လွဲမှားမှုနှုန်း (Generalization Error) ဖြင့် တိုင်းတာပါသည်။ ညွှန်ပြချက်ပါ သင်ယူမှုစနစ်ကို အမျိုးအစားခွဲခြားခြင်း (Classification) လုပ်ငန်းစဉ်များ (ဥပမာ - အီးမေးလ်တစ်ခုသည် spam ဖြစ် မဖြစ် အမျိုးအစားခွဲခြား ခန့်မှန်းခြင်း) နှင့် တန်ဖိုးခန့်မှန်းခြင်း (Regression) လုပ်ငန်းစဉ်များ (ဥပမာ - အိမ်ဈေးနှုန်းကဲ့သို့သော ဆက်တိုက်ပြောင်းလဲနေသည့် တန်ဖိုးများကို ခန့်မှန်းခြင်း) တို့တွင် အများဆုံး အသုံးပြုကြပါသည်။
လိုက်နာရမည့် အဆင့်ဆင့်
[ပြင်ဆင်ရန်]ညွှန်ပြချက်ပါ သင်ယူမှုစနစ် (Supervised Learning) ၏ ပုစ္ဆာတစ်ရပ်ကို ဖြေရှင်းရန်အတွက် အောက်ပါလုပ်ငန်းစဉ် အဆင့်ဆင့်အတိုင်း လုပ်ဆောင်ရမည် ဖြစ်ပါသည် -
၁။ လေ့ကျင့်ရေးနမူနာ အမျိုးအစားကို ဆုံးဖြတ်ပါ။ (Determine the type of training samples)
မည်သည့်အရာကိုမဆို စတင်လုပ်ဆောင်ခြင်းမပြုမီ အသုံးပြုသူသည် လေ့ကျင့်ရေးဒေတာအစု (Training Set) အဖြစ် မည်သည့် အချက်အလက်ဒေတာ အမျိုးအစားကို အသုံးပြုမည်နည်းဟူသည်ကို ပထမဦးစွာ ဆုံးဖြတ်ရပါမည်။ ဥပမာအားဖြင့် လက်ရေးမူကို ခွဲခြားစိတ်ဖြာသည့် လုပ်ငန်းစဉ် (Handwriting Analysis) တွင် ၎င်းဒေတာသည် လက်ရေးဖြင့် ရေးသားထားသော စာလုံးတစ်လုံးချင်းစီ၊ စာလုံးတစ်လုံးလုံး၊ စာကြောင်းတစ်ကြောင်းလုံး သို့မဟုတ် စာပိုဒ်တစ်ခုလုံး ဖြစ်နိုင်ပါသည်။
၂။ လေ့ကျင့်ရေးဒေတာအစု (Training Set) ကို စုဆောင်းပါ။ (Gather a training set)
လေ့ကျင့်ရေးအစုအဝေးသည် လက်တွေ့ကမ္ဘာတွင် အမှန်တကယ် အသုံးပြုမည့် လုပ်ငန်းဆောင်တာများ၏ ပုံစံကို ကိုယ်စားပြုနိုင်ရပါမည်။ သို့ဖြစ်ရာ ကျွမ်းကျင်ပညာရှင်များထံမှသော်လည်းကောင်း၊ တိုင်းတာရရှိချက်များမှသော်လည်းကောင်း Input Objects များနှင့် ၎င်းတို့နှင့် ကိုက်ညီသည့် Outputs များကို အတူတကွ စုဆောင်းရရှိမည် ဖြစ်ပါသည်။
၃။ သင်ယူမည့် လုပ်ဆောင်ချက်၏ Input Feature ပုံစံကို ဆုံးဖြတ်ပါ။ (Determine the input feature representation)
သင်ယူမည့် လုပ်ဆောင်ချက်၏ တိကျမှုနှုန်းသည် Input Object ကို မည်ကဲ့သို့ ဖော်ပြတည်ဆောက်ထားသနည်းဟူသည့်အချက်ပေါ်တွင် များစွာမူတည်ပါသည်။ ယေဘုယျအားဖြင့် Input Object ကို ၎င်း Object ၏ သဘောသဘာဝကို ဖော်ပြပေးနိုင်မည့် Feature အရေအတွက်များစွာ ပါဝင်သော Feature Vector အဖြစ်သို့ ပြောင်းလဲပေးရပါသည်။ အရွယ်အစား ကြီးမားလွန်းခြင်းကြောင့် ဖြစ်ပေါ်လာမည့် အတိုင်းအတာဆိုင်ရာ အခက်အခဲပြဿနာများ (Curse of Dimensionality) ကို ရှောင်ရှားရန် Feature အရေအတွက်သည် မများလွန်းသင့်သော်လည်း၊ Output(မျှော်လင့်ထားသည့် အဖြေမှန်) ကို တိကျစွာ ခန့်မှန်းနိုင်ရန်အတွက် လုံလောက်သော ဒေတာအချက်အလက်များတော့ ပါဝင်ရမည် ဖြစ်ပါသည်။
၄။ သင်ယူမည့် လုပ်ဆောင်ချက်၏ ဖွဲ့စည်းပုံနှင့် သက်ဆိုင်ရာ သင်ယူမှုအယ်လ်ဂိုရီသမ်ကို ဆုံးဖြတ်ပါ။ (Determine the structure and learning algorithm)
ဥပမာအားဖြင့် အသုံးပြုသူအနေဖြင့် Support-Vector Machines သို့မဟုတ် ဆုံDecision Trees စသည်တို့ထဲမှ တစ်ခုခုကို ရွေးချယ်အသုံးပြုနိုင်ပါသည်။
၅။ ဒီဇိုင်းကို အပြီးသတ်ပါ။ (Complete the design)
စုဆောင်းရရှိထားသော လေ့ကျင့်ရေးဒေတာအစုအပေါ်တွင် သင်ယူမှုအယ်လ်ဂိုရီသမ် (Learning Algorithm) ကို စတင်မောင်းနှင် (Run) ရပါမည်။ အချို့သော ညွှန်ပြချက်ပါ သင်ယူမှုအယ်လ်ဂိုရီသမ်များသည် အသုံးပြုသူဘက်မှ ထိန်းချုပ်မှု ကန့်သတ်ချက်ဘောင်များ (Control Parameters) ကို သတ်မှတ်ပေးရန် လိုအပ်ပါသည်။ ဤကန့်သတ်ချက်ဘောင်များကို လေ့ကျင့်ရေးဒေတာအစု၏ အစိတ်အပိုင်းခွဲတစ်ခုဖြစ်သော စိစစ်ရေးဒေတာအစု (Validation Set) ပေါ်တွင် လုပ်ဆောင်ချက်ကို အကောင်းဆုံးဖြစ်အောင် ချိန်ညှိခြင်းဖြင့်သော်လည်းကောင်း၊ သို့မဟုတ် အပြန်အလှန် စိစစ်ခြင်းနည်းလမ်း (Cross-Validation) ဖြင့်သော်လည်းကောင်း ညှိယူနိုင်ပါသည်။
၆။ သင်ယူရရှိလာသော လုပ်ဆောင်ချက်၏ တိကျမှန်ကန်မှုကို အကဲဖြတ်ပါ။ (Evaluate the accuracy)
Control Parameters များကို ချိန်ညှိခြင်းနှင့် သင်ယူမှုလုပ်ငန်းစဉ်များ ပြီးဆုံးသွားသည့်နောက်တွင်၊ ထွက်ပေါ်လာသော လုပ်ဆောင်ချက်၏ စွမ်းဆောင်ရည်ကို လေ့ကျင့်ရေးဒေတာအစု (Training Set) နှင့် သီးခြားခွဲထုတ်ထားသည့် စမ်းသပ်ဒေတာအစု (Test Set) ပေါ်တွင် တိုင်းတာအကဲဖြတ်ရမည် ဖြစ်ပါသည်။
အယ်လ်ဂိုရီသမ် ရွေးချယ်ခြင်း
[ပြင်ဆင်ရန်]ညွှန်ပြချက်ပါ သင်ယူမှုစနစ်ဆိုင်ရာ အယ်လ်ဂိုရီသမ် အမြောက်အမြား ရှိပြီး ၎င်းတို့တွင် အသီးသီးသော အားသာချက်နှင့် အားနည်းချက်များ ရှိကြပါသည်။ ညွှန်ပြချက်ပါ သင်ယူမှုပြဿနာ အားလုံးအတွက် အကောင်းဆုံး လုပ်ဆောင်နိုင်သည့် တစ်ခုတည်းသော သင်ယူမှုအယ်လ်ဂိုရီသမ်ဟူ၍ မရှိပါ (အခမဲ့ နေ့လယ်စာမရှိဟူသော သီအိုရမ် - No free lunch theorem ကို ကြည့်ပါ)။
ညွှန်ပြချက်ပါ သင်ယူမှုစနစ်တွင် ထည့်သွင်းစဉ်းစားရမည့် အဓိက အခက်အခဲပြဿနာကြီး လေးရပ် ရှိပါသည် -
၁။ ဘက်လိုက်မှုနှင့် ကွဲလွဲမှုကြား မျှတအောင် ညှိယူခြင်း (Bias–variance tradeoff)
[ပြင်ဆင်ရန်]ပထမဦးဆုံး ထည့်သွင်းစဉ်းစားရမည့် အချက်မှာ ဘက်လိုက်မှု (Bias) နှင့် ကွဲလွဲမှု (Variance) ကြား မျှတအောင် ညှိယူရသည့် အချက်ဖြစ်ပါသည်။[၂] ကျွန်ုပ်တို့တွင် မတူညီသော်လည်း အရည်အသွေး တူညီကြသည့် လေ့ကျင့်ရေးဒေတာအစု (Training Data Sets) အမြောက်အမြား ရှိသည်ဟု မြင်ယောင်ကြည့်ပါ။ အကယ်၍ သင်ယူမှုအယ်လ်ဂိုရီသမ်တစ်ခုကို ၎င်းဒေတာအစု တစ်ခုချင်းစီဖြင့် လေ့ကျင့်ပေးသည့်အခါ သတ်မှတ်ထားသော Input အတွက် မှန်ကန်သောအဖြေကို ပုံမှန်အတိုင်း လွဲမှားစွာ ဆက်တိုက် ခန့်မှန်းနေမည်ဆိုပါက ၎င်းအယ်လ်ဂိုရီသမ်သည် အပေါ် ဘက်လိုက်မှု (Biased) ရှိနေခြင်း ဖြစ်ပါသည်။ တစ်ဖက်တွင်မူ အယ်လ်ဂိုရီသမ်တစ်ခုသည် မတူညီသော လေ့ကျင့်ရေးဒေတာအစုများဖြင့် လေ့ကျင့်ပြီးနောက် သတ်မှတ်ထားသော Input အတွက် ကွဲပြားခြားနားလွန်းသည့် အဖြေများကို ခန့်မှန်းနေမည်ဆိုပါက ၎င်းအယ်လ်ဂိုရီသမ်သည် အပေါ် ကွဲလွဲမှု မြင့်မားခြင်း (High Variance) ရှိနေခြင်း ဖြစ်ပါသည်။ သင်ယူထားသော အမျိုးအစားခွဲစနစ် (Classifier) တစ်ခု၏ ခန့်မှန်းမှုဆိုင်ရာ လွဲမှားမှုနှုန်း (Prediction Error) သည် သင်ယူမှုအယ်လ်ဂိုရီသမ်၏ ဘက်လိုက်မှုနှင့် ကွဲလွဲမှုတို့ ပေါင်းလဒ်နှင့် တိုက်ရိုက်သက်ဆိုင်နေပါသည်[၃]။
ယေဘုယျအားဖြင့် ဘက်လိုက်မှုနှင့် ကွဲလွဲမှုကြားတွင် တစ်ခုရလျှင် တစ်ခုပေးရသည့် အပေးအယူ မျှတမှု (Tradeoff) ရှိပါသည်။ ဘက်လိုက်မှု နည်းပါးသော သင်ယူမှုအယ်လ်ဂိုရီသမ်တစ်ခုသည် ဒေတာအချက်အလက်များနှင့် ကောင်းမွန်စွာ ကိုက်ညီမှုရှိစေရန်အတွက် "ပြောင်းလွယ်ပြင်လွယ်ဖြစ်မှု" (Flexible) ရှိရပါမည်။ သို့သော် အကယ်၍ သင်ယူမှုအယ်လ်ဂိုရီသမ်သည် ပြောင်းလွယ်ပြင်လွယ် အလွန်ဖြစ်လွန်းနေပါက ၎င်းသည် လေ့ကျင့်ရေးဒေတာအစု တစ်ခုချင်းစီအပေါ်တွင် ကွဲပြားစွာ လိုက်လျောညီထွေ ဖြစ်သွားမည်ဖြစ်ရာ ကွဲလွဲမှု မြင့်မားခြင်း (High Variance) ကို ဖြစ်ပေါ်စေပါမည်။ ညွှန်ပြချက်ပါ သင်ယူမှုနည်းလမ်း အများစု၏ အဓိက အရေးကြီးသောအချက်မှာ ၎င်းတို့သည် ဤဘက်လိုက်မှုနှင့် ကွဲလွဲမှုကြား အပေးအယူ မျှတမှုကို (အလိုအလျောက်သော်လည်းကောင်း သို့မဟုတ် အသုံးပြုသူ ကိုယ်တိုင် ညှိယူနိုင်မည့် bias/variance Parameter တစ်ခု ပံ့ပိုးပေးခြင်းဖြင့်သော်လည်းကောင်း) ချိန်ညှိပေးနိုင်ခြင်း ဖြစ်ပါသည်။
၂။ Function (သို့) လုပ်ဆောင်ချက်ဆိုင်ရာ ရှုပ်ထွေးမှုနှင့် လေ့ကျင့်ရေးဒေတာ ပမာဏ (Function complexity and amount of training data
[ပြင်ဆင်ရန်]ဒုတိယမြောက် ထည့်သွင်းစဉ်းစားရမည့်အချက်မှာ လက်တွေ့ကမ္ဘာတွင် ဖြစ်တည်နေသော "အစစ်အမှန်" Function (သို့) လုပ်ဆောင်ချက်(အမျိုးအစားခွဲခြားခြင်း သို့မဟုတ် တန်ဖိုးခန့်မှန်းခြင်း လုပ်ဆောင်ချက်) ၏ ရှုပ်ထွေးမှုနှင့် နှိုင်းယှဉ်လျှင် အသုံးပြုနိုင်မည့် လေ့ကျင့်ရေးဒေတာ ပမာဏ မည်မျှရှိသနည်းဟူသည့် အချက်ဖြစ်ပါသည်။ အကယ်၍ အစစ်အမှန် function သည် ရိုးရှင်းပါက ဘက်လိုက်မှုမြင့်မားပြီး ကွဲလွဲမှုနည်းပါးသည့် "ပြောင်းလွယ်ပြင်လွယ်မရှိသော" (Inflexible) သင်ယူမှုအယ်လ်ဂိုရီသမ်တစ်ခုသည် ဒေတာပမာဏ အနည်းငယ်ဖြင့်ပင် ၎င်းကို လေ့လာသင်ယူနိုင်မည် ဖြစ်ပါသည်။
သို့သော် အကယ်၍ အစစ်အမှန် function သည် အလွန်တရာ ရှုပ်ထွေးနေမည်ဆိုပါက (ဥပမာ - မတူညီသော input feature များစွာကြား ရှုပ်ထွေးသော အပြန်အလှန်သက်ရောက်မှုများ ပါဝင်နေခြင်း သို့မဟုတ် input ၏ မတူညီသောနေရာများတွင် ကွဲပြားစွာ တုံ့ပြန်လုပ်ဆောင်ခြင်းမျိုးကြောင့် ဖြစ်နိုင်ပါသည်) ဘက်လိုက်မှုနည်းပြီး ကွဲလွဲမှုမြင့်မားသည့် "ပြောင်းလွယ်ပြင်လွယ်ရှိသော" (Flexible) သင်ယူမှုအယ်လ်ဂိုရီသမ်တစ်ခုနှင့်အတူ လေ့ကျင့်ရေးဒေတာ ပမာဏအမြောက်အမြား တွဲဖက်ရှိမှသာ ၎င်း function ကို လေ့လာသင်ယူနိုင်မည် ဖြစ်ပါသည်။
၃။ Input နယ်ပယ်၏ အတိုင်းအတာဆိုင်ရာ အရွယ်အစား (Dimensionality of the input space)
[ပြင်ဆင်ရန်]တတိယမြောက် ထည့်သွင်းစဉ်းစားရမည့်အချက်မှာ အဝင်နယ်ပယ်၏ အတိုင်းအတာဆိုင်ရာ အရွယ်အစား (Dimensionality) ဖြစ်ပါသည်။ အကယ်၍ Input Feature Vectors များတွင် Dimensions အလွန်ကြီးမားနေပါက အစစ်အမှန် function သည် ၎င်း Feature များအနက် အရေအတွက်အနည်းငယ်အပေါ်တွင်သာ မူတည်နေသည့်တိုင်အောင် function ကို လေ့လာသင်ယူရန် ခက်ခဲနိုင်ပါသည်။ အကြောင်းမှာ ပိုလျှံနေသော "အပို" အတိုင်းအတာအမြောက်အမြားသည် သင်ယူမှုအယ်လ်ဂိုရီသမ်ကို ရှုပ်ထွေးသွားစေနိုင်ပြီး ကွဲလွဲမှုမြင့်မားခြင်း (High Variance) ကို ဖြစ်ပေါ်စေနိုင်သောကြောင့် ဖြစ်ပါသည်။ သို့ဖြစ်ရာ အတိုင်းအတာအရွယ်အစား ကြီးမားသော input များအတွက်မူ ယေဘုယျအားဖြင့် ကွဲလွဲမှုနည်းပြီး ဘက်လိုက်မှုမြင့်မားစေရန် အမျိုးအစားခွဲစနစ် (Classifier) ကို ချိန်ညှိပေးဖို့ လိုအပ်ပါသည်။
လက်တွေ့လုပ်ငန်းခွင်တွင် အင်ဂျင်နီယာအနေဖြင့် input ဒေတာများထဲမှ မသက်ဆိုင်သော Feature များကို ကိုယ်တိုင်ကိုယ်ကျ ဖယ်ရှားပစ်နိုင်ပါက သင်ယူထားသော function ၏ တိကျမှုနှုန်းကို ပိုမိုကောင်းမွန်လာစေနိုင်မည် ဖြစ်ပါသည်။ ထို့အပြင် သက်ဆိုင်ရာ Feature များကို ရွေးချယ်ဖော်ထုတ်ပြီး မသက်ဆိုင်သည်များကို ပယ်ဖျက်ရန်အတွက် Feature ရွေးချယ်ခြင်းဆိုင်ရာ အယ်လ်ဂိုရီသမ် (Feature Selection Algorithms) များစွာလည်း ရှိပါသည်။ ၎င်းသည် ညွှန်ပြချက်ပါ သင်ယူမှုအယ်လ်ဂိုရီသမ်ကို မမောင်းနှင်မီ input ဒေတာများကို အတိုင်းအတာအရွယ်အစား ပိုမိုနည်းပါးသော နယ်ပယ်သို့ ပြောင်းလဲချိတ်ဆက်ပေးသည့် ပိုမိုကျယ်ပြန့်သော ဗျူဟာတစ်ခုဖြစ်သော အတိုင်းအတာအရွယ်အစား လျှော့ချခြင်း (Dimensionality Reduction) ၏ နမူနာတစ်ရပ်ပင် ဖြစ်ပါသည်။
၄။ Output တန်ဖိုးများတွင် အမှားအယွင်းများ ပါဝင်နေခြင်း (Noise in the output values)
[ပြင်ဆင်ရန်]စတုတ္ထမြောက် ထည့်သွင်းစဉ်းစားရမည့်အချက်မှာ လိုလားအပ်သော output တန်ဖိုးများ (ကြီးကြပ်မှုဆိုင်ရာ ပစ်မှတ်တန်ဖိုးများ - Supervisory Target Variables) တွင် အမှားအယွင်း (Noise) မည်မျှအထိ ပါဝင်နေသနည်းဟူသည့် ပမာဏဖြစ်ပါသည်]။ အကယ်၍ လူသားတို့၏ မှားယွင်းမှုများ သို့မဟုတ် ဆင်ဆာအမှားအယွင်းများကြောင့် လိုလားအပ်သော output တန်ဖိုးများသည် မကြာခဏဆိုသလို မှားယွင်းနေတတ်ပါက သင်ယူမှုအယ်လ်ဂိုရီသမ်အနေဖြင့် လေ့ကျင့်ရေးဒေတာနမူနာများနှင့် ကွက်တိကိုက်ညီမည့် function တစ်ခုကို ရှာဖွေရန် မကြိုးပမ်းသင့်ပါပဲ။ ဒေတာများနှင့် အလွန်အမင်း တိကျကိုက်ညီအောင် ကြိုးပမ်းခြင်းသည် အချက်အလက်အပေါ် အလွန်အကျွံ အံဝင်ခွင်ကျဖြစ်ခြင်း (Overfitting) ကို ဖြစ်ပေါ်စေပါသည်။
အကယ်၍ သင်သင်ယူရန် ကြိုးပမ်းနေသော function သည် သင့်သင်ယူမှုမော်ဒယ်အတွက် အလွန်အမင်း ရှုပ်ထွေးနေပါက တိုင်းတာမှုဆိုင်ရာ အမှားအယွင်းများ (Stochastic Noise) မရှိသည့်တိုင်အောင် အချက်အလက်အပေါ် အလွန်အကျွံ အံဝင်ခွင်ကျဖြစ်ခြင်း (Overfit) မျိုး ဖြစ်ပွားနိုင်ပါသည်။ ထိုသို့သောအခြေအနေမျိုးတွင် မော်ဒယ်အဖြစ် တည်ဆောက်၍မရနိုင်သော ပစ်မှတ် function ၏ အစိတ်အပိုင်းသည် သင်၏လေ့ကျင့်ရေးဒေတာများကို "ပျက်စီး" သွားစေတတ်ပြီး ဤဖြစ်စဉ်ကို သတ်မှတ်ချက်ပါ အမှားအယွင်း (Deterministic Noise) ဟု ခေါ်ဆိုကြပါသည်။ အမှားအယွင်း အမျိုးအစားနှစ်ခုအနက် မည်သည့်အမျိုးအစားမဆို ရှိနေသည့်အခါတွင် ဘက်လိုက်မှု ပိုမိုမြင့်မားပြီး ကွဲလွဲမှု ပိုမိုနည်းပါးသည့် ခန့်မှန်းတွက်ချက်မှုစနစ် (Estimator) ကို ရွေးချယ်အသုံးပြုခြင်းက ပိုမိုကောင်းမွန်ပါသည်။
လက်တွေ့လုပ်ငန်းခွင်တွင် အချက်အလက်အပေါ် အလွန်အကျွံ အံဝင်ခွင်ကျဖြစ်ခြင်း (Overfitting) ကို ကာကွယ်ရန်အတွက် စောစီးစွာ ရပ်တန့်ခြင်း (Early Stopping) ကဲ့သို့သော နည်းလမ်းများအပြင်၊ ညွှန်ပြချက်ပါ သင်ယူမှုအယ်လ်ဂိုရီသမ်ကို မလေ့ကျင့်မီ အမှားအယွင်းပါဝင်နေသည့် လေ့ကျင့်ရေးဒေတာနမူနာများကို ရှာဖွေဖယ်ရှားခြင်းဖြင့် Output တန်ဖိုးများရှိ အမှားအယွင်း များကို လျှော့ချပေးနိုင်မည့် ချဉ်းကပ်မှုပုံစံများစွာ ရှိပါသည်။ အမှားအယွင်းပါဝင်နေသော လေ့ကျင့်ရေးဒေတာနမူနာများကို ဖော်ထုတ်ပေးနိုင်သည့် အယ်လ်ဂိုရီသမ်များစွာ ရှိပြီး၊ စနစ်ကို မလေ့ကျင့်မီ ၎င်းအမှားအယွင်းရှိသည်ဟု သံသယရှိရသော လေ့ကျင့်ရေးဒေတာနမူနာများကို ဖယ်ရှားပစ်ခြင်းသည် ယေဘုယျကောက်ချက်ချမှုဆိုင်ရာ လွဲမှားမှုနှုန်း (Generalization Error) ကို စာရင်းအင်းဆိုင်ရာ သိသာထင်ရှားမှု (Statistical Significance) ရှိရှိဖြင့် လျော့ကျစေကြောင်း တွေ့ရှိရပါသည်။[၄][၅]
ထည့်သွင်းစဉ်းစားရမည့် အခြားသောအချက်များ
[ပြင်ဆင်ရန်]သင်ယူမှုအယ်လ်ဂိုရီသမ်တစ်ခုကို ရွေးချယ်ပြီး အသုံးချသည့်အခါ ထည့်သွင်းစဉ်းစားရမည့် အခြားသောအချက်များတွင် အောက်ပါတို့ ပါဝင်ပါသည် -
- ဒေတာများ၏ ကွဲပြားစုံလင်မှု (Heterogeneity of the data) အကယ်၍ feature vector များတွင် အမျိုးအစား မတူညီကြသော feature များစွာ (ဥပမာ - သီးခြားတန်ဖိုးများ၊ အစဉ်လိုက်သတ်မှတ်ထားသော သီးခြားတန်ဖိုးများ၊ ရေတွက်မှုတန်ဖိုးများနှင့် ဆက်တိုက်ပြောင်းလဲနေသော တန်ဖိုးများ) ရောနှောပါဝင်နေပါက အချို့သော အယ်လ်ဂိုရီသမ်များသည် အခြားအယ်လ်ဂိုရီသမ်များထက် အသုံးပြုရ ပိုမိုလွယ်ကူပါသည်။ Support-Vector Machines၊ Linear Regression၊ Logistic Regression၊ အာရုံကြောပုံတူ ကွန်ရက် (Neural Networks) နှင့် Nearest Neighbor Methods အပါအဝင် အယ်လ်ဂိုရီသမ်အများစုသည် Input feature များကို ကိန်းဂဏန်းတန်ဖိုးများ ဖြစ်ရန်လိုအပ်ပြီး တူညီသောပမာဏဘောင်များ (ဥပမာ - [-1,1] ကြား ကန့်သတ်ချက်) အတွင်းသို့ ချုံ့ချဲ့ချိန်ညှိထားရန် လိုအပ်ပါသည်။ အကွာအဝေးတွက်ချက်မှု Function ကို အသုံးပြုသည့် Nearest Neighbor Method များနှင့် Gaussian Kernels ပါဝင်သော Support-Vector Machines with Gaussian Kernels ကဲ့သို့သော နည်းလမ်းများသည် ဤအချက်အပေါ် အထူးသဖြင့် ပိုမိုအာရုံခံစားလွယ်ပါသည်။ Decision Trees များ၏ အားသာချက်မှာမူ ၎င်းတို့သည် ကွဲပြားစုံလင်သော ဒေတာများကို လွယ်ကူစွာ ကိုင်တွယ်ဖြေရှင်းနိုင်ခြင်း ဖြစ်ပါသည်။
- ဒေတာများ ထပ်နေခြင်း (Redundancy in the data) အကယ်၍ input feature များထဲတွင် ပိုလျှံနေသော ထပ်နေသည့် အချက်အလက်များ (ဥပမာ - အချင်းချင်း အလွန်အမင်း ဆက်စပ်နေသော feature များ) ပါဝင်နေပါက အချို့သော သင်ယူမှုအယ်လ်ဂိုရီသမ်များသည် ကိန်းဂဏန်းဆိုင်ရာ မတည်ငြိမ်မှုများကြောင့် စွမ်းဆောင်ရည် ညံ့ဖျင်းသွားတတ်ပါသည်။ ဤပြဿနာများကို ပုံမှန်ဖြစ်စေခြင်းဆိုင်ရာ ကန့်သတ်ချက်ပုံစံအချို့ (Regularization) ကို ထည့်သွင်းသတ်မှတ်ပေးခြင်းဖြင့် မကြာခဏ ဖြေရှင်းနိုင်ပါသည်။
- အပြန်အလှန်သက်ရောက်မှုများနှင့် linear မဟုတ်သော သဘာဝများ ရှိနေခြင်း (Presence of interactions and non-linearities) အကယ်၍ feature တစ်ခုချင်းစီသည် Output တန်ဖိုး ပေါ်သို့ အမှီအခိုကင်းကင်းဖြင့် သီးခြားစီ သက်ရောက်မှုရှိနေမည်ဆိုပါက Linear လုပ်ဆောင်ချက်များအပေါ် အခြေခံထားသော အယ်လ်ဂိုရီသမ်များနှင့် အကွာအဝေးတွက်ချက်မှု လုပ်ဆောင်ချက်များ (ဥပမာ - Nearest Neighbor, Support-Vector Machines with Gaussian Kernels) သည် ယေဘုယျအားဖြင့် ကောင်းမွန်စွာ လုပ်ဆောင်နိုင်ပါသည်။ သို့သော် feature များကြားတွင် ရှုပ်ထွေးသော အပြန်အလှန် သက်ရောက်မှုများ ရှိနေပါက Decision Trees မော်ဒယ်များနှင့် အာရုံကြောပုံတူ ကွန်ရက် (Neural Networks) ကဲ့သို့သော အယ်လ်ဂိုရီသမ်များက ပိုမိုထိရောက်စွာ အလုပ်လုပ်နိုင်ပါသည်။ အကြောင်းမှာ ၎င်းတို့ကို ထိုသို့သော အပြန်အလှန်သက်ရောက်မှုများကို ရှာဖွေဖော်ထုတ်ရန် သီးသန့်ဒီဇိုင်းထုတ်ထားသောကြောင့် ဖြစ်ပါသည်။ Linear နည်းလမ်းများကိုလည်း အသုံးပြုနိုင်သော်လည်း အင်ဂျင်နီယာအနေဖြင့် ၎င်းတို့ကို အသုံးပြုသည့်အခါ ထိုအပြန်အလှန်သက်ရောက်မှုများကို ကိုယ်တိုင်ကိုယ်ကျ လက်ဖြင့် သတ်မှတ်ပေးရမည် ဖြစ်ပါသည်။
စနစ်သစ်တစ်ခုကို အသုံးပြုရန် စဉ်းစားသည့်အခါ အင်ဂျင်နီယာသည် သင်ယူမှုအယ်လ်ဂိုရီသမ်အမြောက်အမြားကို နှိုင်းယှဉ်ကာ လက်ရှိပြဿနာအတွက် မည်သည့်အရာက အကောင်းဆုံးဖြစ်သည်ကို လက်တွေ့စမ်းသပ် ဆုံးဖြတ်နိုင်ပါသည် (အပြန်အလှန် စိစစ်ခြင်းနည်းလမ်း - Cross-Validation ကို ကြည့်ပါ)။ သင်ယူမှုအယ်လ်ဂိုရီသမ်တစ်ခု၏ စွမ်းဆောင်ရည်ကို လိုက်လံချိန်ညှိခြင်း (Tuning) သည် အချိန်အလွန်ကုန်နိုင်ပါသည်။ သတ်မှတ်ထားသော အရင်းအမြစ် ကန့်သတ်ချက်အတွင်း၌ အယ်လ်ဂိုရီသမ်ကို ပိုမိုကောင်းမွန်အောင် လိုက်လံချိန်ညှိရန် အချိန်အပိုပေးနေမည့်အစား ပိုမိုအသုံးဝင်မည့် အချက်အလက်အသစ်များနှင့် ပိုမိုအချက်အလက်ပြည့်စုံသော feature များကို စုဆောင်းရန် အချိန်ပိုပေးခြင်းက ပိုမိုကောင်းမွန်တတ်ပါသည်။
အယ်လ်ဂိုရီသမ်များ
[ပြင်ဆင်ရန်]ကျယ်ပြန့်စွာ အသုံးများသော အယ်လ်ဂိုရီသမ်များမှာ -
- Support-vector machines
- Linear regression
- Logistic regression
- Naive Bayes
- Linear discriminant analysis
- Decision trees
- <i id="mwig">k</i>-nearest neighbors algorithm
- Neural networks (e.g., Multilayer perceptron)
- Similarity learning
နည်းလမ်းများနှင့် အယ်လ်ဂိုရီသမ်များ
[ပြင်ဆင်ရန်]- Analytical learning
- Artificial neural network
- Backpropagation
- Boosting (meta-algorithm)
- Bayesian statistics
- Case-based reasoning
- Decision tree learning
- Inductive logic programming
- Gaussian process regression
- Genetic programming
- Group method of data handling
- Kernel estimators
- Learning automata
- Learning classifier systems
- Learning vector quantization
- Minimum message length (decision trees, decision graphs, etc.)
- Multilinear subspace learning
- Naive Bayes classifier
- Maximum entropy classifier
- Conditional random field
- Nearest neighbor algorithm
- Probably approximately correct learning (PAC) learning
- Ripple down rules, a knowledge acquisition methodology
- Symbolic machine learning algorithms
- Subsymbolic machine learning algorithms
- Support vector machines
- Minimum complexity machines (MCM)
- Random forests
- Ensembles of classifiers
- Ordinal classification
- Data pre-processing
- Handling imbalanced datasets
- Statistical relational learning
- Proaftn, a multicriteria classification algorithm
အသုံးချမှုများ
[ပြင်ဆင်ရန်]ညွှန်ပြချက်ပါ သင်ယူမှုစနစ်ကို လက်တွေ့နယ်ပယ်အသီးသီးတွင် အသုံးပြုနေသည့် နေရာများဖြစ်ပါသည် -
- ဇီဝသတင်းအချက်အလက်ဗေဒ (Bioinformatics): ဇီဝဆိုင်ရာ အချက်အလက်များကို ခွဲခြမ်းစိတ်ဖြာခြင်း။
- ဓာတုသတင်းအချက်အလက်ဗေဒနှင့် ဓာတုဗေဒဆိုင်ရာ ဆက်နွယ်မှု ခန့်မှန်းခြင်း (Cheminformatics & QSAR): ဓာတုပစ္စည်းများ၏ ဂုဏ်သတ္တိနှင့် လုပ်ဆောင်ချက်များအကြား ဆက်နွယ်မှုကို လေ့လာခြင်း။
- ဒေတာဘေ့စ်ဆိုင်ရာ ဈေးကွက်ရှာဖွေရေး (Database marketing): စားသုံးသူများ၏ အချက်အလက်အပေါ်မူတည်၍ ဈေးကွက်အစီအစဉ်များ ရေးဆွဲခြင်း။
- လက်ရေးစာများကို အသိအမှတ်ပြုခြင်း (Handwriting recognition): လက်ရေးဖြင့်ရေးသားထားသော စာသားများကို ဒစ်ဂျစ်တယ်စာသားအဖြစ် ပြောင်းလဲခြင်း။
- သတင်းအချက်အလက် ပြန်လည်ရှာဖွေခြင်းနှင့် အဆင့်သတ်မှတ်ခြင်း (Information retrieval & Learning to rank): အချက်အလက်များကို ရှာဖွေပြီး အရေးပါမှုအလိုက် အဆင့်ခွဲခြားခြင်း။
- သတင်းအချက်အလက် ထုတ်ယူခြင်း (Information extraction): စာသားများထဲမှ လိုအပ်သော အချက်အလက်များကို ထုတ်ယူခြင်း။
- ကွန်ပျူတာဖြင့် မြင်ကွင်းဆိုင်ရာ အရာဝတ္ထုများကို ခွဲခြားခြင်း (Object recognition in computer vision): ပုံရိပ်များထဲမှ အရာဝတ္ထုများကို ခွဲခြားသတ်မှတ်ခြင်း။
- စာသားများကို အလိုအလျောက် အသိအမှတ်ပြုခြင်း (Optical character recognition - OCR): ပုံရိပ်မှ စာသားများကို ကွန်ပျူတာဖြင့် ဖတ်ရှုခြင်း။
- အမှိုက်သရိုက် စာတိုများအား ဖယ်ရှားခြင်း (Spam detection): မလိုလားအပ်သော အီးမေးလ်များ သို့မဟုတ် မက်ဆေ့ချ်များကို ခွဲခြားခြင်း။
- ပုံစံများကို အသိအမှတ်ပြုခြင်း (Pattern recognition): အချက်အလက်များအတွင်းမှ ပုံစံများကို ရှာဖွေခြင်း။
- စကားပြောဆိုမှုကို အသိအမှတ်ပြုခြင်း (Speech recognition): အသံကို စာသား သို့မဟုတ် အမိန့်ပေးချက်အဖြစ် ပြောင်းလဲခြင်း။
- ဇီဝစနစ်များအတွင်း ဖြစ်ပေါ်သည့် အကြောင်းရင်းခံများ (Downward causation in biological systems): ဇီဝစနစ်များတွင် ဖြစ်ပေါ်သည့် သက်ရောက်မှုများကို လေ့လာခြင်း။
- ဂြိုဟ်တုပုံရိပ်များဖြင့် မြေပြင်အနေအထား ခွဲခြားခြင်း (Landform classification using satellite imagery): မြေမျက်နှာသွင်ပြင်ကို ဂြိုဟ်တုပုံရိပ်များမှတစ်ဆင့် ခွဲခြားခြင်း။
- ဝယ်ယူမှုလုပ်ငန်းစဉ်များတွင် ကုန်ကျစရိတ်များကို အမျိုးအစားခွဲခြင်း (Spend classification in procurement processes): ကုမ္ပဏီများ၏ ဝယ်ယူမှုများကို အမျိုးအစားအလိုက် ခွဲခြားခြင်း။
အထွေထွေပြဿနာရပ်များ
[ပြင်ဆင်ရန်]ညွှန်ပြချက်ပါ သင်ယူမှုစနစ်တွင် ကြုံတွေ့ရလေ့ရှိသည့် စိန်ခေါ်မှုများနှင့် သီအိုရီဆိုင်ရာ အကြောင်းအရာများဖြစ်ပါသည် -
- ကွန်ပျူတာဖြင့် သင်ယူခြင်းဆိုင်ရာ သီအိုရီ (Computational learning theory): သင်ယူမှုလုပ်ငန်းစဉ်၏ သင်္ချာနှင့် သီအိုရီဆိုင်ရာ အခြေခံများ။
- ရည်မှန်းချက်ဆိုင်ရာ ဘက်လိုက်မှု (Inductive bias): စနစ်တစ်ခုက မမြင်ဖူးသော ဒေတာများကို ခန့်မှန်းရာတွင် အသုံးပြုသည့် ကြိုတင်ယူဆချက်များ။
- အလွန်အကျွံ အံဝင်ခွင်ကျဖြစ်ခြင်း (Overfitting): ဒေတာကို အလွန်အမင်း တိကျစွာ လိုက်လျောညီထွေဖြစ်အောင် လုပ်မိခြင်းကြောင့် အမှားများခြင်း။
- အမျိုးအစားဝင်ရောက်မှု ဖြစ်နိုင်ခြေများ (Uncalibrated class membership probabilities): အမျိုးအစားတစ်ခုတွင် ပါဝင်နိုင်ခြေကို တိုင်းတာခြင်းဆိုင်ရာ အချက်အလက်များ။
- Version space): ဖြစ်နိုင်ခြေရှိသော မော်ဒယ်များ၏ အစုအဝေးကို ရှာဖွေခြင်း။
ကိုးကားချက်များ
[ပြင်ဆင်ရန်]- 1 2 Mitchell, Tom M. (2013). Machine learning. McGraw-Hill series in Computer Science (Nachdr. ed.). New York: McGraw-Hill. https://www.cs.cmu.edu/~tom/files/MachineLearningTomMitchell.pdf
- ↑ S. Geman, E. Bienenstock, and R. Doursat (1992). Neural networks and the bias/variance dilemma. Neural Computation 4, 1–58.
- ↑ G. James (2003) Variance and Bias for General Loss Functions, Machine Learning 51, 115–135.
- ↑ C.E. Brodely and M.A. Friedl (1999). Identifying and Eliminating Mislabeled Training Instances 12 May 2016 ၌ မော်ကွန်းပြန်ကြည့်စက်တွင် မော်ကွန်းတင်ပြီး ., Journal of Artificial Intelligence Research 11, 131–167.
- ↑ Smith, Michael R. (2011-07). "Improving classification accuracy by identifying and removing instances that should be misclassified". The 2011 International Joint Conference on Neural Networks: 2690–2697. doi:.
ပြင်ပလင့်ခ်များ
[ပြင်ဆင်ရန်]- Machine Learning Open Source Software (MLOSS) 9 August 2018 ၌ မော်ကွန်းပြန်ကြည့်စက်တွင် မော်ကွန်းတင်ပြီး .