သတင်းကုထုံး ဗဟုတက္ကသိုလ် စာကြည့်တိုက်
သင်္ချာ၊ ကွန်ပျူတာသိပ္ပံ၊ ဉာဏ်ရည်တုပညာ နှင့် ဥပဒေ ဆိုင်ရာ သုတ ရသ ဆောင်းပါးများ
Wednesday, November 4, 2026
ချစ်ခင်မြတ်နိုးသော သီချင်းများ၊ ကြည်ညိုလေးစားသော တေးရေးအနုပညာရှင်များ (အပိုင်း-၂)
Tuesday, November 3, 2026
ချစ်ခင်မြတ်နိုးသော သီချင်းများ၊ ကြည်ညိုလေးစားသော တေးရေးအနုပညာရှင်များ (အပိုင်း-၁)
((အနုပညာရှင်များသည် ၎င်းတို့ကို ချစ်ခင်လေးသားသူတို့၏ စိတ်နှလုံး၌၊ အမြဲတစေ နုပျိုနေခြင်း၊ ကာလရှည်ကြာ မပြောင်းမလဲတည်ရှိနေခြင်းနှင့် အနုပညာရှင်တို့၏ အနုပညာအမည်ကို လေးစားတန်ဘိုးထားခြင်းတို့ကြောင့်၊ ဤ စာစုတွင်၊ အနုပညာရှင်တို့၏ အမည်ကို ရေးသားဖေါ်ပြရာ၌၊ ကို/ဦး/ဒေါ်/မ စသည်တို့ကို၊ အနုပညာအမည်၏ရှေ့တွင် ထည့်သွင်းသုံးစွဲခြင်းမပြုပဲ၊ မူရင်း အနုပညာအမည်ကိုသာသုံးစွဲပါမည်။)
အခုတလော
လူမှုကွန်ယက်ပေါ်မှာ (ဆရာကြီး) စိုင်းခမ်းလိတ် ရဲ့ပုံရိပ်တွေ၊ ကိုနေဝင်း ရဲ့ ပုံရိပ်တွေ၊
(ဦး/ကို)ဂျေမောင်မောင် ရဲ့ ပုံရိပ်တွေ မကြာခန တွေ့မိလာပြီးတဲ့နောက်မှာ၊ အတွေးတစ ဝင်လာမိပါတယ်။
အဲတာကတော့ “ငါ့ဘဝအပေါ်မှာ ‘စိတ်ဝိဉာဉ် နှလုံးသား အဟာရ အကြွေး’ ဆပ်မကုန်အောင် တင်ရှိနေတဲ့
အနုပညာရှင်တွေကို၊ ငါဟာ ရုပ်ဝတ္ထုအရ ကျေးဇူး ဆပ်နိုင်စွမ်းမရှိသည့်တိုင်၊ ၎င်း အနုပညာရှင်ကြီးတွေရဲ့
ကောင်းမွန်တဲ့ မွန်မြတ်တဲ့ အဖိုးထိုက်တန်တဲ့၊ လေးစားမှု ချီးကျူးမှု မဖြစ်မနေရသင့်တဲ့
သူတို့ရဲ့ အနုပညာလက်ရာတွေအကြောင်းတွေကို၊ ဘယ်လိုပဲဖြစ်ဖြစ်၊ ဘယ်သူသိသိ မသိသိ၊ ငါ့တကိုယ်စာ
ငါခံစားမိသလို ထုတ်ဖေါ်ပြောဆိုခြင်းဖြင့် ၎င်းအနုပညာရှင်တွေရဲ့ ကျေးဇူးတရားကို မှတ်တမ်းတင်သင့်တယ်”
ဆိုတာပါပဲ။
စကားလုံးတွေရဲ့
အထားအသိုအစီအစဉ် နောက်ကွယ်မှာ၊ မိမိတို့ တစ်ဘဝလုံးစာ စုဆောင်းခဲ့တဲ့
ဉာဏ်ပညာ မေတ္တာတရား အသက် ဝိဉာဉ်
ရှိရှိသမျှ အကုန်ထည့်သွင်းပေးခဲ့တဲ့၊ သံစဉ်တို့ရဲ့
တုန်ခါမှုတိုင်းမှာ နားဆင်သူရဲ့ နှလုံးသားကို ကြည်နူးချမ်းမြေ့စေ ပျော်ရွှင်စေ ကျေနပ်စွာကြေကွဲစေ
လွမ်းဆွတ်စေ နူးညံ့စေတဲ့၊ တေးရေးဆရာတွေရဲ့
ဂုဏ်ကျေးဇူးဟာ၊ ကျွန်တော့်အတွက်တော့
တိုင်းဆလို့ မရနိုင်လောက်အောင် နက်ရှိုင်းလှပါတယ်။ လူတစ်ယောက်ရဲ့ ကျဉ်းမြောင်းတဲ့ကမ္ဘာသေးသေးလေးထဲကို၊
သံစဉ်နဲ့ စကားလုံးတွေသုံးစွဲပြီး
မိုးစက်ရေအေး စီးဆင်းစေခဲ့သူ၊ လူအများစု နှုတ်ကထုတ်မပြောတတ်တဲ့
ခံစားချက်တွေကို၊ နှုတ်ကပဲ ဖွင့်ဟ သီဆိုဟစ်ကြွေးနိုင်တဲ့
သီချင်းတွေအဖြစ် အသက်သွင်းပေးခဲ့ကြသူတွေဟာ
တေးရေးဆရာတွေပဲဖြစ်ပါတယ်။
ကျွန်တော်တို့ဟာ
ငယ်စဉ်ကတည်းက ချစ်ခြင်းမေတ္တာကို နားလည်ခဲ့ရခြင်း၊
အမုန်းတရားတွေကို အေးငြိမ်းကွယ်ပျောက်စေခဲ့ရခြင်းနဲ့
နုညံ့ခြင်း စာနာထောက်ထားခြင်းတည်းဟူသော
အလှတရားတွေကို ၎င်းတေးရေးဆရာတွေ ရေးဖွဲ့ခဲ့တဲ့ သီချင်းတွေကတစ်ဆင့် ဖြည်းဖြည်းချင်း သင်ယူခဲ့ကြရခြင်းဖြစ်ပါတယ်။
သူတို့ သံစဉ်တွေရဲ့နူးညံ့မှု စကားလုံးများရဲ့သိမ်မွေ့နက်ရှိုင်းမှုတွေကြောင့်
ကျွန်တော်တို့ရဲ့
နှလုံးသားတွေဟာ
ခက်ထန်မာကျောခြင်း
ကင်းဝေးပြီး ချစ်ခင်တတ်သူများ၊ ယဉ်ကျေးသိမ်မွေ့တတ်သူများ ဖြစ်လာခဲ့ကြရတာပါ။ သူတို့ရဲ့ ဖန်တီးမှုတွေကြောင့် ဒေါသ၊ အမုန်း၊ အတ္တတို့ထက် ချစ်ခြင်း၊ ငဲ့ညှာခြင်းနှင့် သိမ်မွေ့ခြင်း ကို မြတ်နိုးတတ်သူများ၊ အမှန်တကယ် "လူပီသသူများ" အဖြစ် ပုံစံသွင်းခံခဲ့ကြရခြင်း ဖြစ်ပါတယ်။ ဒါကြောင့် စကားလုံးနဲ့ သံစဉ်တို့ရဲ့နောက်ကွယ်မှာ၊
တစ်ဘဝလုံးကို အရင်းအနှီးပြုပြီး၊
လူ့အဖွဲ့အစည်းရဲ့ စိတ်နှလုံးကို
ကောင်းမြတ်အောင် မွမ်းမံပေးခဲ့ကြတဲ့
တေးရေးဆရာတွေရဲ့ ဂုဏ်ကျေးဇူးကို အထူးပင် လေးစားတန်ဖိုးထားရင်း ထာဝရ ကျေးဇူးဥပကာရ တင်ရှိပါကြောင်း ဦးစွာပထမ ချီးမွန်းပူဇော်ဂုဏ်ပြုအပ်ပါတယ်။
“ကဲ…
ဒါဆိုရင် … မင်းပြောတဲ့ မင်းချစ်ခင်လေးစားပါတယ်ဆိုတဲ့ အဲ့ဒီ အနုပညာရှင် တေးရေးတွေက
ဘယ်သူတွေတုန်း?” လို့ မေးရင်၊ အဲ့ဒီမေးခွန်းဟာ ကျွန်တော် တစ်ကြိမ်တည်းနဲ့ ပြည့်စုံကုန်စင်အောင်ဖြေကြားနိုင်မဲ့
မေးခွန်းမျိုးမဟုတ်ပါဘူး။ ပထမဆုံး ခေါင်းထဲကိုရောက်လာတာက နန်းတော်ရှေ့ဆရာတင်၊ ဆရာငြိမ်း (မြို့မငြိမ်း) တို့
ကနေ၊ ဆရာကြီး စိုင်းခမ်းလိတ် နဲ့ မဇ္ဈိမလှိုင်း အဖွဲ့သားတွေဖြစ်တဲ့ ကိုနေဝင်း၊ ကိုမောင်မောင်၊
ကိုရဲလွင်၊ နိုင်မင်း၊ သားထွေး တို့ပါပဲ။ ဒါ့အပြင် ရေးဆိုတီး စွယ်စုံရထဲက ကိုင်ဇာ၊
လွှမ်းမိုး၊ ဖိုးချို၊ ထူးအိမ်သင်၊ ဂျေမောင်မောင်။ စောဘွဲ့မှူး၊ နိုင်မြန်မာ၊ ဆူး။
စလီဘဏ်း၊ နေထွဏ်းဦး။ မောင်မောင်ဇော်လတ်၊ အယ်ဖြူ။ ကော်ပီဖက်မှာ မောင်သစ်မင်း၊ ဝင်းမင်းထွေး၊
မင်းချစ်သူ၊ သုခမိန်လှိုင်။ ပြောမကုန်နိုင်လောက်အောင်ပါပဲ။
ကျွန်တော်ဟာ
သာမန် သီချင်းချစ်သူတစ်ယောက်သာဖြစ်ပေမဲ့၊ သီချင်းတွေနဲ့ ပတ်သက်ရင်၊ အထူးကံကောင်းခဲ့သူတစ်ယောက်လို့
ကိုယ့်ကိုယ်ကို အမြဲခံယူပါတယ်။ ဘာလို့လဲ ဆိုတော့၊ ကျွန်တော့ရဲ့ ဘဝသက်တမ်းအတွင်းမှာ၊
အခု ဖေါ်ပြခဲ့တဲ့ အနုပညာရှင်တွေရဲ့ သိပ်ကို ခမ်းနားလွန်း ပြည့်စုံလွန်း ကောင်းမွန်လွန်း
စစ်မှန်လွန်းတဲ့ ဖန်တီးမှုလက်ရာတွေကို၊ နားထောင်ခွင့် ခံစားခွင့်၊ (တစ်ကိုယ်တော် တိတ်တဆိတ်)
ဆိုညည်းခွင့် ရခဲ့လို့ပါပဲ။
ဒါဆိုရင်
မင်းက ဘယ်တေးရေးကို အကြိုက်ဆုံးလဲ? ဘယ်သီချင်းကို အကြိုက်ဆုံးလဲ? လို့များမေးရင် ယတိပြတ်ဖြေနိုင်စွမ်းရှိမှာ
မဟုတ်ပါဘူး။ ဒါပေမဲ့ မသိစိတ်ထဲထိအောင် သံမှိုနှက်သလိုစွဲမြဲနေတဲ့ စကားလုံးတွေ သံစဉ်တွေဟာ
တခါတရံမထင်မှတ်ပဲ ခေါင်းထဲကို အလိုလိုရောက်လာတဲ့အချိန်တွေရှိပါတယ်။ အဲ့လိုအချိန်တွေထဲက
အနည်းငယ်မျှလောက်ကို မှတ်တမ်းပြုရရင်
ဆရာကြီး
စိုင်းခမ်းလိတ် ရဲ့လက်ရာ၊ ဦးထီး (စိုင်းထီးဆိုင်) ရဲ့အဆိုနဲ့
“ဥပေက္ခာလောကသား၊
အပေးအယူ၊ တာဝေးအပြေးသမား၊ ဒီထက်ပိုပြီးမတတ်နိုင်ဘူး၊ ပျောက်ဆုံးနေသောနိဗ္ဗါန်ဘုံ၊ ပလက်ဖေါင်းမင်းသား”
… စတာတွေ။
ဒါ့အပြင်၊
ဆရာစိုင်းခမ်းလိတ်ရဲ့ လက်ရာမွန်ပေါင်းများစွာထဲမှာ ကျွန်တော် နှစ်သက်မြတ်နိုးမိတဲ့
သီချင်းတစ်ပုဒ်က အမြဲတစေ မှတ်မှတ်ထင်ထင် ရှိနေပါတယ်။ အဲ့ဒီသီချင်းဟာ လူတွေလဲ သိပ်သတိမထားမိကြတဲ့၊
ကျွန်တော်ကိုယ်တိုင်လဲ ငယ်စဉ်တုန်းက ကြိုက်နှစ်သက်ရမှန်းမသိသေး နားမလည်သေးဘဲ အသက်အရွယ်ရလာမှ
ခံစားနားလည်တတ်လာပြီး တော်တော်လေး နှစ်သက်မိတဲ့သီချင်း၊ အဲ့ဒီသီချင်းဟာ ကျွန်တော့်အတွက်တော့
ပန်းချီကားတချပ်လို၊ ပြဇာတ်တပုဒ်လို၊ သရော်စာတပုဒ်လို၊ လူမျိုးတမျိုးရဲ့ စိတ်နေစိတ်ထား
စရိုက်သဘာဝဆိုင်ရာ သုတေသနစာတမ်းတစောင်လို၊ လူမှုရေး စီးပွားရေးဆိုင်ရာ ရသမြောက်အက်ဆေးတစ်ပုဒ်လို...
ဖြစ်တဲ့ “တရုတ်တန်းဈေးက အဖြစ်အပျက်လေး”။
(ချစ်ခင်မြတ်နိုးသော
သီချင်းများ၊ ကြည်ညိုလေးစားသော တေးရေးအနုပညာရှင်များ
အပိုင်း-၂
ဆက်ရန်)
Saturday, October 31, 2026
Data Leakage in Machine Learning
Machine learning မော်ဒယ်တွေ တည်ဆောက်တဲ့အခါ ဟိုက်ပါပါရာမီတာ ချိန်ညှိခြင်း (hyperparameter tuning) ပြုလုပ်စဉ်မှာ ဒေတာ ယိုစိမ့်မှု (data leakage) ကို ကာကွယ်နိုင်ဖို့အတွက်၊ ပုံမှန်အားဖြင့် ရှိရင်းစွဲ ဒေတာတွေကို အပိုင်း သုံးပိုင်း ခွဲခြား အသုံးပြုလေ့ရှိပါတယ်။ အဲဒါတွေကတော့ လေ့ကျင့်ရေး ဒေတာအစုအဝေး (training set)၊ စစ်ဆေးအတည်ပြုရေး ဒေတာအစုအဝေး (validation set) နဲ့ စမ်းသပ်ရေး ဒေတာအစုအဝေး (test set) တို့ပဲ ဖြစ်ပါတယ်။
စစ်ဆေးအတည်ပြုရေး ဒေတာအစုအဝေး (Validation Set) ၏ အခန်းကဏ္ဍ Validation set ဆိုတာ မော်ဒယ်ရဲ့ hyperparameter တွေကို အကြိမ်ကြိမ် ပြုပြင်ချိန်ညှိဖို့နဲ့ အကောင်းဆုံး setting ကို ရွေးချယ်ဖို့အတွက် အထူးသီးသန့် ဖယ်ထားတဲ့ ဒေတာအစုအဝေး ဖြစ်ပါတယ်။ သုတေသီ (researcher) ဟာ training set ကိုသုံးပြီး မော်ဒယ်ကို အရင်ဆုံး လေ့ကျင့်ပေးပါတယ်။ အဲဒီနောက်မှာ မော်ဒယ်ရဲ့ စွမ်းဆောင်ရည်ကို validation set ပေါ်မှာ စစ်ဆေးပြီး အမှားအယွင်းနှုန်းတွေ (error rates) ကို တိုင်းတာပါတယ်။ ရလာတဲ့ ရလဒ်တွေအပေါ် မူတည်ပြီး hyperparameter တွေကို အကောင်းဆုံးဖြစ်အောင် ထပ်ခါတလဲလဲ ပြောင်းလဲစမ်းသပ်ပါတယ်။ ဒါကြောင့်မို့လို့ မော်ဒယ်ဟာ validation set ပေါ်မှာ အကောင်းဆုံး အဖြေထုတ်ပေးနိုင်အောင် သွယ်ဝိုက်သောနည်းနဲ့ လေ့လာသင်ယူသွားပါတယ်။
စမ်းသပ်ရေး ဒေတာအစုအဝေး (Test Set) ၏ အခန်းကဏ္ဍ Test set ကတော့ မော်ဒယ်တည်ဆောက်ခြင်းနဲ့ ချိန်ညှိခြင်း လုပ်ငန်းစဉ်တွေ အားလုံး အပြီးသတ်သွားတဲ့အခါမှသာ၊ နောက်ဆုံးရလာတဲ့ အကောင်းဆုံး မော်ဒယ်ရဲ့ အပြင်ကမ္ဘာက အချက်အလက်အသစ်တွေအပေါ် စွမ်းဆောင်ရည်ကို (true performance on unseen data) တိုင်းတာဖို့အတွက် အသုံးပြုတဲ့ လုံးဝ ဖုံးကွယ်ထားတဲ့ (လုံးဝ ကြိုမကြည့်ရတဲ့) ဒေတာအစုအဝေး ဖြစ်ပါတယ်။ သူ့ကို မော်ဒယ်လေ့ကျင့်တဲ့ နေရာမှာရော၊ hyperparameter တွေ ရွေးချယ်တဲ့နေရာမှာပါ လုံးဝ အသုံးမပြုပါဘူး။ အလွယ်ပြောရရင် စာမေးပွဲခန်းထဲရောက်မှ ဖောက်ကြည့်ရမယ့် မေးခွန်းစာရွက်လိုပါပဲ၊ အပြင်မှာ ကြိုပြီး လုံးဝ လေ့လာခွင့် မရှိပါဘူး။
Data Leakage ကို ကာကွယ်ပေးပုံ ကွာခြားချက် အကယ်၍ သုတေသီဟာ validation set ကို သီးသန့်မထားဘဲ test set ပေါ်မှာပဲ တိုက်ရိုက် hyperparameter တွေကို ချိန်ညှိမယ်ဆိုရင်၊ သုတေသီရဲ့ ပြုပြင်ပြောင်းလဲမှုတွေကတစ်ဆင့် test set ရဲ့ အချက်အလက်တွေဟာ မော်ဒယ်ထဲကို ယိုစိမ့်ဝင်ရောက်သွားပါလိမ့်မယ် (information leaks into the model)။ ဒီလိုဆိုရင် မော်ဒယ်က အဲဒီ test set လေးတစ်ခုတည်းအတွက်ပဲ အလွတ်ကျက်ထားသလို (overfitting) ဖြစ်သွားပြီး၊ တကယ့် လက်တွေ့ပြင်ပမှာ အသုံးပြုတဲ့အခါ အဖြေမှန်တွေ ထုတ်ပေးနိုင်တော့မှာ မဟုတ်ပါဘူး။
ဒါကြောင့်မို့လို့ Validation set ကို သီးခြားခွဲထုတ် အသုံးပြုခြင်းအားဖြင့် မော်ဒယ်ကို လွတ်လွတ်လပ်လပ် စမ်းသပ်ချိန်ညှိဖို့ (to tune) နေရာတစ်ခုကို ဖန်တီးပေးလိုက်ပြီး၊ Test set ကိုတော့ အဂတိမလိုက်စားတဲ့ နောက်ဆုံး အကဲဖြတ်မှု (an unbiased final evaluation) ပြုလုပ်ဖို့အတွက် သန့်သန့်ရှင်းရှင်း သိမ်းဆည်းထားနိုင်တာပဲ ဖြစ်ပါတယ်။
Friday, October 23, 2026
The application of the VERSION-SPACE-LEARNING algorithm
VERSION-SPACE-LEARNING အယ်လ်ဂိုရီသမ် (Candidate Elimination လို့လည်း ခေါ်တယ်။)
ကို Restaurant Data အပေါ် အသုံးချရာတွင်၊ ဖြစ်နိုင်ချေရှိသော ယူဆချက်များ (hypotheses) အားလုံးပါဝင်သည့် 'Version Space' တစ်ခုကို တည်ဆောက်ပြီး ဥပမာ (examples) တစ်ခုစီတိုင်းအတွက် ကိုက်ညီမှုရှိသော ယူဆချက်များကို စစ်ထုတ်သွားခြင်း ဖြစ်တယ်။
Restaurant Data တွင် "WillWait" ဟူသော Boolean target (Yes/No) ကို ခန့်မှန်းရန်အတွက် Alternate, Bar, Fri/Sat, Hungry, Patrons, Price, Raining, Reservation, Type, Est ဟူသော input attribute (၁၀) ခု ပါဝင်တယ်။
VERSION-SPACE-LEARNING အယ်လ်ဂိုရီသမ် အလုပ်လုပ်ပုံမှာ အောက်ပါအတိုင်း ဖြစ်ပါတယ်။
Version Space ကို ဘောင်ခတ်ခြင်း: Version Space (V) အား ယေဘုယျအကျဆုံး ယူဆချက်များပါဝင်သည့် G-set နှင့်၊ အတိကျဆုံးဖြစ်အောင် ကန့်သတ်ထားသည့် ယူဆချက်များပါဝင်သည့် S-set တို့ကို အသုံးပြု၍ ဘောင်ခတ် ကိုယ်စားပြုဖော်ပြသည်
။Positive Example များ (WillWait = Yes): အယ်လ်ဂိုရီသမ်သည် ဥပမာအသစ်နှင့် ကိုက်ညီစေရန် S-set ထဲရှိ ယူဆချက်များကို ပိုမိုယေဘုယျကျအောင် (Generalize) ပြောင်းလဲပေးပြီး၊ ၎င်းဥပမာနှင့် ကိုက်ညီမှုမရှိသော G-set ထဲမှ ယူဆချက်များကို ဖယ်ရှားသည်
။Negative Example များ (WillWait = No): ဥပမာအသစ်အား ဖယ်ထုတ်နိုင်ရန် G-set ထဲရှိ ယူဆချက်များကို ပိုမိုတိကျအောင် (Specialize) ခွဲဖြာပြောင်းလဲပေးပြီး၊ ၎င်းဥပမာနှင့် ကိုက်ညီနေသော (မှားယွင်းနေသော) S-set ထဲမှ ယူဆချက်များကို ဖယ်ရှားသည်
။
Restaurant Data ပေါ်တွင် အသုံးချခြင်း၏ ရလဒ်နှင့် တွေ့ရှိချက် (Limitation)
Conjuntive Hypothesis (AND logic သက်သက်) ကိုသာ အသုံးပြုထားသည့် မူလ Version Space Learning ဖြင့် ဤ Restaurant Data ကို တွက်ချက်ပါက၊ အယ်လ်ဂိုရီသမ်သည် အစပိုင်း ဥပမာအနည်းငယ်တွင် ပုံမှန်အလုပ်လုပ်သော်လည်း နောက်ပိုင်းတွင် Version Space ပြိုကွဲသွားခြင်း (Empty ဖြစ်သွားခြင်း) ကို ကြုံတွေ့ရမည် ဖြစ်သည်။
အကြောင်းရင်းမှာ Positive Example မျိုးစုံ (ဥပမာ x1, x3, x4) များ၌ တူညီသော attribute တန်ဖိုးများ မရှိသလောက် နည်းပါးသောကြောင့်၊ S-set သည် လျင်မြန်စွာပင် အရာအားလုံးနှင့် ကိုက်ညီသည့် < ?, ?, ?, ?, ?, ?, ?, ?, ?, ? > အခြေအနေသို့ ရောက်ရှိသွားမည် ဖြစ်သည်။ ထိုအခါ Negative Example တစ်ခုဝင်လာသည်နှင့် S-set မှ ကာကွယ်ပေးနိုင်ခြင်း မရှိတော့ဘဲ G-set နှင့် S-set တို့ ဖြတ်တောက်မှု (Intersection) သည် Empty ဖြစ်သွားမည် ဖြစ်သည်။ ဤသည်မှာ Version-space ချဉ်းကပ်မှု၏ အဓိက အားနည်းချက်တစ်ခုဖြစ်သည့် "Disjunction ပြဿနာ" (OR logic လိုအပ်ခြင်း) ကို လက်တွေ့သက်သေပြလိုက်ခြင်း ဖြစ်ပါသည်
အဆိုပါ သီအိုရီ အလုပ်လုပ်ပုံနှင့် Version Space ပြိုကွဲသွားသည့် အဆင့်အထိကို အသေးစိတ် ပုံဖော်တွက်ချက်ပြထားသည့် အပြည့်အစုံ အလုပ်လုပ်နိုင်သော Python ပရိုဂရမ်မှာ အောက်ပါအတိုင်း ဖြစ်ပါတယ်။
import pandas as pd
import copy
# Figure 19.2 မှ Restaurant Data အချက်အလက်များ[cite: 1]
# Columns: Alt, Bar, Fri, Hun, Pat, Price, Rain, Res, Type, Est, WillWait
data = [
['Yes', 'No', 'No', 'Yes', 'Some', '$$$', 'No', 'Yes', 'French', '0-10', 'Yes'],
['Yes', 'No', 'No', 'Yes', 'Full', '$', 'No', 'No', 'Thai', '30-60', 'No'],
['No', 'Yes', 'No', 'No', 'Some', '$', 'No', 'No', 'Burger', '0-10', 'Yes'],
['Yes', 'No', 'Yes', 'Yes', 'Full', '$', 'Yes', 'No', 'Thai', '10-30', 'Yes'],
['Yes', 'No', 'Yes', 'No', 'Full', '$$$', 'No', 'Yes', 'French', '>60', 'No'],
['No', 'Yes', 'No', 'Yes', 'Some', '$$', 'Yes', 'Yes', 'Italian', '0-10', 'Yes'],
['No', 'Yes', 'No', 'No', 'None', '$', 'Yes', 'No', 'Burger', '0-10', 'No'],
['No', 'No', 'No', 'Yes', 'Some', '$$', 'Yes', 'Yes', 'Thai', '0-10', 'Yes'],
['No', 'Yes', 'Yes', 'No', 'Full', '$', 'Yes', 'No', 'Burger', '>60', 'No'],
['Yes', 'Yes', 'Yes', 'Yes', 'Full', '$$$', 'No', 'Yes', 'Italian', '10-30', 'No'],
['No', 'No', 'No', 'No', 'None', '$', 'No', 'No', 'Thai', '0-10', 'No'],
['Yes', 'Yes', 'Yes', 'Yes', 'Full', '$', 'No', 'No', 'Burger', '30-60', 'Yes']
]
attributes = ['Alternate', 'Bar', 'Fri/Sat', 'Hungry', 'Patrons', 'Price', 'Raining', 'Reservation', 'Type', 'WaitEstimate']
def is_consistent(hypothesis, example):
"""Hypothesis သည် ပေးထားသော ဥပမာနှင့် ကိုက်ညီမှု ရှိ/မရှိ စစ်ဆေးရန်"""
for h_val, e_val in zip(hypothesis, example):
if h_val != '?' and h_val != e_val:
return False
return True
def more_general(h1, h2):
"""h1 သည် h2 ထက် ပို၍ ယေဘုယျကျခြင်း (generalize ဖြစ်ခြင်း) ရှိ/မရှိ စစ်ဆေးရန်"""
for v1, v2 in zip(h1, h2):
if v1 != '?' and v1 != v2:
return False
return True
def version_space_learning(dataset):
# S-set ကို အတိကျဆုံး အခြေအနေဖြင့် စတင်မည် ('0' သည် ကန့်သတ်ချက်အမြင့်ဆုံးကို ကိုယ်စားပြုသည်)
S = ['0'] * len(attributes)
# G-set ကို ယေဘုယျအကျဆုံး အခြေအနေဖြင့် စတင်မည် ('?' သည် မည်သည့်တန်ဖိုးမဆို ကိုယ်စားပြုသည်)
G = [['?'] * len(attributes)]
print(f"{'='*60}\nအစပြုချိန် S-set: {S}")
print(f"အစပြုချိန် G-set: {G}\n{'='*60}")
for i, row in enumerate(dataset):
x = row[:-1]
y = row[-1]
print(f"\nExample {i+1} ကို စစ်ဆေးခြင်း: {x} => Target: {y}")
if y == 'Yes':
# Positive Example ဖြစ်လျှင်
# ၁. G-set ထဲမှ ဥပမာ x နှင့် မကိုက်ညီသော ယူဆချက်များကို ဖယ်ရှားမည်
G = [g for g in G if is_consistent(g, x)]
# ၂. S-set ကို ဥပမာ x နှင့် ကိုက်ညီအောင် Generalize လုပ်မည်
if S[0] == '0':
S = list(x)
else:
for j in range(len(S)):
if S[j] != '?' and S[j] != x[j]:
S[j] = '?'
# S-set သည် G-set မှ ယူဆချက်တစ်ခုခုအောက်တွင် specific မဖြစ်တော့ပါက Version Space ပြိုကွဲပြီဖြစ်သည်
if not any(more_general(g, S) for g in G):
print("\n[!] သတိပေးချက်: Version Space ပြိုကွဲသွားပါပြီ (Empty ဖြစ်သွားပါသည်)။")
print("အကြောင်းရင်း: S-set သည် လွန်ကဲစွာ ယေဘုယျကျသွားပြီး G-set နှင့် မကိုက်ညီတော့ပါ။")
print("ကောက်ချက်: ဤ Restaurant Data ၏ Target Concept သည် AND logic သီးသန့်ဖြင့် ဖော်ပြ၍မရဘဲ၊ Disjunction (OR logic) များ လိုအပ်ပါသည်။")
break
else:
# Negative Example ဖြစ်လျှင်
# ၁. S-set သည် negative ဥပမာနှင့် ကိုက်ညီနေပါက Version space ပြိုကွဲသည်
if S[0] != '0' and is_consistent(S, x):
print("\n[!] သတိပေးချက်: Version Space ပြိုကွဲသွားပါပြီ။ S-set သည် Negative Example ကို လက်ခံနေပါသည်။")
break
# ၂. G-set ကို ဥပမာ x ကို ဖယ်ထုတ်နိုင်ရန် Specialize လုပ်မည်
new_G = []
for g in G:
if is_consistent(g, x):
for j in range(len(g)):
if g[j] == '?':
# S-set ၏ တန်ဖိုးကို အသုံးပြု၍ Negative example ကို ရှောင်လွှဲနိုင်သော hypothesis အသစ် ဖန်တီးမည်
if S[j] != '0' and S[j] != '?':
if S[j] != x[j]:
new_g = copy.deepcopy(g)
new_g[j] = S[j]
new_G.append(new_g)
else:
new_G.append(g)
# G-set ထဲမှ ပို၍ ယေဘုယျမကျသော (redundant ဖြစ်နေသော) ယူဆချက်များကို ဖယ်ရှားမည်
G = []
for g1 in new_G:
if not any(more_general(g1, g2) for g2 in new_G if g1 != g2):
G.append(g1)
print(f"Update ပြီးသော S-set: {S}")
print(f"Update ပြီးသော G-set: {G}")
# ပရိုဂရမ်ကို run ရန်
version_space_learning(data)
Saturday, October 10, 2026
28.3.2 Surveillance, security, and privacy
၂၈.၃.၂ စောင့်ကြည့်စစ်ဆေးခြင်း၊
လုံခြုံရေးနှင့် ကိုယ်ရေးကိုယ်တာလုံခြုံမှု
၁၉၇၆
ခုနှစ်မှာ ဂျိုးဇက် ဝိုက်ဇန်ဘောင်း (Joseph
Weizenbaum) က အလိုအလျောက် အသံကိုခွဲခြားသိမြင်နိုင်တဲ့
နည်းပညာ (automated
speech recognition technology) ဟာ
နေရာအနှံ့ ကြေးနန်းနဲ့ဖုန်း ခိုးနားထောင်ခြင်း
(widespread wiretapping) ကို
ဖြစ်ပေါ်စေနိုင်ပြီး၊
အဲဒီကတစ်ဆင့် နိုင်ငံသားတွေရဲ့ လွတ်လပ်ခွင့် (civil
liberties) ဆုံးရှုံးသွားနိုင်တယ်လို့
သတိပေးခဲ့ပါတယ်။ ဒီနေ့ခေတ်မှာတော့ အဲဒီခြိမ်းခြောက်မှု
(threat) ဟာ တကယ်ပဲ ဖြစ်လာခဲ့ပါပြီ။ အီလက်ထရောနစ် ဆက်သွယ်ရေး (electronic
communication) အများစုဟာ
စောင့်ကြည့်စစ်ဆေးလို့ရတဲ့
ဗဟိုဆာဗာတွေ (central
servers) ကနေ ဖြတ်သန်းသွားလာနေပါတယ်။ မြို့ကြီးတွေမှာလည်း လူတစ်ယောက်ရဲ့ အသံ (voice)၊ မျက်နှာ (face) နဲ့
လမ်းလျှောက်ပုံ
(gait) တွေကို ကြည့်ပြီး ဘယ်သူဘယ်ဝါမှန်း ခွဲခြားနိုင်၊ ခြေရာခံ (identify and
track) နိုင်တဲ့ မိုက်ခရိုဖုန်းတွေ၊ ကင်မရာတွေ အပြည့်ရှိနေပါပြီ။ အရင်တုန်းကဆိုရင် စောင့်ကြည့်စစ်ဆေးခြင်း
(Surveillance) လုပ်ဖို့အတွက်
စရိတ်ကြီးမားပြီး ရှားပါးတဲ့ လူသားအရင်းအမြစ်တွေ
(expensive and scarce human resources) လိုအပ်ပေမယ့်၊
အခုအခါမှာတော့ စက်တွေကနေတစ်ဆင့် အစုလိုက်အပြုံလိုက် အကြီးအကျယ် (mass scale) လုပ်ဆောင်နိုင်နေပါပြီ။ (ဥပမာ - အရင်က လူတစ်ယောက်ကို စောင့်ကြည့်ဖို့ စုံထောက်တစ်ယောက် လိုပေမယ့်၊ အခုတော့ AI ကင်မရာတစ်လုံးတည်းနဲ့ လူထောင်ပေါင်းများစွာကို တစ်ပြိုင်နက် စောင့်ကြည့်နိုင်နေတာမျိုး ဖြစ်ပါတယ်။)
၂၀၁၈
ခုနှစ် စာရင်းတွေအရ တရုတ်နိုင်ငံမှာ စောင့်ကြည့်ကင်မရာ
(surveillance cameras) သန်း
၃၅၀ လောက်နဲ့ အမေရိကန်ပြည်ထောင်စုမှာ သန်း ၇၀ လောက် ရှိနေပါပြီ။
တရုတ်နိုင်ငံနဲ့ တခြားနိုင်ငံတွေဟာ နည်းပညာနိမ့်ကျတဲ့ နိုင်ငံတွေ (low-tech
countries) ဆီကို ဒီစောင့်ကြည့်စစ်ဆေးရေး နည်းပညာတွေကို စတင်တင်ပို့နေကြပါပြီ။ အဲဒီလို တင်ပို့ခံရတဲ့ နိုင်ငံတချို့ဟာ နိုင်ငံသားတွေကို မတရားဆက်ဆံတာ (mistreating
their citizens) တွေနဲ့၊
ဖယ်ကျဉ်ခံထားရတဲ့ လူနည်းစုအသိုင်းအဝိုင်းတွေ
(marginalized communities) ကို
မတန်တဆ ပစ်မှတ်ထား နှိပ်ကွပ်တာတွေကြောင့် နာမည်ပျက် (reputations) ရှိတဲ့ နိုင်ငံတွေ ဖြစ်နေပါတယ်။ AI အင်ဂျင်နီယာတွေ (AI
engineers) အနေနဲ့ ဘယ်လိုမျိုး စောင့်ကြည့်စစ်ဆေးမှု အသုံးချနည်းတွေက လူ့အခွင့်အရေး (human
rights) နဲ့ ကိုက်ညီမှုရှိတယ်
(compatible) ဆိုတာကို
ရှင်းရှင်းလင်းလင်း သိထားသင့်ပြီး၊ မကိုက်ညီတဲ့ အသုံးချမှုတွေ
(incompatible applications) မှာ
ပါဝင်လုပ်ဆောင်ပေးဖို့ကို
ငြင်းဆန် (decline) သင့်ပါတယ်။
ကျွန်တော်တို့ရဲ့
အဖွဲ့အစည်းတွေ
(institutions) ဟာ အွန်လိုင်းပေါ်ကနေ ပိုပြီး လည်ပတ်လုပ်ကိုင်လာကြတာနဲ့အမျှ၊
ဆိုက်ဘာရာဇဝတ်မှု
(cybercrime - ဥပမာ -
လှည့်စားပြီး အချက်အလက်ရယူခြင်း -
phishing၊ ခရက်ဒစ်ကတ် လိမ်လည်မှု - credit card
fraud၊ ကွန်ပျူတာကွန်ရက်များကို ခိုးယူထိန်းချုပ်ခြင်း -
botnets၊ ငွေညှစ်ဆော့ဖ်ဝဲလ် -
ransomware) တွေနဲ့ ဆိုက်ဘာအကြမ်းဖက်မှု
(cyberterrorism) တွေရဲ့
အန္တရာယ်ကို ပိုပြီး ကျရောက်လွယ် (vulnerable) လာပါတယ်။ (အဲဒီ ဆိုက်ဘာအကြမ်းဖက်မှုတွေထဲမှာ
ဆေးရုံတွေနဲ့ လျှပ်စစ်စွမ်းအင်စက်ရုံတွေကို
ပိတ်ပစ်လိုက်တာ ဒါမှမဟုတ် အလိုအလျောက်မောင်းနှင်တဲ့ ကားတွေကို ကြားဖြတ်ထိန်းချုပ်လိုက်တာ စတဲ့ အသက်အန္တရာယ် ဖြစ်စေနိုင်တဲ့ တိုက်ခိုက်မှု -
potentially deadly attacks တွေတောင်
ပါဝင်ပါတယ်။) စက်သင်ယူမှု (Machine
learning) ဟာ ဆိုက်ဘာလုံခြုံရေး တိုက်ပွဲ (cybersecurity
battle) မှာ နှစ်ဖက်စလုံးအတွက် စွမ်းအားကြီးမားတဲ့ ကိရိယာတစ်ခု (powerful
tool) ဖြစ်နိုင်ပါတယ်။
တိုက်ခိုက်သူတွေ
(Attackers) ဟာ လုံခြုံရေးအားနည်းချက်တွေ
(insecurities) ကို လိုက်လံစုံစမ်းဖို့ (probe)
အလိုအလျောက်လုပ်ဆောင်တဲ့စနစ်
(automation) ကို သုံးနိုင်သလို၊ လှည့်စားပြီး အချက်အလက်ရယူဖို့ ကြိုးစားတာတွေ (phishing
attempts) နဲ့ အလိုအလျောက် ငွေညှစ်တာတွေ (automated
blackmail) လုပ်ဖို့အတွက်
အားဖြည့်သင်ယူခြင်း
(reinforcement learning) ကိုလည်း
အသုံးချနိုင်ပါတယ်။ ကာကွယ်သူတွေ (Defenders) ဘက်ကလည်း ဝင်ရောက်လာတဲ့ အင်တာနက် အသွားအလာ ပုံစံတွေထဲက ပုံမှန်မဟုတ်တဲ့အရာတွေကို
(anomalous incoming traffic patterns) ထောက်လှမ်းရှာဖွေဖို့
ကြီးကြပ်သူမဲ့ သင်ယူခြင်း (unsupervised
learning) ကို အသုံးပြုနိုင်သလို
(Chandola et al., 2009; Malhotra et al., 2015)၊
လိမ်လည်မှု (fraud) တွေကို ရှာဖွေဖို့ တခြား machine learning နည်းစနစ်အမျိုးမျိုးကိုလည်း
အသုံးပြုနိုင်ပါတယ်
(Fawcett and Provost, 1997; Bolton and Hand, 2002)။ ဒီလို
ဆိုက်ဘာတိုက်ခိုက်မှုတွေဟာ
ပိုမို ရှုပ်ထွေးဆန်းပြားလာတာနဲ့အမျှ
(As attacks get more sophisticated)၊
လုံခြုံရေးကျွမ်းကျင်သူတွေတင်မကဘဲ
အင်ဂျင်နီယာအားလုံးမှာ
အစကတည်းက လုံခြုံစိတ်ချရတဲ့ စနစ်တွေ (secure systems) ကို ဒီဇိုင်းဆွဲဖန်တီးရမယ့် တာဝန်ပိုကြီးလာပါတယ်။ ခန့်မှန်းချက်တစ်ခု
(forecast) အရ
(Kanal, 2017)၊
cybersecurity မှာ အသုံးပြုမယ့် machine
learning စျေးကွက်ဟာ ၂၀၂၁ ခုနှစ်ရောက်ရင် ဒေါ်လာ ဘီလီယံ ၁၀၀ လောက်အထိ ရှိလာမယ်လို့ ဆိုပါတယ်။
ကျွန်တော်တို့ရဲ့
နေ့စဉ်ဘဝတွေမှာ ကွန်ပျူတာတွေနဲ့ အပြန်အလှန်ဆက်သွယ် အသုံးပြုချိန်တွေ တိုးများလာတာနဲ့အမျှ၊ အစိုးရတွေနဲ့ ကော်ပိုရေးရှင်းကြီးတွေဟာ ကျွန်တော်တို့နဲ့ ပတ်သက်တဲ့ ဒေတာအချက်အလက်တွေကို ပိုပြီး စုဆောင်းလာကြပါတယ်။ ဒေတာစုဆောင်းသူတွေ (Data
collectors) မှာ သူတို့လက်ထဲရောက်နေတဲ့ ဒေတာတွေကို ကောင်းမွန်စွာ ထိန်းသိမ်းစောင့်ရှောက်သူတွေ
(good stewards) ဖြစ်ဖို့
ကိုယ်ကျင့်တရားပိုင်းဆိုင်ရာရော၊
ဥပဒေပိုင်းဆိုင်ရာပါ တာဝန် (moral and legal
responsibility) ရှိပါတယ်။
အမေရိကန်ပြည်ထောင်စုမှာဆိုရင်
ကျန်းမာရေးအာမခံဆိုင်ရာ
သယ်ဆောင်နိုင်မှုနှင့်
တာဝန်ခံမှု အက်ဥပဒေ (Health Insurance
Portability and Accountability Act - HIPAA) နဲ့
မိသားစု ပညာရေးဆိုင်ရာ အခွင့်အရေးများနှင့် ကိုယ်ရေးကိုယ်တာလုံခြုံမှု အက်ဥပဒေ (Family
Educational Rights and Privacy Act - FERPA) တို့က
ဆေးဘက်ဆိုင်ရာနဲ့ ကျောင်းသား မှတ်တမ်းတွေရဲ့ ကိုယ်ရေးကိုယ်တာလုံခြုံမှု
(privacy) ကို ကာကွယ်ပေးထားပါတယ်။ ဥရောပသမဂ္ဂ (European
Union) ရဲ့ အထွေထွေ ဒေတာကာကွယ်ရေး စည်းမျဉ်း (General Data
Protection Regulation - GDPR) ကလည်း
ကုမ္ပဏီတွေအနေနဲ့ သူတို့ရဲ့စနစ်တွေကို ဒေတာကာကွယ်ရေးကို ထည့်သွင်းစဉ်းစားပြီး ဒီဇိုင်းဆွဲဖို့ မဖြစ်မနေ ပြဋ္ဌာန်းထား (mandates) ပါတယ်။ ဒါ့အပြင် ဒေတာစုဆောင်းတာပဲဖြစ်ဖြစ်၊ စီမံဆောင်ရွက်တာပဲဖြစ်ဖြစ်
(collection or processing of data) လုပ်လုပ်တိုင်း
သုံးစွဲသူရဲ့ သဘောတူခွင့်ပြုချက် (user
consent) ကို ရယူဖို့လည်း လိုအပ်ပါတယ်။
တစ်ဦးချင်းစီရဲ့
ကိုယ်ရေးကိုယ်တာ လုံခြုံခွင့် (individual’s
right to privacy) နဲ့
ချိန်ခွင်လျှာညှိရမယ့်အရာကတော့
ဒေတာတွေကို မျှဝေခြင်း (sharing data) ကနေ လူ့အဖွဲ့အစည်းက ရရှိလာမယ့် တန်ဖိုး (value that
society gains) ပဲ ဖြစ်ပါတယ်။ ကျွန်တော်တို့အနေနဲ့ အကြမ်းဖက်သမားတွေကို တားဆီးချင်ပေမယ့် ငြိမ်းချမ်းစွာ သဘောကွဲလွဲဆန္ဒပြသူတွေကို ဖိနှိပ်တာမျိုး (oppressing
peaceful dissent) မဖြစ်စေချင်ပါဘူး။
အလားတူပဲ ရောဂါတွေကို ကုသချင်ပေမယ့် လူတစ်ဦးချင်းစီရဲ့ ကိုယ်ပိုင်ကျန်းမာရေးရာဇဝင်ကို
လျှို့ဝှက်ထားပိုင်ခွင့်ကိုလည်း
မထိခိုက် (without
compromising) စေချင်ပါဘူး။
ဒီအတွက် အဓိကကျတဲ့ လုပ်ထုံးလုပ်နည်းတစ်ခုကတော့
"မည်သူမည်ဝါဖြစ်ကြောင်း
ဖော်ပြချက်ကို ဖယ်ရှားခြင်း"
("de-identification") ပါပဲ။
ဒါဟာ ပုဂ္ဂိုလ်ရေးအရ ခွဲခြားသိမြင်နိုင်တဲ့ အချက်အလက်တွေကို
(personally identifying information) (ဥပမာ
- နာမည်၊ လူမှုဖူလုံရေးနံပါတ် စတာတွေကို) ဖယ်ရှားပစ်တာပါ။ ဒါမှသာ ဆေးဘက်ဆိုင်ရာ သုတေသီတွေက ဒီဒေတာတွေကို သုံးပြီး အများအကျိုးအတွက် (advance
the common good) ဆောင်ရွက်နိုင်မှာ
ဖြစ်ပါတယ်။ ပြဿနာကတော့ အဲဒီလို ဖယ်ရှားထားတဲ့ ဒေတာတွေကို မျှဝေလိုက်တဲ့အခါမှာ မူလပိုင်ရှင်ကို ပြန်လည်ခြေရာခံမိသွားတာမျိုး
(re-identification) ဖြစ်သွားနိုင်တာပါပဲ။
ဥပမာအနေနဲ့၊ ဒေတာတွေထဲကနေ နာမည်၊ လူမှုဖူလုံရေးနံပါတ်နဲ့ လမ်းလိပ်စာတွေကို ဖယ်ရှားလိုက်ပေမယ့် မွေးသက္ကရာဇ်၊ လိင် နဲ့ စာတိုက်သင်္ကေတ (zip code) တွေ ပါနေသေးတယ်ဆိုရင်၊ လာတန်ယာ ဆွီနီ (Latanya Sweeney) (၂၀၀၀) ပြသခဲ့သလိုပဲ၊ အမေရိကန်လူဦးရေရဲ့ ၈၇ ရာခိုင်နှုန်းကို ဘယ်သူဘယ်ဝါဆိုတာ တိတိကျကျ ပြန်ပြီး
ဖော်ထုတ် (uniquely
re-identified) လို့ ရနေပါတယ်။ ဆွီနီ ဟာ သူမနေထိုင်ရာ ပြည်နယ်အုပ်ချုပ်ရေးမှူး
ဆေးရုံတက်ရချိန်မှာ သူ့ရဲ့ ကျန်းမာရေးမှတ်တမ်းကို ဒီနည်းနဲ့ ပြန်လည်ဖော်ထုတ်ပြပြီး ဒီအချက်ကို အလေးအနက်ထား ထောက်ပြခဲ့ပါတယ်။
"Netflix ဆု"
("Netflix Prize") ပြိုင်ပွဲမှာဆိုရင်၊
လူတစ်ဦးချင်းစီရဲ့ ရုပ်ရှင်အပေါ် အဆင့်သတ်မှတ်ပေးထားတဲ့ မှတ်တမ်း (individual movie
ratings) တွေကို
de-identified လုပ်ပြီး
ထုတ်ပြန်ပေးခဲ့ပါတယ်။
ပြီးတော့ ပြိုင်ပွဲဝင်တွေကို လူတစ်ယောက်က ဘယ်ရုပ်ရှင်တွေကို ကြိုက်နိုင်မလဲဆိုတာကို တိတိကျကျ ခန့်မှန်းပေးနိုင်မယ့်
machine learning အယ်လ်ဂိုရစ်သမ်
(algorithm) တစ်ခု ဖန်တီးဖို့ တောင်းဆိုခဲ့ပါတယ်။ ဒါပေမဲ့ သုတေသီတွေဟာ Netflix ဒေတာဘေ့စ်ထဲက rating ပေးထားတဲ့ ရက်စွဲတွေကို، သုံးစွဲသူတွေက တစ်ခါတလေ သူတို့ရဲ့ နာမည်အရင်းကိုသုံးပြီး အဆင့်သတ်မှတ်လေ့ရှိတဲ့
Internet Movie Database (IMDB) ထဲက
ဆင်တူတဲ့ အဆင့်သတ်မှတ်မှု ရက်စွဲတွေနဲ့ တိုက်ဆိုင်စစ်ဆေး
(matching) ပြီး၊ အဲဒီသုံးစွဲသူတွေဟာ ဘယ်သူတွေလဲဆိုတာကို ပြန်လည်ဖော်ထုတ်နိုင်ခဲ့ကြပါတယ်
(Narayanan and Shmatikov, 2006)။
ဒီလို
အန္တရာယ်ကို "အချက်အလက် ကွက်လပ်များကို ယေဘုယျပြုလုပ်ခြင်း"
("generalizing fields") အားဖြင့်
အတိုင်းအတာတစ်ခုအထိ လျော့ပါးသက်သာစေနိုင်
(mitigated) ပါတယ်။ ဥပမာ - မွေးသက္ကရာဇ် အတိအကျနေရာမှာ မွေးတဲ့ ခုနှစ် သီးသန့် ဒါမှမဟုတ် “အသက် ၂၀ မှ ၃၀
ကြား” ဆိုပြီး ပိုကျယ်ပြန့်တဲ့ အပိုင်းအခြား (broader
range) တစ်ခုနဲ့ အစားထိုးလိုက်တာမျိုးပါ။ အချက်အလက် ကွက်လပ် (field) တစ်ခုလုံးကို ဖျက်ပစ်လိုက်ခြင်းဟာလည်း “မည်သည့်အရာမဆို” (“any”) ဆိုပြီး ယေဘုယျပြုလုပ်လိုက်တဲ့ ပုံစံတစ်မျိုးပဲ ဖြစ်ပါတယ်။ ဒါပေမဲ့ ဒီလို ယေဘုယျပြုလုပ်ခြင်း
(generalization) တစ်ခုတည်းနဲ့တော့
မှတ်တမ်းတွေကို ပြန်လည်ဖော်ထုတ်ခံရခြင်းကနေ
လုံခြုံစိတ်ချရတယ်လို့
အာမခံ (guarantee) လို့မရပါဘူး။ ဥပမာ - zip code 94720 နယ်မြေထဲမှာ အသက် ၉၀ ကနေ ၁၀၀
ကြားရှိတဲ့လူဆိုလို့ တစ်ယောက်တည်းပဲ ရှိနေနိုင်တာမျိုးပါ။ အသုံးဝင်တဲ့ ဂုဏ်သတ္တိ (useful
property) တစ်ခုကတော့
"k-အမည်မသိဖြစ်ခြင်း"
("k-anonymity") ဖြစ်ပါတယ်။
ဒေတာဘေ့စ်ထဲက မှတ်တမ်းတစ်ခုစီတိုင်းဟာ တခြားသော မှတ်တမ်းအနည်းဆုံး k-1 ခုနဲ့ ခွဲခြားရခက်နေမယ်
(indistinguishable) ဆိုရင်၊
အဲဒီ ဒေတာဘေ့စ်ကို k-အမည်မသိပြုလုပ်ထားသည်
(k-anonymized) လို့ ခေါ်ပါတယ်။ (ဆိုလိုတာက လူတစ်ယောက်ကို ရှာရင် အနည်းဆုံး တူညီနေတဲ့ နောက်ထပ်လူ k-1 ယောက် ရှိနေလို့ တိတိကျကျ ဆွဲထုတ်လို့ မရတော့တာပါ။) အကယ်လို့ ဒေတာတွေထဲမှာ ဒီထက်ပိုပြီး ထူးထူးခြားခြား တစ်ဦးတည်းဖြစ်နေတဲ့ (more
unique) မှတ်တမ်းတွေ ရှိနေမယ်ဆိုရင်တော့၊ အဲဒီမှတ်တမ်းတွေကို နောက်ထပ် ထပ်ပြီး ယေဘုယျပြုလုပ်ဖို့ (further
generalized) လိုအပ်ပါလိမ့်မယ်။
မည်သူမည်ဝါမှန်းမသိအောင်
ဖယ်ရှားထားတဲ့ မှတ်တမ်းတွေကို မျှဝေမယ့်အစား နောက်ထပ် ရွေးချယ်စရာ နည်းလမ်းတစ်ခု
(alternative) ကတော့၊
မှတ်တမ်းအားလုံးကို လျှို့ဝှက် (private) သိမ်းဆည်းထားပြီး၊ "စုစုပေါင်းကို မေးမြန်းရှာဖွေခြင်း"
("aggregate querying") ကိုသာ
ခွင့်ပြုပေးခြင်း ဖြစ်ပါတယ်။ ဒေတာဘေ့စ်ကို မေးမြန်းရှာဖွေမှုတွေ
(queries) ပြုလုပ်ဖို့အတွက်
API တစ်ခုကို ပံ့ပိုးပေးထားပြီး၊ မှန်ကန်တဲ့ မေးမြန်းမှုတွေ (valid
queries) အတွက်ဆိုရင်
ဒေတာတွေကို အရေအတွက် (count) ဒါမှမဟုတ် ပျမ်းမျှတန်ဖိုး (average) နဲ့ အကျဉ်းချုံးဖော်ပြထားတဲ့ တုံ့ပြန်မှု (response) တစ်ခု ရရှိပါလိမ့်မယ်။ ဒါပေမဲ့ အဲဒီတုံ့ပြန်မှုက ကိုယ်ရေးကိုယ်တာလုံခြုံမှုဆိုင်ရာ
အာမခံချက်တွေကို ချိုးဖောက်နေမယ် (violate
certain guarantees of privacy) ဆိုရင်တော့
ဘယ်လိုတုံ့ပြန်မှုကိုမှ
ပေးမှာမဟုတ်ပါဘူး။ ဥပမာအနေနဲ့၊ ကူးစက်ရောဂါဗေဒပညာရှင်
(epidemiologist) တစ်ယောက်ကို
zip code တစ်ခုစီမှာရှိတဲ့
ကင်ဆာရောဂါသည် ရာခိုင်နှုန်းကို မေးမြန်းခွင့်ပြုနိုင်ပါတယ်။
လူအရေအတွက် အနည်းဆုံး n ယောက်ရှိတဲ့ zip code တွေအတွက် ရာခိုင်နှုန်းတစ်ခုကို ပေးပါလိမ့်မယ် (ကိန်းဂဏန်း အတိအကျမဖြစ်စေဖို့ ကျပန်းဆူညံသံ - random
noise - လို့ခေါ်တဲ့ အပြောင်းအလဲ နည်းနည်း ထည့်ပေးထားပါလိမ့်မယ်)။ ဒါပေမဲ့ လူအရေအတွက်
n ယောက်ထက်နည်းတဲ့
zip code တွေအတွက်ကတော့
ဘယ်လိုအဖြေမှ ပေးမှာမဟုတ်ပါဘူး။
မေးမြန်းမှု
အများအပြား (multiple
queries) ကို အသုံးပြုပြီး မည်သူမည်ဝါဖြစ်ကြောင်း ဖုံးကွယ်ထားမှုကို ချိုးဖောက်ဖော်ထုတ်ခြင်းကနေ
ကာကွယ်ဖို့အတွက် ဂရုစိုက်ရပါမယ်။ ဥပမာ - “အသက် ၃၀-၄၀ ကြား
XYZ ကုမ္ပဏီ ဝန်ထမ်းများ၏ ပျမ်းမျှလစာနှင့် အရေအတွက်” ဆိုတဲ့ မေးမြန်းချက်က [$81,234,
12] ဆိုတဲ့ အဖြေကိုပေးပြီး၊ “အသက် ၃၀-၄၁ ကြား
XYZ ကုမ္ပဏီ ဝန်ထမ်းများ၏ ပျမ်းမျှလစာနှင့် အရေအတွက်” ဆိုတဲ့ မေးမြန်းချက်က [$81,199,
13] ဆိုတဲ့ အဖြေကို ပေးတယ်ဆိုပါစို့။ အကယ်လို့ ကျွန်တော်တို့က LinkedIn ကိုသုံးပြီး XYZ ကုမ္ပဏီမှာရှိတဲ့ အသက် ၄၁ နှစ်အရွယ် ဝန်ထမ်းတစ်ယောက်တည်းကို
ရှာတွေ့သွားမယ်ဆိုရင်၊
သူဟာ ဘယ်သူလဲဆိုတာကို ကျွန်တော်တို့ အောင်မြင်စွာ ဖော်ထုတ်နိုင်သွားပြီဖြစ်ပြီး၊
အဖြေတွေအားလုံးဟာ လူ ၁၂ ယောက်နဲ့အထက်
ပါဝင်နေပေမယ့်လည်း သူ့ရဲ့လစာ အတိအကျကို ကျွန်တော်တို့ တွက်ချက်နိုင်သွားပါပြီ။ ဒီလိုမျိုး မဖြစ်အောင် ကာကွယ်ဖို့အတွက် စနစ်ကို ဂရုတစိုက် ဒီဇိုင်းဆွဲရပါမယ်။ မေးမြန်းနိုင်တဲ့ မေးခွန်းတွေအပေါ် ကန့်သတ်ချက် (limits on the
queries) (ဥပမာ - တစ်ခုနဲ့တစ်ခု မထပ်နေတဲ့ ကြိုတင်သတ်မှတ်ထားသော အသက်အပိုင်းအခြားတွေကိုသာ မေးခွင့်ပြုတာမျိုး) နဲ့ ရလဒ်တွေရဲ့ တိကျမှု (precision of the
results) (ဥပမာ - အပေါ်က မေးခွန်းနှစ်ခုစလုံးအတွက် အဖြေကို “$81,000 ဝန်းကျင်” လို့ပဲ ပေးလိုက်တာမျိုး) တွေကို ပေါင်းစပ်အသုံးပြုရပါမယ်။
ပိုမိုခိုင်မာတဲ့
အာမခံချက်တစ်ခုကတော့
"ကွဲပြားခြားနားသော
ကိုယ်ရေးကိုယ်တာလုံခြုံမှု"
("differential privacy") ပဲ
ဖြစ်ပါတယ်။ ၎င်းက တိုက်ခိုက်သူအနေနဲ့ queries
အများကြီးလုပ်နိုင်ပြီး
တခြားဆက်စပ်နေတဲ့ ဒေတာဘေ့စ်တွေ (linking
databases) ကို ဝင်ရောက်ကြည့်ရှုခွင့် ရနေရင်တောင်မှ၊ ဒေတာဘေ့စ်ထဲက ဘယ်လူတစ်ဦးတစ်ယောက်ကိုမှ ပြန်လည်ဖော်ထုတ်လို့ မရနိုင်ဘူးဆိုတာကို သေချာစေပါတယ်။ ဒီ query တွေရဲ့ တုံ့ပြန်မှုဟာ ရလဒ်ထဲကို ဆူညံသံ အနည်းငယ် ပေါင်းထည့်ပေးတဲ့ ကျပန်း အယ်လ်ဂိုရစ်သမ် (randomized
algorithm) တစ်ခုကို အသုံးပြုထားပါတယ်။ ဒေတာဘေ့စ်တစ်ခု D၊ အဲဒီဒေတာဘေ့စ်ထဲက မှတ်တမ်းတစ်ခု r၊
မေးမြန်းမှု Q နဲ့ အဲဒီမေးမြန်းမှုအတွက် ဖြစ်နိုင်ခြေရှိတဲ့ အဖြေ y တို့ကို ပေးထားတယ်ဆိုပါစို့။ အကယ်လို့ ကျွန်တော်တို့က မှတ်တမ်း r ကို ထည့်လိုက်တဲ့အခါ တုံ့ပြန်မှု y ဖြစ်ပေါ်လာနိုင်ခြေရဲ့ လော့ဂ်တန်ဖိုး (log
probability) ဟာ ε (အက်ပစီလွန် - epsilon) ထက် ပိုပြီး ပြောင်းလဲသွားခြင်းမရှိဘူးဆိုရင်၊
အဲဒီဒေတာဘေ့စ် D မှာ ε–differential privacy
ရှိတယ်လို့ ကျွန်တော်တို့ ပြောနိုင်ပါတယ်။
|
log P(Q(D)=y) - log P(Q(D+r)=y)| ≤
ε.
တစ်နည်းအားဖြင့်
ပြောရရင်၊ လူတစ်ယောက်ဟာ ဒေတာဘေ့စ်ထဲမှာ ပါဝင်ဖို့ ဆုံးဖြတ်သည်ဖြစ်စေ၊ မဆုံးဖြတ်သည်ဖြစ်စေ သူများတွေ ရရှိနိုင်တဲ့ အဖြေတွေအပေါ် သိသိသာသာ ကွဲပြားမှု (appreciable
difference) မဖြစ်စေပါဘူး။
ဒါကြောင့်မို့လို့ ပါဝင်ဖို့အတွက် ကိုယ်ရေးကိုယ်တာလုံခြုံမှုအရ
တွန့်ဆုတ်စရာ
(privacy disincentive) မရှိတော့ပါဘူး။
ဒေတာဘေ့စ် အများအပြားကို ဒီ differential privacy ရရှိအောင် အာမခံနိုင်ဖို့ ဒီဇိုင်းဆွဲထားကြပါတယ်။
အခုအချိန်အထိ
ဗဟိုဒေတာဘေ့စ်
(central database) တစ်ခုကနေ
de-identified လုပ်ထားတဲ့
ဒေတာတွေကို မျှဝေတဲ့ ကိစ္စကို ကျွန်တော်တို့ စဉ်းစားသုံးသပ်ခဲ့ပါတယ်။
"ပူးပေါင်းသင်ယူခြင်း"
("federated learning") (Konečný et al., 2016) လို့ခေါ်တဲ့ ချဉ်းကပ်နည်းမှာတော့
ဗဟိုဒေတာဘေ့စ် မရှိပါဘူး။ အဲဒီအစား သုံးစွဲသူတွေဟာ ကိုယ်ပိုင်ဒေတာတွေကို လျှို့ဝှက်ထားနိုင်တဲ့ ကိုယ်ပိုင် နေရာခံဒေတာဘေ့စ်တွေ (local
databases) ကိုပဲ ထိန်းသိမ်းထားကြပါတယ်။ ဒါပေမဲ့ သူတို့ဟာ သူတို့ရဲ့ ဒေတာတွေနဲ့ ပိုကောင်းအောင် လုပ်ထားတဲ့ machine
learning မော်ဒယ်တစ်ခုရဲ့
ကန့်သတ်ချက်တန်ဖိုးတွေ
(parameters) ကိုတော့
ကိုယ်ရေးကိုယ်တာ ဒေတာတွေ ပေါက်ကြားနိုင်တဲ့ အန္တရာယ် (risk of
revealing) မရှိဘဲ မျှဝေနိုင်ကြပါတယ်။ ဥပမာအနေနဲ့ သုံးစွဲသူတွေ သူတို့ဖုန်းထဲမှာပဲ အလုပ်လုပ်နိုင်တဲ့ အသံနားလည်မှု အက်ပ်လီကေးရှင်း (speech
understanding application) တစ်ခုကို
မြင်ယောင်ကြည့်ပါ။ အဲဒီအက်ပ်ထဲမှာ အခြေခံ အာရုံကြောကွန်ရက် (baseline
neural network) တစ်ခု
ပါဝင်ပြီး၊ သုံးစွဲသူရဲ့ဖုန်းကနေ ကြားရတဲ့ စကားလုံးတွေကို သုံးပြီး ဖုန်းထဲမှာတင် နေရာခံ လေ့ကျင့်မှု (local
training) လုပ်ခြင်းအားဖြင့်
အဲဒီကွန်ရက်ကို ပိုကောင်းအောင် လုပ်ပါတယ်။ အက်ပ်ပိုင်ရှင်တွေက သုံးစွဲသူတချို့ (a subset
of the users) ဆီကနေ သူတို့ဆီမှာ ပိုကောင်းလာတဲ့ နေရာခံ ကွန်ရက်ရဲ့ parameter တန်ဖိုးတွေကို အချိန်အပိုင်းအခြားအလိုက် တောင်းယူ (poll) ပါလိမ့်မယ်၊ ဒါပေမဲ့ သူတို့ရဲ့ ကုန်ကြမ်းဒေတာ (raw data - ဥပမာ အသံဖိုင်တွေ) ကို လုံးဝ မတောင်းပါဘူး။ အဲဒီ parameter တန်ဖိုးတွေကို ပေါင်းစပ်လိုက်တဲ့အခါ ပိုမိုကောင်းမွန်တဲ့ မော်ဒယ်အသစ်တစ်ခုကို ရရှိလာပြီး၊ အဲဒီမော်ဒယ်ကို သုံးစွဲသူအားလုံးဆီကို ပြန်ဖြန့်ဝေပေးပါတယ်။ ဒါကြောင့် သုံးစွဲသူအားလုံးဟာ တခြားသူတွေရဲ့ ဖုန်းတွေမှာ လေ့ကျင့်ထားတဲ့ အကျိုးကျေးဇူး (benefit of
the training) တွေကို
ရရှိသွားကြပါတယ်။ (ဆိုလိုတာက ဒေတာတွေက ဖုန်းထဲက မထွက်သွားဘဲ၊ သင်ယူထားတဲ့ အသိဉာဏ်လေးတွေကိုပဲ စုပေါင်းပြီး မော်ဒယ်အသစ်ကို ပိုတော်အောင် လုပ်လိုက်တာပါ။)
ဒီစနစ်က
ကိုယ်ရေးကိုယ်တာလုံခြုံမှုကို
ထိန်းသိမ်းထား
(preserve privacy) နိုင်ဖို့အတွက်၊
သုံးစွဲသူတစ်ဦးစီက မျှဝေလိုက်တဲ့ မော်ဒယ် parameter တွေကို နောက်ကြောင်းပြန် ပြုပြင်ဖန်တီးခြင်း
(reverse-engineered - ရလဒ်မှတစ်ဆင့်
မူလဒေတာကို ပြန်လည်ဖော်ထုတ်ခြင်း) မလုပ်နိုင်ဘူးဆိုတာကို ကျွန်တော်တို့ အာမခံနိုင်ဖို့ လိုပါတယ်။ အကယ်လို့ ကျွန်တော်တို့က parameter အကြမ်း (raw parameters) တွေကို ဒီအတိုင်း ပို့လိုက်မယ်ဆိုရင်၊ ၎င်းတို့ကို စစ်ဆေးနေတဲ့ တိုက်ခိုက်သူ (adversary) တစ်ယောက်က၊ ဥပမာ- သုံးစွဲသူရဲ့ဖုန်းမှာ ဘယ်လို စကားလုံးမျိုးကို ကြားခဲ့ရတယ် ဆိုတာကို ကောက်ချက်ချ (deduce) သွားနိုင်တဲ့ အခွင့်အရေး ရှိနေပါတယ်။ ဒီအန္တရာယ်ကို ဖယ်ရှားပစ်နိုင်တဲ့ နည်းလမ်းတစ်ခုကတော့ "လုံခြုံစွာ စုစည်းပေါင်းစပ်ခြင်း"
("secure aggregation") ပါပဲ
(Bonawitz et al., 2017)။
အခြေခံသဘောတရားကတော့ ဗဟိုဆာဗာအနေနဲ့ နေရာအနှံ့က သုံးစွဲသူ (distributed
user) တစ်ဦးစီဆီကနေ
parameter တန်ဖိုး အတိအကျကို သိစရာမလိုပါဘူး။ မေးမြန်းထားတဲ့ သုံးစွဲသူအားလုံးဆီကနေ
parameter တစ်ခုချင်းစီအတွက်
ပျမ်းမျှတန်ဖိုး
(average value) ကိုသာ
သိဖို့ လိုပါတယ်။ ဒါကြောင့် သုံးစွဲသူတစ်ဦးစီက သူတို့ရဲ့ parameter တန်ဖိုးတွေကို အတုအယောင် ကိန်းဂဏန်းတစ်ခု (unique
mask) ပေါင်းထည့်ခြင်းဖြင့်
ဖုံးကွယ် (disguise) ထားနိုင်ပါတယ်။ အဲဒီပေါင်းထည့်လိုက်တဲ့
mask တွေအားလုံးရဲ့ စုစုပေါင်း ပေါင်းလဒ်က သုည ဖြစ်နေသရွေ့၊ ဗဟိုဆာဗာအနေနဲ့ မှန်ကန်တဲ့ ပျမ်းမျှတန်ဖိုးကို တွက်ချက်နိုင်ပါလိမ့်မယ်။ (ဥပမာ - လူ ၃ ယောက်က
လစာ ၅၀၊ ၆၀၊ ၇၀ ရတယ်ဆိုပါစို့။ သူတို့က
+၁၀၊ -၅၊ -၅ ဆိုတဲ့ mask တွေ
ထည့်ပြီး ၆၀၊ ၅၅၊ ၆၅ လို့ ပို့လိုက်မယ်။
ဗဟိုဆာဗာက ပေါင်းလိုက်ရင် ၁၈၀ ရပြီး ပျမ်းမျှ ၆၀ ဆိုတာ မှန်ကန်စွာ
သိပေမယ့် တစ်ယောက်ချင်းစီရဲ့ လစာအမှန်ကိုတော့ မသိတော့ပါဘူး။) လုပ်ထုံးလုပ်နည်း
(protocol) ရဲ့ အသေးစိတ်အချက်အလက်တွေက ဒါဟာ ဆက်သွယ်ရေးပိုင်းအရ ထိရောက်မှု (efficient in
terms of communication) ရှိစေဖို့
(ပေးပို့လိုက်တဲ့ ဘစ် - bits တွေရဲ့ ထက်ဝက်တောင်မကတာက masking နဲ့ဆိုင်နေပါတယ်)၊ သုံးစွဲသူတချို့ ပြန်လည်မတုံ့ပြန်နိုင်တဲ့အခါ (failing to
respond) မှာလည်း ခိုင်ခံ့စွာ ဆက်လက်အလုပ်လုပ်နိုင်ဖို့
(robust) နဲ့၊ ရန်သူ သုံးစွဲသူတွေ၊ ခိုးနားထောင်သူတွေ
(eavesdroppers) သို့မဟုတ်
ရန်သူ ဗဟိုဆာဗာကို ရင်ဆိုင်ရရင်တောင် လုံခြုံစိတ်ချမှု (secure) ရှိစေဖို့ သေချာအောင် လုပ်ဆောင်ပေးပါတယ်။
REF:
Stuart Russell နဲ့ Peter Norvig
“Artificial Intelligence: A Modern Approach, Fourth Edition”
Chapter 28 Philosophy, Ethics, and Safety of AI
28.3.2 Surveillance, security, and privacy, pp.1041-1043

