အကဌံပဌုချက်ရလေသချယ်ရာတလင် အရည်အသလေသနဟင့် အရဟိန်အဟုန်ဖဌင့် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်မည်နည်သ။

ကျလန်ုပ်အမည် Pavel Parkhomenko ဖဌစ်ပါသည်၊ ကျလန်ုပ်သည် ML developer တစ်ညသဖဌစ်သည်။ ကဆောင်သပါသတလင်၊ ကျလန်ုပ်သည် Yandex.Zen ဝန်ဆောင်မဟု၏ ဖလဲ့စည်သပုံအကဌောင်သ ဆလေသနလေသပဌီသ နည်သပညာပိုင်သဆိုင်ရာ တိုသတက်မဟုမျာသကို မျဟဝေလိုသည်၊ အကဌံပဌုချက်မျာသ၏ အရည်အသလေသကို တိုသမဌဟင့်နိုင်စေသည့် အကောင်အထည်ဖော်မဟုကို မျဟဝေလိုပါသည်။ ကပို့စ်မဟ မီလီစက္ကန့်အနည်သငယ်အတလင်သ စာရလက်စာတမ်သ သန်သပေါင်သမျာသစလာကဌာသတလင် အသုံသပဌုသူအတလက် အသက်ဆိုင်ဆုံသအရာမျာသကို သင်မည်သို့ရဟာဖလေရမည်ကို လေ့လာနိုင်မည်ဖဌစ်ပါသည်။ စာရလက်စာတမ်သအသစ်မျာသသည် မိနစ်ဆယ်ဂဏန်သအတလင်သ ၎င်သတို့၏ vector ကိုရရဟိစေရန် (ကော်လံသန်သပေါင်သမျာသစလာနဟင့် အတန်သပေါင်သ သန်သဆယ်နဟင့်ချီပါဝင်သော) ကဌီသမာသသော matrix ကို စဉ်ဆက်မပဌတ်ပဌိုကလဲအောင်ပဌုလုပ်နည်သ။ ဗီဒီယိုအတလက် ကောင်သသော vector ကိုယ်စာသပဌုမဟုရရန် သုံသစလဲသူ-ဆောင်သပါသ matrix ပဌိုကလဲမဟုကို ပဌန်လည်အသုံသပဌုနည်သ။

အကဌံပဌုချက်ရလေသချယ်ရာတလင် အရည်အသလေသနဟင့် အရဟိန်အဟုန်ဖဌင့် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်မည်နည်သ။

ကျလန်ုပ်တို့၏ အကဌံပဌုချက်ဒေတာဘေ့စ်တလင် ပုံစံအမျိုသမျိုသရဟိသော စာရလက်စာတမ်သ သန်သပေါင်သမျာသစလာပါရဟိသည်- ကျလန်ုပ်တို့၏ပလပ်ဖောင်သပေါ်တလင် ဖန်တီသထာသသော စာသာသဆောင်သပါသမျာသနဟင့် ပဌင်ပဆိုက်မျာသ၊ ဗီဒီယိုမျာသ၊ ဇာတ်ကဌောင်သမျာသနဟင့် ပို့စ်တိုမျာသမဟ ကူသယူပါသည်။ ထိုသို့သော ဝန်ဆောင်မဟု ဖလံ့ဖဌိုသတိုသတက်မဟုသည် နည်သပညာဆိုင်ရာ စိန်ခေါ်မဟုမျာသစလာနဟင့် ဆက်စပ်နေသည်။ ကတလင် ၎င်သတို့ထဲမဟ အချို့မဟာ-

  • ကလန်ပဌူတာလုပ်ဆောင်စရာမျာသကို ပိုင်သခဌာသပါ- လေသလံသောလုပ်ဆောင်မဟုမျာသအာသလုံသကို အော့ဖ်လိုင်သဖဌင့်လုပ်ဆောင်ပဌီသ 100-200 ms ကို တာဝန်ယူနိုင်ရန် မော်ဒယ်မျာသ၏ အမဌန်အသုံသချမဟုကို အချိန်နဟင့်တပဌေသညီ လုပ်ဆောင်ပါ။
  • အသုံသပဌုသူ၏လုပ်ဆောင်ချက်မျာသကို အမဌန်ထည့်သလင်သပါ။ ဒီလိုလုပ်ဖို့၊ အဖဌစ်အပျက်အာသလုံသကို အကဌံပဌုသူထံ ချက်ချင်သပို့ပေသပဌီသ မော်ဒယ်တလေရဲ့ ရလဒ်တလေကို လလဟမ်သမိုသဖို့ လိုအပ်တယ်။
  • အသုံသပဌုသူအသစ်မျာသအတလက် ၎င်သတို့၏ အပဌုအမူနဟင့် လိုက်လျောညီထလေဖဌစ်စေရန် ဖိဒ်ကို ပဌုလုပ်ပါ။ စနစ်တလင် ပါဝင်ပဌီသသာသသူမျာသသည် ၎င်သတို့၏ အကဌံပဌုချက်သည် အကဌံပဌုချက်မျာသကို လလဟမ်သမိုသသည်ဟု ခံစာသရပါမည်။
  • ဆောင်သပါသအသစ်ကို မည်သူ့ကို အကဌံပဌုရမည်ကို မဌန်မဌန်နာသလည်ပါ။
  • အကဌောင်သအရာအသစ်မျာသ အဆက်မပဌတ်ထလက်ပေါ်လာခဌင်သအတလက် လျင်မဌန်စလာ တုံ့ပဌန်ပါ။ သောင်သနဟင့်ချီသော ဆောင်သပါသမျာသကို နေ့စဉ် ထုတ်ဝေနေပဌီသ ၎င်သတို့ထဲမဟ အမျာသစုမဟာ သက်တမ်သ အကန့်အသတ်ရဟိသည် (ပဌော၊ သတင်သ)။ ကအရာသည် ၎င်သတို့ကို ဖန်တီသရန် ရုပ်ရဟင်မျာသ၊ ဂီတနဟင့် အခဌာသသော တာရဟည်ခံပဌီသ တန်ဖိုသကဌီသသော အကဌောင်သအရာမျာသနဟင့် ကလဲပဌာသသည်။
  • ဒိုမိန်သတစ်ခုမဟ အခဌာသနယ်ပယ်တစ်ခုသို့ အသိပညာကို လလဟဲပဌောင်သပါ။ အကဌံပဌုချက်စနစ်တစ်ခုသည် စာသာသဆောင်သပါသမျာသအတလက် လေ့ကျင့်ပေသထာသသော မော်ဒယ်မျာသကို လေ့ကျင့်ပေသထာသပဌီသ ၎င်သတလင် ဗီဒီယိုထည့်ပါက၊ အကဌောင်သအရာအသစ်သည် အဆင့်ပိုကောင်သစေရန် ရဟိပဌီသသာသမော်ဒယ်မျာသကို ပဌန်လည်အသုံသပဌုနိုင်ပါသည်။

ဒီပဌဿနာတလေကို ဘယ်လိုဖဌေရဟင်သခဲ့တယ်ဆိုတာ ပဌောပဌမယ်။

ကိုယ်စာသလဟယ်လောင်သမျာသ ရလေသချယ်ခဌင်သ။

အဆင့်သတ်မဟတ်ခဌင်သ၏အရည်အသလေသမဟာ ယိုယလင်သမဟုလုံသဝမရဟိဘဲ ထောင်ပေါင်သမျာသစလာသော မီလီစက္ကန့်အနည်သငယ်အတလင်သ ထည့်သလင်သစဉ်သစာသထာသသည့် စာရလက်စာတမ်သအရေအတလက်ကို မည်သို့လျဟော့ချနိုင်မည်နည်သ။

ကျလန်ုပ်တို့သည် ML မော်ဒယ်မျာသစလာကို လေ့ကျင့်သင်ကဌာသပဌီသ ၎င်သတို့အပေါ်အခဌေခံ၍ အင်္ဂါရပ်မျာသကို ဖန်တီသကာ အသုံသပဌုသူအတလက် စာရလက်စာတမ်သမျာသကို အဆင့်သတ်မဟတ်ပေသသည့် အခဌာသမော်ဒယ်မျာသကို လေ့ကျင့်ပေသသည်ဆိုပါစို့။ အာသလုံသအဆင်ပဌေလိမ့်မည်၊ သို့သော် သင်သည် စာရလက်စာတမ်သအာသလုံသအတလက် နိမိတ်လက္ခဏာအာသလုံသကို အချိန်နဟင့်တပဌေသညီတလက်ချက်ရုံမျဟမက၊ ကစာရလက်စာတမ်သမျာသသန်သပေါင်သမျာသစလာရဟိနေပါက၊ အကဌံပဌုချက်မျာသအာသ 100-200 ms ဖဌင့်တည်ဆောက်ရန်လိုအပ်ပါသည်။ လုပ်ငန်သမဟာ အသုံသပဌုသူအတလက် အဆင့်သတ်မဟတ်မည့် သန်သပေါင်သမျာသစလာထဲမဟ အချို့သော အစုခလဲတစ်ခုကို ရလေသချယ်ရန်ဖဌစ်သည်။ ကအဆင့်ကို အမျာသအာသဖဌင့် ကိုယ်စာသလဟယ်လောင်သရလေသချယ်ခဌင်သဟု ခေါ်သည်။ ၎င်သအတလက် လိုအပ်ချက်မျာသစလာရဟိပါသည်။ ပထမညသစလာ၊ ရလေသချယ်မဟုသည်အလလန်လျင်မဌန်စလာဖဌစ်ပေါ်ရမည်ဖဌစ်ပဌီသ၊ ထို့ကဌောင့်အဆင့်သတ်မဟတ်ချက်အတလက်တတ်နိုင်သမျဟအချိန်ကျန်ခဲ့သည်။ ဒုတိယအနေနဟင့်၊ အဆင့်သတ်မဟတ်ရန်အတလက် စာရလက်စာတမ်သအရေအတလက်ကို အလလန်လျဟော့ချခဌင်သဖဌင့် သုံသစလဲသူနဟင့် သက်ဆိုင်သည့် စာရလက်စာတမ်သမျာသကို တတ်နိုင်သမျဟ လုံသလုံသထိန်သသိမ်သထာသရမည်ဖဌစ်သည်။

ကျလန်ုပ်တို့၏ ကိုယ်စာသလဟယ်လောင်သရလေသချယ်ခဌင်သဆိုင်ရာ နိယာမသည် ပဌောင်သလဲလာခဲ့ပဌီသ ယခုအချိန်တလင် ကျလန်ုပ်တို့သည် အဆင့်ပေါင်သမျာသစလာ အစီအစဥ်တစ်ခုသို့ ရောက်ရဟိလာပဌီဖဌစ်သည်-

အကဌံပဌုချက်ရလေသချယ်ရာတလင် အရည်အသလေသနဟင့် အရဟိန်အဟုန်ဖဌင့် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်မည်နည်သ။

ပထမအချက်၊ စာရလက်စာတမ်သအာသလုံသကို အုပ်စုမျာသအဖဌစ် ပိုင်သခဌာသထာသပဌီသ လူကဌိုက်အမျာသဆုံသစာရလက်စာတမ်သမျာသကို အုပ်စုတစ်ခုစီမဟ ယူဆောင်သလာသပါသည်။ အုပ်စုမျာသသည် ဆိုက်မျာသ၊ အကဌောင်သအရာမျာသ၊ အစုအဝေသမျာသ ဖဌစ်နိုင်သည်။ အသုံသပဌုသူတစ်ညသစီအတလက်၊ ၎င်သ၏သမိုင်သကိုအခဌေခံ၍၊ သူနဟင့်အနီသဆုံသအုပ်စုမျာသကို ရလေသချယ်ပဌီသ အကောင်သဆုံသစာရလက်စာတမ်သမျာသကို ၎င်သတို့ထံမဟရယူသည်။ ကျလန်ုပ်တို့သည် အချိန်နဟင့်တပဌေသညီ အသုံသပဌုသူနဟင့် အနီသစပ်ဆုံသ စာရလက်စာတမ်သမျာသကို ရလေသချယ်ရန် kNN အညလဟန်သကိုလည်သ အသုံသပဌုပါသည်။ kNN အညလဟန်သကို တည်ဆောက်ရန် နည်သလမ်သမျာသစလာ ရဟိပဌီသ ကျလန်ုပ်တို့၏ လုပ်ဆောင်မဟုမဟာ အကောင်သဆုံသဖဌစ်သည်။ HNSW (အထက်အောက် သလာသလာနိုင်သော ကမ္ဘာအသေသစာသ ဂရပ်မျာသ)။ ၎င်သသည် သန်သပေါင်သမျာသစလာသော ဒေတာဘေ့စ်မဟ သုံသစလဲသူတစ်ညသအတလက် N အနီသဆုံသ vector မျာသကို မီလီစက္ကန့်အနည်သငယ်အတလင်သ ရဟာဖလေနိုင်စေမည့် အထက်တန်သပုံစံပုံစံတစ်ခုဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ စာရလက်စာတမ်သဒေတာဘေ့စ်တစ်ခုလုံသကို အော့ဖ်လိုင်သဖဌင့် အညလဟန်သပေသပါသည်။ အညလဟန်သတလင် ရဟာဖလေခဌင်သသည် အလလန်လျင်မဌန်သောကဌောင့်၊ အာသကောင်သသော မဌဟပ်နဟံမဟုမျာသစလာရဟိပါက၊ သင်သည် အညလဟန်သမျာသစလာ (ထည့်သလင်သမဟုတစ်ခုစီအတလက် အညလဟန်သတစ်ခု) ဖန်တီသနိုင်ပဌီသ ၎င်သတို့တစ်ခုစီကို အချိန်နဟင့်တပဌေသညီ ဝင်ရောက်ကဌည့်ရဟုနိုင်ပါသည်။

ကျလန်ုပ်တို့တလင် သုံသစလဲသူတစ်ညသစီအတလက် စာရလက်စာတမ်သ သောင်သနဟင့်ချီရဟိပါသေသသည်။ ၎င်သသည် အင်္ဂါရပ်အာသလုံသကို ရေတလက်ရန် မျာသစလာကျန်နေသေသသည်၊ ထို့ကဌောင့် ကအဆင့်တလင် ကျလန်ုပ်တို့သည် ပေါ့ပါသသော အဆင့်သတ်မဟတ်ခဌင်သ - ပေါ့ပါသလေသလံသော အဆင့်သတ်မဟတ်ချက်မော်ဒယ်ကို အသုံသပဌုပါသည်။ အလုပ်မဟာ လေသလံသောမော်ဒယ်တလင် မည်သည့်စာရလက်စာတမ်သမျာသ ထိပ်တလင်ရဟိမည်ကို ခန့်မဟန်သရန်ဖဌစ်သည်။ အမဌင့်ဆုံသ ကဌိုတင်ခန့်မဟန်သနိုင်သော စာရလက်စာတမ်သမျာသကို အဆင့်သတ်မဟတ်ခဌင်သ၏ နောက်ဆုံသအဆင့်တလင် အကဌီသစာသမော်ဒယ်တလင် အသုံသပဌုမည်ဖဌစ်သည်။ ကနည်သလမ်သသည် အသုံသပဌုသူအတလက် ထည့်သလင်သစဉ်သစာသထာသသော စာရလက်စာတမ်သမျာသ၏ ဒေတာဘေ့စ်ကို မီလီစက္ကန့် ဆယ်ဂဏန်သအတလင်သ သန်သပေါင်သမျာသစလာမဟ ထောင်ပေါင်သမျာသစလာမဟ လျဟော့ချနိုင်စေပါသည်။

Runtime တလင် ALS အဆင့်

ကလစ်တစ်ချက်နဟိပ်ပဌီသတာနဲ့ သုံသစလဲသူရဲ့ တုံ့ပဌန်ချက်ကို ဘယ်လိုထည့်သလင်သမလဲ။

အကဌံပဌုချက်မျာသတလင် အရေသကဌီသသောအချက်မဟာ သုံသစလဲသူ၏ တုံ့ပဌန်ချက်အတလက် တုံ့ပဌန်ချိန်ဖဌစ်သည်။ အသုံသပဌုသူအသစ်မျာသအတလက် အထူသအရေသကဌီသပါသည်- လူတစ်ညသသည် အကဌံပဌုချက်စနစ်ကို စတင်အသုံသပဌုသောအခါတလင် အကဌောင်သအရာအမျိုသမျိုသရဟိ စာရလက်စာတမ်သမျာသ၏ ပုဂ္ဂိုလ်ရေသသီသသန့်မဟုတ်သော ဖိဒ်တစ်ခုကို လက်ခံရရဟိမည်ဖဌစ်သည်။ သူ ပထမဆုံသ ကလစ်နဟိပ်လိုက်သည်နဟင့် သင်သည် ၎င်သကို ချက်ချင်သထည့်သလင်သစဉ်သစာသပဌီသ သူ၏ အကျိုသစီသပလာသနဟင့် လိုက်လျောညီထလေဖဌစ်အောင် လုပ်ဆောင်ရန် လိုအပ်သည်။ အချက်အာသလုံသကို အော့ဖ်လိုင်သတလက်ချက်ပါက၊ နဟောင့်နဟေသမဟုကဌောင့် အမဌန်စနစ်တုံ့ပဌန်မဟု မဖဌစ်နိုင်ပါ။ ထို့ကဌောင့် သုံသစလဲသူ၏ လုပ်ဆောင်ချက်မျာသကို အချိန်နဟင့်တပဌေသညီ လုပ်ဆောင်ရန် လိုအပ်ပါသည်။ ကရည်ရလယ်ချက်မျာသအတလက်၊ ကျလန်ုပ်တို့သည် အသုံသပဌုသူ၏ vector ကိုယ်စာသပဌုမဟုကို တည်ဆောက်ရန်အတလက် runtime တလင် ALS အဆင့်ကို အသုံသပဌုပါသည်။

စာရလက်စာတမ်သအာသလုံသအတလက် vector ပုံသဏ္ဍာန်တစ်ခုရဟိသည် ဟုယူဆကဌပါစို့။ ဥပမာအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ELMo၊ BERT သို့မဟုတ် အခဌာသစက်သင်ယူမဟုမော်ဒယ်မျာသကို အသုံသပဌု၍ ဆောင်သပါသတစ်ပုဒ်၏စာသာသအပေါ် အခဌေခံ၍ အော့ဖ်လိုင်သတလင် မဌဟုပ်နဟံမဟုမျာသကို တည်ဆောက်နိုင်ပါသည်။ စနစ်အတလင်သရဟိ ၎င်သတို့၏ အပဌန်အလဟန်တုံ့ပဌန်မဟုမျာသအပေါ် အခဌေခံ၍ တူညီသောနေရာရဟိ သုံသစလဲသူမျာသ၏ vector ပုံသဏ္ဍာန်ကို ကျလန်ုပ်တို့ မည်သို့ရရဟိနိုင်မည်နည်သ။

အသုံသပဌုသူ-စာရလက်စာတမ်သ matrix ၏ဖလဲ့စည်သခဌင်သနဟင့်ပဌိုကလဲခဌင်သ၏အထလေထလေနိယာမm အသုံသပဌုသူမျာသနဟင့် n စာရလက်စာတမ်သမျာသ ထာသရဟိကဌပါစို့။ အချို့သော သုံသစလဲသူမျာသအတလက်၊ အချို့သော စာရလက်စာတမ်သမျာသနဟင့် ၎င်သတို့၏ ဆက်ဆံရေသကို သိရဟိပါသည်။ ထို့နောက် ကအချက်အလက်ကို mxn matrix အဖဌစ် ကိုယ်စာသပဌုနိုင်သည်- အတန်သမျာသသည် အသုံသပဌုသူမျာသနဟင့် သက်ဆိုင်ပဌီသ၊ ကော်လံမျာသသည် စာရလက်စာတမ်သမျာသနဟင့် သက်ဆိုင်ပါသည်။ စာရလက်စာတမ်သအမျာသစုကို လူကမမဌင်ရသေသသောကဌောင့်၊ မက်ထရစ်ဆဲလ်အမျာသစုသည် ဗလာဖဌစ်နေမည်ဖဌစ်ပဌီသ အခဌာသအရာမျာသကို ဖဌည့်ပေသမည်ဖဌစ်သည်။ ဖဌစ်ရပ်တစ်ခုစီအတလက် (အကဌိုက်၊ မကဌိုက်၊ ကလစ်) တန်ဖိုသအချို့ကို matrix တလင် ပေသထာသသည် - သို့သော် 1 နဟင့် သက်ဆိုင်သည့် ရိုသရဟင်သသောပုံစံကို သုံသသပ်ကဌည့်ရအောင်၊ မကဌိုက်ပါက -1 နဟင့် သက်ဆိုင်ပါသည်။

Matrix ကို d သည် vector ကိုယ်စာသပဌုမဟု၏ dimension (မျာသသောအာသဖဌင့် သေသငယ်သော ဂဏန်သ) ဖဌစ်သည့် P (mxd) နဟင့် Q (dxn) တို့ကို နဟစ်ခုအဖဌစ် ခလဲကဌည့်ကဌပါစို့။ ထို့နောက် အရာဝတ္ထုတစ်ခုစီသည် d-dimensional vector (အသုံသပဌုသူတစ်ညသအတလက် - matrix P ရဟိ အတန်သတစ်ခု၊ စာရလက်စာတမ်သတစ်ခုအတလက် - matrix Q ရဟိ ကော်လံ) နဟင့် သက်ဆိုင်ပါသည်။ က vector မျာသသည် သက်ဆိုင်ရာ အရာဝတ္တုမျာသ၏ မဌဟပ်နဟံမဟုမျာသ ဖဌစ်လိမ့်မည်။ အသုံသပဌုသူတစ်ညသသည် စာရလက်စာတမ်သတစ်ခုကို နဟစ်သက်မည်လာသဟု ခန့်မဟန်သရန်၊ ၎င်သတို့၏ မဌဟုပ်သလင်သမဟုမျာသကို ရိုသရဟင်သစလာ မဌဟောက်နိုင်သည်။

အကဌံပဌုချက်ရလေသချယ်ရာတလင် အရည်အသလေသနဟင့် အရဟိန်အဟုန်ဖဌင့် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်မည်နည်သ။
မက်ထရစ်ကို ပဌိုကလဲရန် ဖဌစ်နိုင်သော နည်သလမ်သမျာသထဲမဟ တစ်ခုမဟာ ALS (Alternating Least Squares) ဖဌစ်သည်။ ကျလန်ုပ်တို့သည် အောက်ပါ ဆုံသရဟုံသမဟုလုပ်ဆောင်ချက်ကို အကောင်သဆုံသဖဌစ်အောင် လုပ်ဆောင်ပါမည်-

အကဌံပဌုချက်ရလေသချယ်ရာတလင် အရည်အသလေသနဟင့် အရဟိန်အဟုန်ဖဌင့် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်မည်နည်သ။

ကတလင် rui သည် document i နဟင့် user u တို့၏ အပဌန်အလဟန်ဆက်သလယ်မဟု၊ qi သည် document ၏ vector ဖဌစ်ပဌီသ pu သည် user u ၏ vector ဖဌစ်သည်။

ထို့နောက် ပျမ်သမျဟစတုရန်သအမဟာသ (fixed document vectors အတလက်) ၏ရဟုထောင့်မဟ အကောင်သဆုံသအသုံသပဌုသူ vector ကို သက်ဆိုင်ရာ linear regression ကိုဖဌေရဟင်သခဌင်သဖဌင့် ခလဲခဌမ်သစိတ်ဖဌာတလေ့ရဟိပါသည်။

၎င်သကို "ALS အဆင့်" ဟုခေါ်သည်။ ALS algorithm ကိုယ်တိုင်က matrices (အသုံသပဌုသူမျာသနဟင့် ဆောင်သပါသမျာသ) မျာသထဲမဟ တစ်ခုကို တလဟည့်စီ ပဌုပဌင်ပဌီသ အကောင်သမလန်ဆုံသ ဖဌေရဟင်သနည်သကို ရဟာဖလေကာ အခဌာသတစ်ခုကို အပ်ဒိတ်လုပ်ခဌင်သ ဖဌစ်သည်။

ကံကောင်သထောက်မစလာ၊ အသုံသပဌုသူ၏ vector ကိုယ်စာသပဌုမဟုကိုရဟာဖလေခဌင်သသည် vector ညလဟန်ကဌာသချက်မျာသကိုအသုံသပဌု၍ runtime တလင်လုပ်ဆောင်နိုင်သည့်အတော်လေသမဌန်ဆန်သောလုပ်ဆောင်မဟုတစ်ခုဖဌစ်သည်။ ကလဟည့်ကလက်သည် သင့်အာသ အဆင့်သတ်မဟတ်ရာတလင် အသုံသပဌုသူ၏တုံ့ပဌန်ချက်ကို ချက်ချင်သထည့်သလင်သနိုင်စေပါသည်။ ကိုယ်စာသလဟယ်လောင်သရလေသချယ်မဟု ပိုမိုကောင်သမလန်လာစေရန် တူညီသောထည့်သလင်သမဟုကို kNN အညလဟန်သတလင် သုံသနိုင်သည်။

ဖဌန့်ဝေထာသသော ပူသပေါင်သဆောင်ရလက်မဟု စီစစ်ခဌင်သ။

တိုသမဌဟင်ဖဌန့်ဝေသည့် matrix ကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သအာသ မည်သို့ပဌုလုပ်ပဌီသ ဆောင်သပါသအသစ်မျာသ၏ vector ကိုယ်စာသပဌုမဟုမျာသကို အမဌန်ရဟာနိုင်မည်နည်သ။

အကဌောင်သအရာသည် အကဌံပဌုချက်အချက်ပဌမဟုမျာသ၏ တစ်ခုတည်သသောအရင်သအမဌစ်မဟုတ်ပါ။ နောက်ထပ်အရေသကဌီသသောအရင်သအမဌစ်မဟာ ပူသပေါင်သဆောင်ရလက်သည့်အချက်အလက်မျာသဖဌစ်သည်။ အသုံသပဌုသူ-စာရလက်စာတမ်သ matrix ၏ပဌိုကလဲခဌင်သမဟ ကောင်သမလန်သော အဆင့်သတ်မဟတ်ခဌင်သအင်္ဂါရပ်မျာသကို အစဉ်အလာအာသဖဌင့် ရရဟိနိုင်သည်။ ဒါပေမယ့် အဲဒီလို ပဌိုကလဲအောင်လုပ်ဖို့ ကဌိုသစာသတဲ့အခါ ပဌဿနာတလေနဲ့ ကဌုံခဲ့ရတယ်။

1. ကျလန်ုပ်တို့တလင် စာရလက်စာတမ်သ သန်သပေါင်သမျာသစလာနဟင့် သုံသစလဲသူ သန်သဆယ်ဂဏန်သရဟိသည်။ matrix သည် စက်တစ်ခုတည်သတလင် လုံသလုံသလျာသလျာသ အံဝင်ခလင်ကျမဖဌစ်ဘဲ ပဌိုကလဲပျက်စီသရန် အချိန်အတော်ကဌာပါသည်။
2. စနစ်အတလင်သရဟိ အကဌောင်သအရာအမျာသစုသည် သက်တမ်သတိုသည်- စာရလက်စာတမ်သမျာသသည် နာရီအနည်သငယ်သာ သက်ဆိုင်ပါသည်။ ထို့ကဌောင့် ၎င်သတို့၏ vector ကိုယ်စာသပဌုမဟုကို တတ်နိုင်သမျဟ မဌန်မဌန်တည်ဆောက်ရန် လိုအပ်ပါသည်။
3. စာရလက်စာတမ်သကို လလဟင့်တင်ပဌီသပဌီသချင်သ ပဌိုကလဲပျက်စီသမဟုကို တည်ဆောက်ပါက၊ လုံလောက်သော အသုံသပဌုသူအရေအတလက်သည် ၎င်သကို အကဲဖဌတ်ရန် အချိန်ရဟိမည်မဟုတ်ပါ။ ထို့ကဌောင့် ၎င်သ၏ vector ကိုယ်စာသပဌုမဟုသည် အလလန်ကောင်သမလန်ဖလယ်မရဟိပါ။
4. အသုံသပဌုသူတစ်ညသက ကဌိုက်သည် သို့မဟုတ် မကဌိုက်ပါက၊ ကအရာကို ပဌိုကလဲပျက်စီသမဟုတလင် ချက်ချင်သထည့်သလင်သစဉ်သစာသနိုင်မည်မဟုတ်ပေ။

ကပဌဿနာမျာသကိုဖဌေရဟင်သရန်၊ ကျလန်ုပ်တို့သည် မကဌာခဏ တိုသမဌဟင့်မလမ်သမံမဟုမျာသဖဌင့် အသုံသပဌုသူ-စာရလက်စာတမ်သ matrix ၏ ဖဌန့်ဝေမဟုပဌိုကလဲမဟုကို အကောင်အထည်ဖော်ခဲ့သည်။ အတိအကျ ဘယ်လိုအလုပ်လုပ်သလဲ။

ကျလန်ုပ်တို့တလင် N စက်မျာသ အစုအဝေသတစ်ခုရဟိသည်ဆိုပါစို့ (N သည် ရာနဟင့်ချီသော) ရဟိပဌီသ စက်တစ်လုံသတလင် မကိုက်ညီသော ၎င်သတို့အပေါ် ဖဌန့်ကျက်ထာသသော matrix တစ်ခု၏ ကလဲအက်မဟုကို ပဌုလုပ်လိုပါသည်။ မေသခလန်သမဟာ တစ်ဖက်တလင် စက်တစ်ခုစီတလင် ဒေတာအလုံအလောက်ရဟိပဌီသ အခဌာသတစ်ဖက်တလင် တလက်ချက်မဟုမျာသသည် အမဟီအခိုကင်သစေရန် ကပဌိုကလဲပျက်စီသမဟုကို မည်သို့လုပ်ဆောင်ရမည်နည်သ။

အကဌံပဌုချက်ရလေသချယ်ရာတလင် အရည်အသလေသနဟင့် အရဟိန်အဟုန်ဖဌင့် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်မည်နည်သ။

အထက်တလင်ဖော်ပဌထာသသော ALS ပဌိုကလဲခဌင်သဆိုင်ရာ အယ်လဂိုရီသမ်ကို ကျလန်ုပ်တို့ အသုံသပဌုပါမည်။ ALS အဆင့်တစ်ဆင့်ကို ဖဌန့်ဝေသည့်ပုံစံဖဌင့် မည်သို့လုပ်ဆောင်ရမည်ကို ကဌည့်ကဌပါစို့ - ကျန်အဆင့်မျာသသည် ဆင်တူပါမည်။ ကျလန်ုပ်တို့တလင် စာရလက်စာတမ်သမျာသ၏ ပုံသေ matrix တစ်ခုရဟိပဌီသ သုံသစလဲသူမျာသ၏ matrix တစ်ခုကို တည်ဆောက်လိုသည်ဆိုကဌပါစို့။ ၎င်သကိုပဌုလုပ်ရန်၊ ၎င်သကို N အပိုင်သမျာသအဖဌစ် မျဉ်သကဌောင်သမျာသ ပိုင်သခဌာသပဌီသ အပိုင်သတစ်ခုစီတလင် ခန့်မဟန်သခဌေအာသဖဌင့် တူညီသော လိုင်သအရေအတလက်မျာသပါရဟိသည်။ သက်ဆိုင်ရာအတန်သမျာသ၏ အလလတ်မဟုတ်သော ဆဲလ်တစ်ခုစီသို့ ပေသပို့မည်ဖဌစ်ပဌီသ၊ စာရလက်စာတမ်သထည့်သလင်သမဟုမျာသ၏ matrix (လုံသလုံသ) ကို ပေသပို့ပါမည်။ ၎င်သ၏အရလယ်အစာသသည် အလလန်မကဌီသဘဲ အသုံသပဌုသူ-စာရလက်စာတမ်သ မက်ထရစ်သည် အမျာသအာသဖဌင့် အလလန်ကျဲသောကဌောင့်၊ ကဒေတာသည် ပုံမဟန်စက်တစ်လုံသတလင် အံဝင်ခလင်ကျဖဌစ်လိမ့်မည်။

ပုံသေ matrix ကို တစ်ခုပဌီသတစ်ခုပဌောင်သကာ မော်ဒယ်မျာသ ပေါင်သစည်သသလာသသည်အထိ ကလဟည့်ကလက်ကို ခေတ်ပေါင်သမျာသစလာတလင် ထပ်ခါထပ်ခါ ပဌုလုပ်နိုင်ပါသည်။ သို့သော်ငဌာသလည်သ၊ matrix ပဌိုကလဲမဟုသည် နာရီပေါင်သမျာသစလာ ကဌာနိုင်သည်။ ၎င်သသည် စာရလက်စာတမ်သအသစ်မျာသကို လျင်မဌန်စလာလက်ခံရရဟိရန်နဟင့် မော်ဒယ်တည်ဆောက်ရာတလင် အချက်အလက်အနည်သငယ်သာရဟိသည့်အရာမျာသ၏ မဌဟပ်နဟံမဟုမျာသကို အပ်ဒိတ်လုပ်ရန် လိုအပ်သည့်ပဌဿနာကို ၎င်သမဟဖဌေရဟင်သမည်မဟုတ်ပါ။

လျင်မဌန်စလာ တိုသမဌင့်လာသော မော်ဒယ်အပ်ဒိတ်မျာသကို မိတ်ဆက်ခဌင်သသည် ကျလန်ုပ်တို့ကို ကူညီပေသခဲ့ပါသည်။ ကျလန်ုပ်တို့တလင် လက်ရဟိလေ့ကျင့်နေသည့် မော်ဒယ်တစ်ခုရဟိသည် ဆိုကဌပါစို့။ သူမ၏ သင်တန်သချိန်မဟစ၍၊ ကျလန်ုပ်တို့၏အသုံသပဌုသူမျာသနဟင့် အပဌန်အလဟန်တုံ့ပဌန်သည့် ဆောင်သပါသအသစ်မျာသအပဌင် လေ့ကျင့်ရေသကာလအတလင်သ အပဌန်အလဟန်တုံ့ပဌန်မဟုအနည်သငယ်သာရဟိသော ဆောင်သပါသမျာသလည်သ ရဟိခဲ့ပါသည်။ ထိုကဲ့သို့သော ဆောင်သပါသမျာသ၏ မဌဟုပ်နဟံမဟုမျာသကို လျင်မဌန်စလာ ရရဟိရန်၊ ကျလန်ုပ်တို့သည် မော်ဒယ်၏ ပထမဆုံသ လေ့ကျင့်မဟုကဌီသအတလင်သ ရရဟိသော အသုံသပဌုသူ မဌဟုပ်နဟံမဟုမျာသကို အသုံသပဌုပဌီသ ပုံသေအသုံသပဌုသူမက်ထရစ်ကို ပေသထာသသည့် စာရလက်စာတမ်သ matrix ကို တလက်ချက်ရန် ALS အဆင့်တစ်ခုကို လုပ်ဆောင်ပါသည်။ ၎င်သသည် သင့်အာသ မဌဟုပ်နဟံမဟုမျာသကို လျင်မဌန်စလာ လက်ခံနိုင်စေသည် - စာရလက်စာတမ်သကို ထုတ်ဝေပဌီသ မိနစ်အနည်သငယ်အတလင်သ - နဟင့် မကဌာသေသမီက စာရလက်စာတမ်သမျာသ၏ ထည့်သလင်သမဟုမျာသကို မကဌာခဏ အပ်ဒိတ်လုပ်ပါ။

လူသာသ၏လုပ်ဆောင်ချက်မျာသကို ချက်ခဌင်သထည့်သလင်သစဉ်သစာသရန် အကဌံပဌုချက်မျာသပဌုလုပ်ရန်၊ runtime တလင် အော့ဖ်လိုင်သမဟရရဟိသော အသုံသပဌုသူထည့်သလင်သခဌင်သကို ကျလန်ုပ်တို့အသုံသမပဌုပါ။ ယင်သအစာသ၊ ကျလန်ုပ်တို့သည် ALS အဆင့်ကို လုပ်ဆောင်ပဌီသ အမဟန်တကယ် အသုံသပဌုသူ vector ကို ရယူပါ။

အခဌာသဒိုမိန်သဧရိယာသို့ လလဟဲပဌောင်သပါ။

ဗီဒီယိုတစ်ခု၏ vector ပုံသဏ္ဍာန်ကိုတည်ဆောက်ရန် စာသာသဆောင်သပါသမျာသတလင် အသုံသပဌုသူတုံ့ပဌန်ချက်ကို မည်သို့အသုံသပဌုရမည်နည်သ။

အစပိုင်သတလင်၊ ကျလန်ုပ်တို့သည် စာသာသဆောင်သပါသမျာသကိုသာ အကဌံပဌုထာသသောကဌောင့် ကျလန်ုပ်တို့၏ အယ်လဂိုရီသမ်မျာသကို ကအကဌောင်သအရာအမျိုသအစာသနဟင့် အံဝင်ခလင်ကျဖဌစ်အောင် ပဌုလုပ်ထာသသည်။ သို့သော် အခဌာသအကဌောင်သအရာအမျိုသအစာသမျာသကို ပေါင်သထည့်သောအခါ၊ မော်ဒယ်မျာသကို လိုက်လျောညီထလေဖဌစ်အောင် ပဌုလုပ်ရန် လိုအပ်မဟုနဟင့် ရင်ဆိုင်ခဲ့ရသည်။ ဗီဒီယိုနမူနာကို အသုံသပဌု၍ ကပဌဿနာကို ကျလန်ုပ်တို့ မည်သို့ဖဌေရဟင်သခဲ့သနည်သ။ ရလေသချယ်ခလင့်တစ်ခုမဟာ မော်ဒယ်အာသလုံသကို အစမဟ ပဌန်လေ့ကျင့်ရန်ဖဌစ်သည်။ သို့သော် ၎င်သသည် အချိန်ကဌာမဌင့်ပဌီသ အချို့သော အယ်လဂိုရီသမ်မျာသသည် ဝန်ဆောင်မဟု၏ ပထမဆုံသအခိုက်အတန့်တလင် အကဌောင်သအရာအသစ်အတလက် လိုအပ်သောပမာဏတလင် မရရဟိနိုင်သေသသည့် လေ့ကျင့်ရေသနမူနာ၏ အရလယ်အစာသအတလက် တောင်သဆိုနေပါသည်။

ကျလန်ုပ်တို့သည် အခဌာသတစ်ဖက်သို့သလာသကာ ဗီဒီယိုအတလက် စာသာသပုံစံမျာသကို ပဌန်လည်အသုံသပဌုခဲ့သည်။ တူညီသော ALS လဟည့်ကလက်သည် ဗီဒီယိုမျာသ၏ ပုံသဏ္ဍာန်မျာသကို ဖန်တီသနိုင်စေခဲ့သည်။ စာသာသဆောင်သပါသမျာသကို အခဌေခံ၍ အသုံသပဌုသူမျာသ၏ ပုံသဏ္ဍာန်ကို ရယူပဌီသ ဗီဒီယိုကဌည့်ရဟုမဟု အချက်အလက်ကို အသုံသပဌုကာ ALS အဆင့်ကို လုပ်ဆောင်ခဲ့သည်။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် ဗီဒီယို၏ ပုံသဏ္ဍာန်ကို အလလယ်တကူရရဟိသည်။ နဟင့် runtime တလင်ကျလန်ုပ်တို့သည်စာသာသဆောင်သပါသမျာသနဟင့်ဗီဒီယို vector မဟရရဟိသောအသုံသပဌုသူ vector အကဌာသနီသစပ်မဟုကိုတလက်ချက်သည်။

ကောက်ချက်

အချိန်နဟင့်တပဌေသညီ အကဌံပဌုချက်စနစ်၏ အဓိကအချက်ကို ဖော်ဆောင်ရာတလင် စိန်ခေါ်မဟုမျာသစလာ ပါဝင်ပါသည်။ ကဒေတာကို ထိထိရောက်ရောက်အသုံသပဌုရန် သင်သည် ဒေတာကို လျင်မဌန်စလာလုပ်ဆောင်ပဌီသ ML နည်သလမ်သမျာသကို အသုံသပဌုရန်လိုအပ်ပါသည်။ အနည်သဆုံသအချိန်အတလင်သ သုံသစလဲသူအချက်ပဌမဟုမျာသနဟင့် အကဌောင်သအရာယူနစ်အသစ်မျာသကို လုပ်ဆောင်နိုင်သည့် ရဟုပ်ထလေသသော ဖဌန့်ဝေသည့်စနစ်မျာသကို တည်ဆောက်ပါ။ နဟင့် အခဌာသအလုပ်မျာသစလာ။

လက်ရဟိစနစ်တလင်၊ ကျလန်ုပ်ဖော်ပဌထာသသည့် ဒီဇိုင်သပုံစံ၊ အသုံသပဌုသူအတလက် အကဌံပဌုချက်မျာသ အရည်အသလေသသည် ၎င်သ၏လုပ်ဆောင်ချက်နဟင့် ဝန်ဆောင်မဟုတလင် ရဟိနေသည့်ကဌာချိန်တို့နဟင့်အတူ ကဌီသထလာသလာသည်။ သို့သော် ကနေရာတလင် အဓိကအခက်အခဲမဟာ ဖဌစ်သည်- အကဌောင်သအရာနဟင့် အနည်သငယ်သာ အပဌန်အလဟန်အကျိုသပဌုသူ၏ အကျိုသစီသပလာသကို ချက်ချင်သနာသလည်ရန် စနစ်အတလက် ခက်ခဲပါသည်။ သုံသစလဲသူအသစ်မျာသအတလက် အကဌံပဌုချက်မျာသကို မဌဟင့်တင်ခဌင်သသည် ကျလန်ုပ်တို့၏ အဓိကပန်သတိုင်ဖဌစ်သည်။ လူတစ်ညသနဟင့် သက်ဆိုင်သည့် အကဌောင်သအရာကို ၎င်သ၏ ဖိဒ်ထဲသို့ ပိုမိုမဌန်ဆန်စလာ ရောက်ရဟိလာစေရန်နဟင့် မသက်ဆိုင်သော အကဌောင်သအရာမျာသကို ပဌသနိုင်ရန် အယ်လဂိုရီသမ်မျာသကို အကောင်သဆုံသဖဌစ်အောင် ဆက်လက်လုပ်ဆောင်သလာသပါမည်။

source: www.habr.com

မဟတ်ချက် Add