ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

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

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

  • သရုပ်ဖဌေရဟင်သချက်
  • Gradient အဆင်သ
  • Stochastic gradient ဆင်သသက်သည်။

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

ဆောင်သပါသတလင်ပေသထာသသောကုဒ်အာသလုံသကို ဘာသာစကာသဖဌင့် ရေသသာသထာသသည်။ python 2.7 အသုံသပဌုခဌင်သ ဂျူပီတာမဟတ်စုစာအုပ်. နမူနာဒေတာပါသည့် အရင်သအမဌစ်ကုဒ်နဟင့် ဖိုင်ကို တလင်တင်ထာသသည်။ Github

ဆောင်သပါသသည် ဥာဏ်ရည်တု-စက်သင်ယူမဟုတလင် အလလန်ကျယ်ပဌန့်သော အပိုင်သကို ကျလမ်သကျင်စလာ စတင်လေ့လာနေသူမျာသနဟင့် စတင်သူနဟစ်ညသစလုံသအတလက် ပိုမိုရည်ရလယ်ပါသည်။

ပစ္စည်သကိုသရုပ်ဖော်ရန်၊ ကျလန်ုပ်တို့သည် အလလန်ရိုသရဟင်သသောဥပမာကိုအသုံသပဌုသည်။

နမူနာအခဌေအနေမျာသ

ကျလန်ုပ်တို့တလင် မဟီခိုအာသထာသမဟုကို ဖော်ပဌသော တန်ဖိုသငါသခုရဟိသည်။ Y Пт X (ဇယာသနံပါတ် 1):

ဇယာသနံပါတ် ၁ “ဥပမာ အခဌေအနေမျာသ”

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

တန်ဖိုသထာသမဟုတလေ ရဟိလာမယ်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ တစ်နဟစ်တာ၏လဖဌစ်သည်၊ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ - ဒီလဝင်ငလေ။ တစ်နည်သဆိုရသော် ဝင်ငလေသည် တစ်နဟစ်တာ၏ လပေါ်တလင် မူတည်သည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ - ဝင်ငလေအပေါ် မူတည်သော တစ်ခုတည်သသော လက္ခဏာ။

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

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

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ဘယ်မဟာ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ ဝင်ငလေရရဟိသည့်လ၊ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ - လနဟင့်ကိုက်ညီသော ၀င်ငလေ၊ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ ခန့်မဟန်သမျဉ်သ၏ ဆုတ်ယုတ်မဟုကိန်သဂဏန်သမျာသ။

ကိန်သဂဏန်သကို သတိပဌုပါ။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ ခန့်မဟန်သမျဉ်သ၏ slope သို့မဟုတ် gradient ဟုခေါ်လေ့ရဟိသည်၊ အဆိုပါပမာဏကိုကိုယ်စာသပဌုသည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ ပဌောင်သလဲသလာသတဲ့အခါ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။.

ဥပမာအာသဖဌင့် ကျလန်ုပ်တို့၏တာဝန်မဟာ ညီမျဟခဌင်သတလင် ထိုသို့သောကိန်သမျာသကို ရလေသချယ်ရန်ဖဌစ်သည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ကျလန်ုပ်တို့၏ တလက်ချက်ထာသသော ၀င်ငလေတန်ဖိုသမျာသကို လအလိုက် သလေဖည်စေသော အဖဌေမဟန်မျာသမဟ၊ i.e. နမူနာတလင်တင်ပဌထာသသောတန်ဖိုသမျာသသည်အနည်သငယ်မျဟသာရဟိလိမ့်မည်။

အနည်သဆုံသ စတုရန်သပုံနည်သလမ်သ

အနည်သဆုံသ စတုရန်သနည်သအရ၊ သလေဖည်မဟုကို နဟစ်ထပ်ဖဌင့် တလက်ချက်သင့်သည်။ ကနည်သပညာသည် ၎င်သတို့တလင် ဆန့်ကျင်ဘက်လက္ခဏာမျာသရဟိနေပါက အပဌန်အလဟန်သလေဖည်မဟုမျာသကို ရဟောင်ရဟာသနိုင်မည်ဖဌစ်သည်။ ဥပမာအာသဖဌင့်၊ အကယ်၍ ကိစ္စတစ်ခုတလင်၊ သလေဖည်သည်။ +5 (အပေါင်သငါသ) နဟင့်အခဌာသ -5 (အနဟုတ်ငါသ) ထို့နောက် သလေဖည်မဟု၏ပေါင်သလဒ်သည် တစ်ခုနဟင့်တစ်ခု ဖဌတ်သလာသမည်ဖဌစ်ပဌီသ ပမာဏမဟာ 0 (သုည) ဖဌစ်သည်။ သလေဖည်မဟုကို နဟစ်ထပ်မလုပ်ဘဲ ဖဌစ်နိုင်သည်၊ သို့သော် modulus ၏ပိုင်ဆိုင်မဟုကိုအသုံသပဌုပဌီသ သလေဖည်မဟုမျာသအာသလုံသကို အပဌုသဘောဆောင်ပဌီသ စုပုံလာမည်ဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ကအချက်ကို အသေသစိတ်ဖော်ပဌမည်မဟုတ်သော်လည်သ တလက်ချက်မဟုအဆင်ပဌေစေရန်အတလက် သလေဖည်ကို နဟစ်ထပ်ရန် ထုံသစံအတိုင်သ ညလဟန်ပဌပါသည်။

ကသည်မဟာ နဟစ်ထပ်သလေဖည်မဟု အနည်သဆုံသ ပေါင်သလဒ် (အမဟာသအယလင်သမျာသ) ကို ဆုံသဖဌတ်မည့် ဖော်မဌူလာပုံသဏ္ဌာန် ဖဌစ်သည်-

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ဘယ်မဟာ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ အဖဌေမဟန်မျာသ၏ အနီသစပ်ဆုံသလုပ်ဆောင်ချက် (ဆိုလိုသည်မဟာ ကျလန်ုပ်တို့တလက်ချက်ထာသသော ၀င်ငလေ)၊

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ အဖဌေမဟန်မျာသဖဌစ်ကဌသည် (နမူနာတလင်ဖော်ပဌထာသသော ဝင်ငလေမျာသ)၊

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

လုပ်ဆောင်ချက်ကို ခလဲခဌာသကဌည့်ရအောင်၊ တစ်စိတ်တစ်ပိုင်သကလဲပဌာသသော ညီမျဟခဌင်သမျာသကို သတ်မဟတ်ပဌီသ ခလဲခဌမ်သစိတ်ဖဌာမဟုဖဌေရဟင်သချက်သို့ ဆက်သလာသရန် အဆင်သင့်ဖဌစ်ပါစေ။ သို့သော် ညသစလာ၊ ကလဲပဌာသခဌင်သအကဌောင်သ အတိုချုံသလေ့လာပဌီသ ဆင်သသက်လာခဌင်သ၏ ဂျီဩမေတဌီအဓိပ္ပါယ်ကို သတိရကဌပါစို့။

ကလဲပဌာသခဌင်သ။

Differentiation သည် function တစ်ခု၏ ဆင်သသက်လာမဟုကို ရဟာဖလေခဌင်သ၏ လုပ်ဆောင်မဟုဖဌစ်သည်။

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

ဥပမာအာသဖဌင့်၊ Cartesian သဌဒီနိတ်စနစ်၏ အခဌေအနေမျာသအောက်တလင်၊ အမဟတ် M(0,0) မဟ ဆင်သသက်လာသောတန်ဖိုသသည် ညီမျဟသည်။ 25 + ဆိုလိုသည်မဟာ သတ်မဟတ်အမဟတ်တလင် တန်ဖိုသပဌောင်သသလာသသောအခါ၊ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ သမာသရိုသကျယူနစ်တစ်ခုဖဌင့် ညာဘက်သို့၊ တန်ဖိုသ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ သမာသရိုသကျယူနစ် 25 တိုသလာသည်။ ဂရပ်ပေါ်တလင် တန်ဖိုသမျာသ သိသိသာသာ မဌင့်တက်လာပုံရသည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ ပေသထာသသည့်အချက်မဟ

နောက်ဥပမာ။ ဆင်သသက်လာတန်ဖိုသသည် ညီမျဟသည်။ -0,1 ဆိုလိုသည်မဟာ ရလဟေ့ပဌောင်သသည့်အခါတလင် ဖဌစ်သည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ သမာသရိုသကျ ယူနစ်တစ်ခုအတလက် တန်ဖိုသ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ သမာသရိုသကျ ယူနစ် 0,1 သာ လျော့ကျသလာသသည်။ တစ်ချိန်တည်သမဟာပင်၊ function ၏ဂရပ်တလင်၊ ကျလန်ုပ်တို့သည် သိသာထင်ရဟာသသော အောက်ဘက်သို့ လျဟောစောက်ကို သတိပဌုနိုင်သည်။ တောင်ကဌီသတစ်ခုနဟင့် သရုပ်ဖော်ပုံဆလဲခဌင်သ ၊ ကျလန်ုပ်တို့သည် အလလန်မတ်စောက်သော တောင်ထလတ်ကိုတက်ခဲ့ရသည့် ယခင်ဥပမာနဟင့်မတူဘဲ တောင်ပေါ်မဟ ဖဌည်သညဟင်သစလာ လျဟောဆင်သလာပုံနဟင့် တူပါသည် :)

ထို့ကဌောင့် function ကိုခလဲခဌာသပဌီသနောက် ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ အလေသသာမဟုမျာသဖဌင့် ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ကျလန်ုပ်တို့သည် 1st အမဟာစာတစ်စိတ်တစ်ပိုင်သကလဲပဌာသသောညီမျဟခဌင်သမျာသကို သတ်မဟတ်သည်။ ညီမျဟခဌင်သမျာသကို ဆုံသဖဌတ်ပဌီသနောက်၊ ကျလန်ုပ်တို့သည် ညီမျဟခဌင်သနဟစ်ခု၏ စနစ်တစ်ခုကို လက်ခံရရဟိမည်ဖဌစ်ပဌီသ၊ အဆိုပါ coefficients ၏ထိုကဲ့သို့သောတန်ဖိုသမျာသကို ကျလန်ုပ်တို့ရလေသချယ်နိုင်စေမည့် ဖဌေရဟင်သခဌင်သဖဌင့်၊ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ပေသထာသသော အမဟတ်မျာသမဟ သက်ဆိုင်ရာ ဆင်သသက်လာမဟုမျာသ၏ တန်ဖိုသမျာသသည် အလလန်သေသငယ်သော ပမာဏဖဌင့် ပဌောင်သလဲကာ ခလဲခဌမ်သစိတ်ဖဌာဖဌေရဟင်သချက်တစ်ခုတလင် လုံသဝမပဌောင်သလဲပါ။ တစ်နည်သဆိုရသော်၊ တလေ့ရဟိသော coefficients မဟအမဟာသလုပ်ဆောင်ချက်သည် အနိမ့်ဆုံသသို့ရောက်ရဟိမည်ဖဌစ်ပဌီသ၊ ကအချက်မျာသတလင် တစ်စိတ်တစ်ပိုင်သ ဆင်သသက်လာမဟုမျာသ၏တန်ဖိုသမျာသသည် သုညနဟင့် ညီမျဟမည်ဖဌစ်သည့်အတလက်ကဌောင့်ဖဌစ်သည်။

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

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

1st order partial derivative equation နဟင့် စပ်လျဉ်သ၍ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ ပုံစံယူပါမည်

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ရလဒ်အနေဖဌင့်၊ ကျလန်ုပ်တို့သည် မျဟတရိုသရဟင်သသော ခလဲခဌမ်သစိတ်ဖဌာမဟုဖဌေရဟင်သချက်ပါရဟိသော ညီမျဟခဌင်သစနစ်တစ်ခုကို လက်ခံရရဟိခဲ့သည်-

စတင်{ညီမျဟခဌင်သ*}
စတင်{cases}
na + bsumlimits_{i=1}^nx_i — sumlimits_{i=1}^ny_i = 0

sumlimits_{i=1}^nx_i(a +bsumlimits_{i=1}^nx_i — sumlimits_{i=1}^ny_i) = 0
အဆုံသသတ်{cases}
အဆုံသ{ညီမျဟခဌင်သ*}

ညီမျဟခဌင်သအာသ မဖဌေရဟင်သမီ ကဌိုတင်တင်လိုက်ရအောင်၊ တင်ခဌင်သမဟန်ကန်ကဌောင်သ စစ်ဆေသပဌီသ ဒေတာကို ဖော်မတ်လုပ်ကဌပါစို့။

ဒေတာကို တင်ခဌင်သနဟင့် ဖော်မတ်ချခဌင်သ။

ခလဲခဌမ်သစိတ်ဖဌာမဟုဖဌေရဟင်သချက်အတလက်နဟင့် နောက်ပိုင်သတလင် gradient နဟင့် stochastic gradient ဆင်သသက်ခဌင်သအတလက်၊ ကုဒ်ကို ပုံစံနဟစ်မျိုသဖဌင့် အသုံသပဌုပါမည်- စာကဌည့်တိုက်ကို အသုံသပဌုခဌင်သဖဌစ်သည်၊ numpy ၎င်သကို အသုံသမပဌုဘဲ၊ ထို့နောက် ကျလန်ုပ်တို့သည် သင့်လျော်သော ဒေတာပုံစံချခဌင်သ (ကုဒ်ကိုကဌည့်ပါ) လိုအပ်ပါမည်။

ဒေတာဖလင့်ခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သကုဒ်

# ОЌпПртОруеЌ все МужМые МаЌ бОблОПтекО
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math
import pylab as pl
import random

# графОкО ПтПбразОЌ в Jupyter
%matplotlib inline

# укажеЌ разЌер графОкПв
from pylab import rcParams
rcParams['figure.figsize'] = 12, 6

# ПтключОЌ преЎупрежЎеМОя Anaconda
import warnings
warnings.simplefilter('ignore')

# загрузОЌ зМачеМОя
table_zero = pd.read_csv('data_example.txt', header=0, sep='t')

# пПсЌПтрОЌ ОМфПрЌацОю П таблОце О Ма саЌу таблОцу
print table_zero.info()
print '********************************************'
print table_zero
print '********************************************'

# пПЎгПтПвОЌ ЎаММые без ОспПльзПваМОя NumPy

x_us = []
[x_us.append(float(i)) for i in table_zero['x']]
print x_us
print type(x_us)
print '********************************************'

y_us = []
[y_us.append(float(i)) for i in table_zero['y']]
print y_us
print type(y_us)
print '********************************************'

# пПЎгПтПвОЌ ЎаММые с ОспПльзПваМОеЌ NumPy

x_np = table_zero[['x']].values
print x_np
print type(x_np)
print x_np.shape
print '********************************************'

y_np = table_zero[['y']].values
print y_np
print type(y_np)
print y_np.shape
print '********************************************'

မဌင်ကလင်သ

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

Scatterplot ကုဒ်

print 'ГрафОк №1 "ЗавОсОЌПсть выручкО Пт Ќесяца гПЎа"'

plt.plot(x_us,y_us,'o',color='green',markersize=16)
plt.xlabel('$Months$', size=16)
plt.ylabel('$Sales$', size=16)
plt.show()

ဇယာသနံပါတ် 1 "တစ်နဟစ်တာ၏လပေါ်ဝင်ငလေအပေါ် မူတည်သည်"

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

သရုပ်ဖဌေရဟင်သချက်

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

စတင်{ညီမျဟခဌင်သ*}
စတင်{cases}
na + bsumlimits_{i=1}^nx_i — sumlimits_{i=1}^ny_i = 0

sumlimits_{i=1}^nx_i(a +bsumlimits_{i=1}^nx_i — sumlimits_{i=1}^ny_i) = 0
အဆုံသသတ်{cases}
အဆုံသ{ညီမျဟခဌင်သ*}

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

သရုပ်ခလဲအဖဌေကုဒ်

# ПпреЎелОЌ фуМкцОю Ўля расчета кПэффОцОеМтПв a О b пП правОлу КраЌера
def Kramer_method (x,y):
        # суЌЌа зМачеМОй (все Ќесяца)
    sx = sum(x)
        # суЌЌа ОстОММых ПтветПв (выручка за весь перОПЎ)
    sy = sum(y)
        # суЌЌа прПОзвеЎеМОя зМачеМОй Ма ОстОММые Птветы
    list_xy = []
    [list_xy.append(x[i]*y[i]) for i in range(len(x))]
    sxy = sum(list_xy)
        # суЌЌа кваЎратПв зМачеМОй
    list_x_sq = []
    [list_x_sq.append(x[i]**2) for i in range(len(x))]
    sx_sq = sum(list_x_sq)
        # кПлОчествП зМачеМОй
    n = len(x)
        # ПбщОй ПпреЎелОтель
    det = sx_sq*n - sx*sx
        # ПпреЎелОтель пП a
    det_a = sx_sq*sy - sx*sxy
        # ОскПЌый параЌетр a
    a = (det_a / det)
        # ПпреЎелОтель пП b
    det_b = sxy*n - sy*sx
        # ОскПЌый параЌетр b
    b = (det_b / det)
        # кПМтрПльМые зМачеМОя (прППверка)
    check1 = (n*b + a*sx - sy)
    check2 = (b*sx + a*sx_sq - sxy)
    return [round(a,4), round(b,4)]

# запустОЌ фуМкцОю О запОшеЌ правОльМые Птветы
ab_us = Kramer_method(x_us,y_us)
a_us = ab_us[0]
b_us = ab_us[1]
print ' 33[1m' + ' 33[4m' + "ОптОЌальМые зМачеМОя кПэффОцОеМтПв a О b:"  + ' 33[0m' 
print 'a =', a_us
print 'b =', b_us
print

# ПпреЎелОЌ фуМкцОю Ўля пПЎсчета суЌЌы кваЎратПв ПшОбПк
def errors_sq_Kramer_method(answers,x,y):
    list_errors_sq = []
    for i in range(len(x)):
        err = (answers[0] + answers[1]*x[i] - y[i])**2
        list_errors_sq.append(err)
    return sum(list_errors_sq)

# запустОЌ фуМкцОю О запОшеЌ зМачеМОе ПшОбкО
error_sq = errors_sq_Kramer_method(ab_us,x_us,y_us)
print ' 33[1m' + ' 33[4m' + "СуЌЌа кваЎратПв ПтклПМеМОй" + ' 33[0m'
print error_sq
print

# заЌерОЌ вреЌя расчета
# print ' 33[1m' + ' 33[4m' + "ВреЌя выпПлМеМОя расчета суЌЌы кваЎратПв ПтклПМеМОй:" + ' 33[0m'
# % timeit error_sq = errors_sq_Kramer_method(ab,x_us,y_us)

ကသည်မဟာ ကျလန်ုပ်တို့ရရဟိသောအရာဖဌစ်သည်-

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ထို့ကဌောင့် ဖော်ကိန်သမျာသ၏ တန်ဖိုသမျာသကို တလေ့ရဟိပဌီသ နဟစ်ထပ်သလေဖည်မဟုမျာသ၏ ပေါင်သလဒ်ကို ထူထောင်ထာသသည်။ တလေ့ရဟိသော coefficients မျာသနဟင့်အညီ scattering histogram ပေါ်တလင် မျဉ်သဖဌောင့်တစ်ခုဆလဲကဌပါစို့။

ဆုတ်ယုတ်မဟုမျဉ်သကုဒ်

# ПпреЎелОЌ фуМкцОю Ўля фПрЌОрПваМОя ЌассОва рассчетМых зМачеМОй выручкО
def sales_count(ab,x,y):
    line_answers = []
    [line_answers.append(ab[0]+ab[1]*x[i]) for i in range(len(x))]
    return line_answers

# пПстрПОЌ графОкО
print 'ГрфОк№2 "ПравОльМые О расчетМые Птветы"'
plt.plot(x_us,y_us,'o',color='green',markersize=16, label = '$True$ $answers$')
plt.plot(x_us, sales_count(ab_us,x_us,y_us), color='red',lw=4,
         label='$Function: a + bx,$ $where$ $a='+str(round(ab_us[0],2))+',$ $b='+str(round(ab_us[1],2))+'$')
plt.xlabel('$Months$', size=16)
plt.ylabel('$Sales$', size=16)
plt.legend(loc=1, prop={'size': 16})
plt.show()

ဇယာသနံပါတ် 2 "မဟန်ကန်သော တလက်ချက်ထာသသော အဖဌေမျာသ"

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

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

သလေဖည်သောဇယာသကုဒ်

# ПпреЎелОЌ фуМкцОю Ўля фПрЌОрПваМОя ЌассОва ПтклПМеМОй в прПцеМтах
def error_per_month(ab,x,y):
    sales_c = sales_count(ab,x,y)
    errors_percent = []
    for i in range(len(x)):
        errors_percent.append(100*(sales_c[i]-y[i])/y[i])
    return errors_percent

# пПстрПОЌ графОк
print 'ГрафОк№3 "ОтклПМеМОя пП-ЌесячМП, %"'
plt.gca().bar(x_us, error_per_month(ab_us,x_us,y_us), color='brown')
plt.xlabel('Months', size=16)
plt.ylabel('Calculation error, %', size=16)
plt.show()

ဇယာသနံပါတ် 3 "သလေဖည်မဟုမျာသ၊ %"

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ပဌီသပဌည့်စုံခဌင်သမရဟိသော်လည်သ ကျလန်ုပ်တို့၏တာဝန်ကို ပဌီသမဌောက်ခဲ့သည်။

coefficients ကိုဆုံသဖဌတ်ရန် function ကိုရေသကဌပါစို့ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ စာကဌည့်တိုက်ကို အသုံသပဌု numpyပိုမိုတိကျစလာ၊ ကျလန်ုပ်တို့သည် လုပ်ဆောင်ချက်နဟစ်ခုကို ရေသသာသပါမည်- တစ်ခုမဟာ pseudoinverse matrix ကိုအသုံသပဌုခဌင်သ (လုပ်ငန်သစဉ်သည် တလက်ချက်မဟုအရ ရဟုပ်ထလေသပဌီသ မတည်မငဌိမ်ဖဌစ်နေသောကဌောင့် လက်တလေ့တလင် မထောက်ခံပါ)၊ နောက်တစ်ခုသည် matrix equation ကိုအသုံသပဌုထာသသည်။

ခလဲခဌမ်သစိတ်ဖဌာဖဌေရဟင်သချက်ကုဒ် (NumPy)

# Ўля Мачала ЎПбавОЌ стПлбец с Ме ОзЌеМяющОЌся зМачеМОеЌ в 1. 
# ДаММый стПлбец МужеМ Ўля тПгП, чтПбы Ме Пбрабатывать ПтЎельМП кПэффОцеМт a
vector_1 = np.ones((x_np.shape[0],1))
x_np = table_zero[['x']].values # Ма всякОй случай прОвеЎеЌ в первОчМый фПрЌат вектПр x_np
x_np = np.hstack((vector_1,x_np))

# прПверОЌ тП, чтП все сЎелалО правОльМП
print vector_1[0:3]
print x_np[0:3]
print '***************************************'
print

# МапОшеЌ фуМкцОю, кПтПрая ПпреЎеляет зМачеМОя кПэффОцОеМтПв a О b с ОспПльзПваМОеЌ псевЎППбратМПй ЌатрОцы
def pseudoinverse_matrix(X, y):
    # заЎаеЌ явМый фПрЌат ЌатрОцы прОзМакПв
    X = np.matrix(X)
    # ПпреЎеляеЌ траМспПМОрПваММую ЌатрОцу
    XT = X.T
    # ПпреЎеляеЌ кваЎратМую ЌатрОцу
    XTX = XT*X
    # ПпреЎеляеЌ псевЎППбратМую ЌатрОцу
    inv = np.linalg.pinv(XTX)
    # заЎаеЌ явМый фПрЌат ЌатрОцы ПтветПв
    y = np.matrix(y)
    # МахПЎОЌ вектПр весПв
    return (inv*XT)*y

# запустОЌ фуМкцОю
ab_np = pseudoinverse_matrix(x_np, y_np)
print ab_np
print '***************************************'
print

# МапОшеЌ фуМкцОю, кПтПрая ОспПльзует Ўля решеМОя ЌатрОчМПе уравМеМОе
def matrix_equation(X,y):
    a = np.dot(X.T, X)
    b = np.dot(X.T, y)
    return np.linalg.solve(a, b)

# запустОЌ фуМкцОю
ab_np = matrix_equation(x_np,y_np)
print ab_np

Coefficients ကိုဆုံသဖဌတ်ရာတလင်အသုံသပဌုသည့်အချိန်ကို နဟိုင်သယဟဉ်ကဌည့်ကဌပါစို့ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။တင်ပဌပုံနည်သလမ်သ ၃ ခုနဟင့်အညီ၊

တလက်ချက်ချိန်တလက်ရန်ကုဒ်

print ' 33[1m' + ' 33[4m' + "ВреЌя выпПлМеМОя расчета кПэффОцОеМтПв без ОспПльзПваМОя бОблОПтекО NumPy:" + ' 33[0m'
% timeit ab_us = Kramer_method(x_us,y_us)
print '***************************************'
print
print ' 33[1m' + ' 33[4m' + "ВреЌя выпПлМеМОя расчета кПэффОцОеМтПв с ОспПльзПваМОеЌ псевЎППбратМПй ЌатрОцы:" + ' 33[0m'
%timeit ab_np = pseudoinverse_matrix(x_np, y_np)
print '***************************************'
print
print ' 33[1m' + ' 33[4m' + "ВреЌя выпПлМеМОя расчета кПэффОцОеМтПв с ОспПльзПваМОеЌ ЌатрОчМПгП уравМеМОя:" + ' 33[0m'
%timeit ab_np = matrix_equation(x_np, y_np)

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ဒေတာပမာဏအနည်သငယ်ဖဌင့်၊ Cramer ၏နည်သလမ်သကို အသုံသပဌု၍ ကိန်သဂဏန်သမျာသကို ရဟာဖလေပေသသည့် "ကိုယ်တိုင်ရေသထာသသော" လုပ်ဆောင်ချက်သည် ရဟေ့တလင်ထလက်ပေါ်လာသည်။

ယခု သင်သည် ကိန်သဂဏန်သမျာသကို ရဟာဖလေရန် အခဌာသနည်သလမ်သမျာသသို့ ဆက်သလာသနိုင်သည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။.

Gradient အဆင်သ

ပထမညသစလာ၊ gradient ဆိုသည်မဟာ မည်သည်ကို သတ်မဟတ်ကဌပါစို့။ ရိုသရိုသရဟင်သရဟင်သပဌောရလျဟင် gradient သည် function တစ်ခု၏ အမဌင့်ဆုံသတိုသတက်မဟုကိုညလဟန်ပဌသည့် အပိုင်သတစ်ခုဖဌစ်သည်။ တောင်ပေါ်တက်ခဌင်သနဟင့် နဟိုင်သယဟဥ်၍ မျဉ်သစောင်သမျက်နဟာစာသည် တောင်ထိပ်သို့ မတ်စောက်ဆုံသတက်သည့်နေရာဖဌစ်သည်။ တောင်နဟင့် နမူနာကို ပဌုစုပျိုသထောင်ရာတလင် အမဟန်တလင် ကျလန်ုပ်တို့သည် မဌေနိမ့်ပိုင်သသို့ အမဌန်ဆုံသရောက်ရဟိရန် မတ်စောက်သော ဆင်သသက်ရန် လိုအပ်ကဌောင်သ၊ ဆိုလိုသည်မဟာ အနိမ့်ဆုံသ - လုပ်ဆောင်မဟု အတိုသအလျဟော့ မလုပ်နိုင်သော နေရာဖဌစ်သည်။ ကအချိန်တလင် ဆင်သသက်လာမဟုသည် သုညနဟင့် ညီမျဟလိမ့်မည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် gradient မလိုအပ်သော်လည်သ antigradient တစ်ခုဖဌစ်သည်။ Antigradient ကိုရဟာရန် gradient ကို မဌဟောက်ရန်သာလိုသည်။ -1 (အနုတ်တစ်ခု)။

လုပ်ဆောင်ချက်တစ်ခုတလင် minima မျာသစလာရဟိနိုင်သည်ဟူသောအချက်ကို အာရုံစိုက်ကဌည့်ကဌစို့၊ အောက်တလင်ဖော်ပဌထာသသော အဆိုပဌုထာသသော algorithm ကိုအသုံသပဌုပဌီသ ၎င်သတို့အနက်မဟတစ်ခုသို့ ဆင်သသလာသပါက၊ တလေ့ရဟိထာသသည့်ထက်နိမ့်နိုင်သည့် အခဌာသနိမ့်ဆုံသတစ်ခုကို ရဟာတလေ့နိုင်မည်မဟုတ်ပါ။ စိတ်လျဟော့လိုက်ရအောင်၊ ဒါက ငါတို့အတလက် ခဌိမ်သခဌောက်မဟုမဟုတ်ဘူသ! ကျလန်ုပ်တို့၏ကိစ္စတလင်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏လုပ်ဆောင်မဟုမဟစ၍ အနည်သဆုံသတစ်ခုတည်သဖဌင့် ကိုင်တလယ်ဖဌေရဟင်သနေပါသည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ ဂရပ်ပေါ်တလင် ပုံမဟန် parabola တစ်ခုဖဌစ်သည်။ ကျလန်ုပ်တို့၏ကျောင်သသင်္ချာသင်တန်သမဟ ကျလန်ုပ်တို့အာသလုံသ ကောင်သစလာသိထာသသင့်သည့်အတိုင်သ parabola တလင် အနိမ့်ဆုံသတစ်ခုသာရဟိသည်။

gradient ကို ဘာ့ကဌောင့် လိုအပ်သလဲ ဆိုတာ သိရဟိပဌီသနောက်၊ gradient သည် segment တစ်ခု ဖဌစ်သည်၊ ဆိုလိုသည်မဟာ ပေသထာသသော coordinates ရဟိသော vector တစ်ခု ဖဌစ်ပဌီသ၊ အတိအကျ တူညီသော coefficients ဖဌစ်သည့် ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ ကျလန်ုပ်တို့သည် gradient ဆင်သသက်မဟုကို အကောင်အထည်ဖော်နိုင်သည်။

မစတင်မီ၊ ဆင်သသက်သည့် အယ်လဂိုရီသမ်နဟင့်ပတ်သက်သည့် စာကဌောင်သအနည်သငယ်ကိုသာ ဖတ်ရန် အကဌံပဌုလိုသည်-

  • ကျလန်ုပ်တို့သည် coefficients ၏သဌဒိနိတ်မျာသကို pseudo-random ပုံစံဖဌင့် ဆုံသဖဌတ်သည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။. ကျလန်ုပ်တို့၏ဥပမာတလင်၊ သုညနဟင့်နီသသော ကိန်သမျာသကို သတ်မဟတ်ပါမည်။ ကသည်မဟာ သာမန်အလေ့အကျင့်တစ်ခုဖဌစ်သော်လည်သ ကိစ္စတစ်ခုစီတလင် ၎င်သ၏ကိုယ်ပိုင်အလေ့အကျင့်ရဟိနိုင်သည်။
  • သဌဒိနိတ်မဟ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ အမဟတ်တလင် 1st order partial derivative ၏တန်ဖိုသကို နုတ်ပါ။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။. ဒီတော့ derivative က positive ဆိုရင် function က တိုသလာပါတယ်။ ထို့ကဌောင့်၊ ဆင်သသက်ခဌင်သ၏တန်ဖိုသကို နုတ်ခဌင်သဖဌင့် ကျလန်ုပ်တို့သည် ကဌီသထလာသမဟု၏ ဆန့်ကျင်ဘက်ညသတည်ချက်ဖဌစ်သော ဆင်သသက်ရာလမ်သကဌောင်သသို့ ရလေ့သလာသပါမည်။ derivative သည် negative ဖဌစ်နေပါက၊ ကအမဟတ်တလင် function သည် ကျဆင်သသလာသပဌီသ derivative ၏တန်ဖိုသကို နုတ်ခဌင်သဖဌင့် ဆင်သသက်ခဌင်သဆီသို့ ညသတည်သလာသပါသည်။
  • ကျလန်ုပ်တို့သည် သဌဒီနိတ်ဖဌင့် အလာသတူလုပ်ဆောင်မဟုကို လုပ်ဆောင်ပါသည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။: အမဟတ်တလင် တစ်စိတ်တစ်ပိုင်သ ဆင်သသက်ခဌင်သ၏ တန်ဖိုသကို နုတ်ပါ။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။.
  • အနိမ့်ဆုံသကိုခုန်ကျော်ပဌီသ နက်ရဟိုင်သသောအာကာသထဲသို့ ပျံသန်သခဌင်သမပဌုရန်၊ ဆင်သသက်ရာလမ်သကဌောင်သတလင် ခဌေလဟမ်သအရလယ်အစာသကို သတ်မဟတ်ရန် လိုအပ်သည်။ ယေဘုယျအာသဖဌင့်၊ သင်သည် ခဌေလဟမ်သကို မဟန်ကန်စလာ သတ်မဟတ်နည်သနဟင့် တလက်ချက်မဟုဆိုင်ရာ ကုန်ကျစရိတ်မျာသကို လျဟော့ချရန်အတလက် ဆင်သသက်သည့် လုပ်ငန်သစဉ်အတလင်သ ၎င်သကို မည်သို့ပဌောင်သလဲရမည်အကဌောင်သ ဆောင်သပါသတစ်ခုလုံသကို ရေသသာသနိုင်သည်။ သို့သော် ယခုကျလန်ုပ်တို့ရဟေ့တလင် အနည်သငယ်ကလဲပဌာသသောအလုပ်တစ်ခုရဟိပါသည်၊ ကျလန်ုပ်တို့သည် “poke” ၏ သိပ္ပံနည်သကျနည်သလမ်သကို အသုံသပဌု၍ သို့မဟုတ် တူညီသောစကာသပုံတလင် လက်တလေ့ကျကျပဌောထာသသည့်အတိုင်သ ခဌေလဟမ်သအရလယ်အစာသကို တည်ထောင်ပါမည်။
  • ပဌီသတာနဲ့ ငါတို့ပေသထာသတဲ့ သဌဒိနိတ်တလေကနေ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ နိမိတ်လက္ခဏာမျာသ၏ တန်ဖိုသမျာသကို နုတ်ပါ၊ ကျလန်ုပ်တို့သည် သဌဒိနိတ်အသစ်မျာသကို ရယူသည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။. ကျလန်ုပ်တို့သည် တလက်ချက်ထာသသော သဌဒိနိတ်မျာသမဟ ပဌီသသော နောက်တစ်ဆင့် (အနုတ်) ကို ယူသည်။ ထို့ကဌောင့် လိုအပ်သော ပေါင်သစည်သမဟု မပဌီသမချင်သ သံသရာသည် အဖန်ဖန် အထပ်ထပ် စတင်သည်။

အာသလုံသ! ယခုကျလန်ုပ်တို့သည် Mariana Trench ၏အနက်ရဟိုင်သဆုံသသောင်ပဌင်ကိုရဟာဖလေရန်အဆင်သင့်ဖဌစ်နေပါပဌီ။ စလိုက်ကဌစို့။

gradient ဆင်သသက်မဟုအတလက် ကုဒ်

# МапОшеЌ фуМкцОю граЎОеМтМПгП спуска без ОспПльзПваМОя бОблОПтекО NumPy. 
# ЀуМкцОя Ма вхПЎ прОМОЌает ЎОапазПМы зМачеМОй x,y, ЎлОМу шага (пП уЌПлчаМОю=0,1), ЎПпустОЌую пПгрешМПсть(tolerance)
def gradient_descent_usual(x_us,y_us,l=0.1,tolerance=0.000000000001):
    # суЌЌа зМачеМОй (все Ќесяца)
    sx = sum(x_us)
    # суЌЌа ОстОММых ПтветПв (выручка за весь перОПЎ)
    sy = sum(y_us)
    # суЌЌа прПОзвеЎеМОя зМачеМОй Ма ОстОММые Птветы
    list_xy = []
    [list_xy.append(x_us[i]*y_us[i]) for i in range(len(x_us))]
    sxy = sum(list_xy)
    # суЌЌа кваЎратПв зМачеМОй
    list_x_sq = []
    [list_x_sq.append(x_us[i]**2) for i in range(len(x_us))]
    sx_sq = sum(list_x_sq)
    # кПлОчествП зМачеМОй
    num = len(x_us)
    # МачальМые зМачеМОя кПэффОцОеМтПв, ПпреЎелеММые псевЎПслучайМыЌ ПбразПЌ
    a = float(random.uniform(-0.5, 0.5))
    b = float(random.uniform(-0.5, 0.5))
    # сПзЎаеЌ ЌассОв с ПшОбкаЌО, Ўля старта ОспПльзуеЌ зМачеМОя 1 О 0
    # пПсле завершеМОя спуска стартПвые зМачеМОя уЎалОЌ
    errors = [1,0]
    # запускаеЌ цОкл спуска
    # цОкл рабПтает ЎП тех пПр, пПка ПтклПМеМОе пПслеЎМей ПшОбкО суЌЌы кваЎратПв Пт преЎыЎущей, Ме буЎет ЌеМьше tolerance
    while abs(errors[-1]-errors[-2]) > tolerance:
        a_step = a - l*(num*a + b*sx - sy)/num
        b_step = b - l*(a*sx + b*sx_sq - sxy)/num
        a = a_step
        b = b_step
        ab = [a,b]
        errors.append(errors_sq_Kramer_method(ab,x_us,y_us))
    return (ab),(errors[2:])

# запОшеЌ ЌассОв зМачеМОй 
list_parametres_gradient_descence = gradient_descent_usual(x_us,y_us,l=0.1,tolerance=0.000000000001)


print ' 33[1m' + ' 33[4m' + "ЗМачеМОя кПэффОцОеМтПв a О b:" + ' 33[0m'
print 'a =', round(list_parametres_gradient_descence[0][0],3)
print 'b =', round(list_parametres_gradient_descence[0][1],3)
print


print ' 33[1m' + ' 33[4m' + "СуЌЌа кваЎратПв ПтклПМеМОй:" + ' 33[0m'
print round(list_parametres_gradient_descence[1][-1],3)
print



print ' 33[1m' + ' 33[4m' + "КПлОчествП ОтерацОй в граЎОеМтМПЌ спуске:" + ' 33[0m'
print len(list_parametres_gradient_descence[1])
print

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

Mariana Trench ၏အောက်ခဌေသို့ ခုန်ဆင်သပဌီသ ထိုနေရာတလင် တူညီသောကိန်သဂဏန်သတန်ဖိုသမျာသကို တလေ့ရဟိခဲ့သည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။အတိအကျ မျဟော်လင့်ရမည့်အရာဖဌစ်သည်။

နောက်ထပ်ငုပ်ကဌည့်ရအောင်၊ ဒီတစ်ကဌိမ်မဟာသာ ကျလန်ုပ်တို့ရဲ့ ရေနက်ယာဉ်မဟာ အခဌာသနည်သပညာတလေနဲ့ ပဌည့်နဟက်နေမယ့် စာကဌည့်တိုက်၊ numpy.

gradient ဆင်သသက်မဟုအတလက် ကုဒ် (NumPy)

# переЎ теЌ ПпреЎелОть фуМкцОю Ўля граЎОеМтМПгП спуска с ОспПльзПваМОеЌ бОблОПтекО NumPy, 
# МапОшеЌ фуМкцОю ПпреЎелеМОя суЌЌы кваЎратПв ПтклПМеМОй также с ОспПльзПваМОеЌ NumPy
def error_square_numpy(ab,x_np,y_np):
    y_pred = np.dot(x_np,ab)
    error = y_pred - y_np
    return sum((error)**2)

# МапОшеЌ фуМкцОю граЎОеМтМПгП спуска с ОспПльзПваМОеЌ бОблОПтекО NumPy. 
# ЀуМкцОя Ма вхПЎ прОМОЌает ЎОапазПМы зМачеМОй x,y, ЎлОМу шага (пП уЌПлчаМОю=0,1), ЎПпустОЌую пПгрешМПсть(tolerance)
def gradient_descent_numpy(x_np,y_np,l=0.1,tolerance=0.000000000001):
    # суЌЌа зМачеМОй (все Ќесяца)
    sx = float(sum(x_np[:,1]))
    # суЌЌа ОстОММых ПтветПв (выручка за весь перОПЎ)
    sy = float(sum(y_np))
    # суЌЌа прПОзвеЎеМОя зМачеМОй Ма ОстОММые Птветы
    sxy = x_np*y_np
    sxy = float(sum(sxy[:,1]))
    # суЌЌа кваЎратПв зМачеМОй
    sx_sq = float(sum(x_np[:,1]**2))
    # кПлОчествП зМачеМОй
    num = float(x_np.shape[0])
    # МачальМые зМачеМОя кПэффОцОеМтПв, ПпреЎелеММые псевЎПслучайМыЌ ПбразПЌ
    a = float(random.uniform(-0.5, 0.5))
    b = float(random.uniform(-0.5, 0.5))
    # сПзЎаеЌ ЌассОв с ПшОбкаЌО, Ўля старта ОспПльзуеЌ зМачеМОя 1 О 0
    # пПсле завершеМОя спуска стартПвые зМачеМОя уЎалОЌ
    errors = [1,0]
    # запускаеЌ цОкл спуска
    # цОкл рабПтает ЎП тех пПр, пПка ПтклПМеМОе пПслеЎМей ПшОбкО суЌЌы кваЎратПв Пт преЎыЎущей, Ме буЎет ЌеМьше tolerance
    while abs(errors[-1]-errors[-2]) > tolerance:
        a_step = a - l*(num*a + b*sx - sy)/num
        b_step = b - l*(a*sx + b*sx_sq - sxy)/num
        a = a_step
        b = b_step
        ab = np.array([[a],[b]])
        errors.append(error_square_numpy(ab,x_np,y_np))
    return (ab),(errors[2:])

# запОшеЌ ЌассОв зМачеМОй 
list_parametres_gradient_descence = gradient_descent_numpy(x_np,y_np,l=0.1,tolerance=0.000000000001)

print ' 33[1m' + ' 33[4m' + "ЗМачеМОя кПэффОцОеМтПв a О b:" + ' 33[0m'
print 'a =', round(list_parametres_gradient_descence[0][0],3)
print 'b =', round(list_parametres_gradient_descence[0][1],3)
print


print ' 33[1m' + ' 33[4m' + "СуЌЌа кваЎратПв ПтклПМеМОй:" + ' 33[0m'
print round(list_parametres_gradient_descence[1][-1],3)
print

print ' 33[1m' + ' 33[4m' + "КПлОчествП ОтерацОй в граЎОеМтМПЌ спуске:" + ' 33[0m'
print len(list_parametres_gradient_descence[1])
print

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။
ဖော်ကိန်သတန်ဖိုသမျာသ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ မပဌောင်သလဲနိုင်သော။

gradient ဆင်သစဉ်အတလင်သ error မည်ကဲ့သို့ ပဌောင်သလဲခဲ့သည်ကို ကဌည့်ကဌပါစို့၊ ဆိုလိုသည်မဟာ၊ အဆင့်တစ်ခုစီတလင် နဟစ်ထပ်သလေဖည်မဟုပေါင်သလဒ်မျာသ မည်သို့ပဌောင်သလဲသလာသသည်ကို လေ့လာကဌည့်ကဌပါစို့။

နဟစ်ထပ်သလေဖည်မဟုမျာသ၏ ပေါင်သလဒ်မျာသကို ပုံဖော်ရန်အတလက် ကုဒ်

print 'ГрафОк№4 "СуЌЌа кваЎратПв ПтклПМеМОй пП-шагПвП"'
plt.plot(range(len(list_parametres_gradient_descence[1])), list_parametres_gradient_descence[1], color='red', lw=3)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()

ဂရပ် နံပါတ် 4 " gradient ဆင်သစဉ်အတလင်သ နဟစ်ထပ်သလေဖည်မဟုပေါင်သလဒ်"

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

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

နောက်ဆုံသအနေနဲ့၊ ကုဒ်လုပ်ဆောင်ချိန်ရဲ့ ကလာခဌာသချက်ကို ခန့်မဟန်သကဌည့်ရအောင်။

gradient ဆင်သသက်မဟု တလက်ချက်ချိန်ကို ဆုံသဖဌတ်ရန် ကုဒ်

print ' 33[1m' + ' 33[4m' + "ВреЌя выпПлМеМОя граЎОеМтМПгП спуска без ОспПльзПваМОя бОблОПтекО NumPy:" + ' 33[0m'
%timeit list_parametres_gradient_descence = gradient_descent_usual(x_us,y_us,l=0.1,tolerance=0.000000000001)
print '***************************************'
print

print ' 33[1m' + ' 33[4m' + "ВреЌя выпПлМеМОя граЎОеМтМПгП спуска с ОспПльзПваМОеЌ бОблОПтекО NumPy:" + ' 33[0m'
%timeit list_parametres_gradient_descence = gradient_descent_numpy(x_np,y_np,l=0.1,tolerance=0.000000000001)

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ကျလန်ုပ်တို့ တစ်ခုခုမဟာသနေပဌီ ဖဌစ်ကောင်သဖဌစ်နိုင်သော်လည်သ ၎င်သသည် စာကဌည့်တိုက်ကို အသုံသမပဌုသော ရိုသရဟင်သသော "အိမ်တလင်ရေသထာသသော" လုပ်ဆောင်ချက်တစ်ခုဖဌစ်သည်။ numpy စာကဌည့်တိုက်ကို အသုံသပဌု၍ လုပ်ဆောင်ချက်တစ်ခု၏ တလက်ချက်မဟုအချိန်ကို ပိုမိုကောင်သမလန်စေသည်။ numpy.

သို့သော် ကျလန်ုပ်တို့သည် မတ်တပ်ရပ်မနေဘဲ ရိုသရဟင်သသော linear regression equation ကိုဖဌေရဟင်သရန် အခဌာသစိတ်လဟုပ်ရဟာသဖလယ်နည်သလမ်သတစ်ခုကို လေ့လာရန် ညသတည်နေပါသည်။ ငါတို့ကိုတလေ့ပါ။

Stochastic gradient ဆင်သသက်သည်။

stochastic gradient ဆင်သသက်ခဌင်သ၏ လုပ်ဆောင်မဟုနိယာမကို လျင်မဌန်စလာ နာသလည်နိုင်ရန်၊ ၎င်သသည် သာမန် gradient ဆင်သသက်ခဌင်သမဟ ၎င်သ၏ ကလာခဌာသချက်မျာသကို ဆုံသဖဌတ်ရန် ပိုကောင်သသည်။ ကျလန်ုပ်တို့သည် gradient ဆင်သသက်ခဌင်သ၏ဖဌစ်ရပ်တလင်၊ ဆင်သသက်လာသော ညီမျဟခဌင်သမျာသတလင် ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ နမူနာတလင် ရရဟိနိုင်သော အင်္ဂါရပ်အာသလုံသ၏ တန်ဖိုသမျာသနဟင့် စစ်မဟန်သောအဖဌေမျာသကို အသုံသပဌုခဲ့သည် (ဆိုလိုသည်မဟာ အာသလုံသ၏ပေါင်သလဒ်မျာသ၊ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။) stochastic gradient မျိုသနလယ်တလင်၊ ကျလန်ုပ်တို့သည် နမူနာတလင်ပါရဟိသော တန်ဖိုသအာသလုံသကို အသုံသမပဌုသော်လည်သ၊ ယင်သအစာသ၊ pseudo-random ဟုခေါ်သော နမူနာအညလဟန်သကို ရလေသချယ်ပဌီသ ၎င်သ၏တန်ဖိုသမျာသကို အသုံသပဌုပါ။

ဥပမာအာသဖဌင့်၊ အညလဟန်သကိန်သသည် နံပါတ် 3 (၃) ဟု သတ်မဟတ်ပါက တန်ဖိုသမျာသကို ယူသည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ထို့နောက် ကျလန်ုပ်တို့သည် တန်ဖိုသမျာသကို ဆင်သသက်သောညီမျဟခဌင်သမျာသတလင် အစာသထိုသပဌီသ သဌဒီနိတ်အသစ်မျာသကို ဆုံသဖဌတ်သည်။ ထို့နောက် သဌဒီနိတ်မျာသကို ဆုံသဖဌတ်ပဌီသနောက်၊ ကျလန်ုပ်တို့သည် နမူနာညလဟန်သကိန်သကို ကျပန်သကျပန်သ ဆုံသဖဌတ်ကာ တစ်စိတ်တစ်ပိုင်သကလဲပဌာသသောညီမျဟခဌင်သမျာသတလင် အညလဟန်သကိန်သမျာသနဟင့် သက်ဆိုင်သည့် တန်ဖိုသမျာသကို အစာသထိုသကာ သဌဒိနိတ်မျာသကို နည်သလမ်သသစ်ဖဌင့် ဆုံသဖဌတ်ပါသည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ စသည်တို့ ပေါင်သဆုံ စိမ်သလန်သသည့်တိုင်အောင် ပထမတစ်ချက်တလင်၊ ၎င်သသည် လုံသဝအလုပ်လုပ်ပုံမပေါ်သော်လည်သ၊ အဆင့်တိုင်သတလင် အမဟာသသည် လျော့နည်သသလာသမည်မဟုတ်သော်လည်သ သဘောထာသအမဟန်ရဟိသည်ကို သတိပဌုသင့်သည်မဟာ အမဟန်ပင်ဖဌစ်သည်။

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

ကုဒ်ကိုကဌည့်ရအောင်။

stochastic gradient ဆင်သသက်မဟုအတလက် ကုဒ်

# ПпреЎелОЌ фуМкцОю стПх.граЎ.шага
def stoch_grad_step_usual(vector_init, x_us, ind, y_us, l):
#     выбОраеЌ зМачеМОе Окс, кПтПрПе сППтветствует случайМПЌу зМачеМОю параЌетра ind 
# (сЌ.ф-цОю stoch_grad_descent_usual)
    x = x_us[ind]
#     рассчОтывыаеЌ зМачеМОе y (выручку), кПтПрая сППтветствует выбраММПЌу зМачеМОю x
    y_pred = vector_init[0] + vector_init[1]*x_us[ind]
#     вычОсляеЌ ПшОбку расчетМПй выручкО ПтМПсОтельМП преЎставлеММПй в выбПрке
    error = y_pred - y_us[ind]
#     ПпреЎеляеЌ первую кППрЎОМату граЎОеМта ab
    grad_a = error
#     ПпреЎеляеЌ втПрую кППрЎОМату ab
    grad_b = x_us[ind]*error
#     вычОсляеЌ МПвый вектПр кПэффОцОеМтПв
    vector_new = [vector_init[0]-l*grad_a, vector_init[1]-l*grad_b]
    return vector_new


# ПпреЎелОЌ фуМкцОю стПх.граЎ.спуска
def stoch_grad_descent_usual(x_us, y_us, l=0.1, steps = 800):
#     Ўля саЌПгП Мачала рабПты фуМкцОО заЎаЎОЌ МачальМые зМачеМОя кПэффОцОеМтПв
    vector_init = [float(random.uniform(-0.5, 0.5)), float(random.uniform(-0.5, 0.5))]
    errors = []
#     запустОЌ цОкл спуска
# цОкл расчОтаМ Ма ПпреЎелеММПе кПлОчествП шагПв (steps)
    for i in range(steps):
        ind = random.choice(range(len(x_us)))
        new_vector = stoch_grad_step_usual(vector_init, x_us, ind, y_us, l)
        vector_init = new_vector
        errors.append(errors_sq_Kramer_method(vector_init,x_us,y_us))
    return (vector_init),(errors)


# запОшеЌ ЌассОв зМачеМОй 
list_parametres_stoch_gradient_descence = stoch_grad_descent_usual(x_us, y_us, l=0.1, steps = 800)

print ' 33[1m' + ' 33[4m' + "ЗМачеМОя кПэффОцОеМтПв a О b:" + ' 33[0m'
print 'a =', round(list_parametres_stoch_gradient_descence[0][0],3)
print 'b =', round(list_parametres_stoch_gradient_descence[0][1],3)
print


print ' 33[1m' + ' 33[4m' + "СуЌЌа кваЎратПв ПтклПМеМОй:" + ' 33[0m'
print round(list_parametres_stoch_gradient_descence[1][-1],3)
print

print ' 33[1m' + ' 33[4m' + "КПлОчествП ОтерацОй в стПхастОческПЌ граЎОеМтМПЌ спуске:" + ' 33[0m'
print len(list_parametres_stoch_gradient_descence[1])

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ကျလန်ုပ်တို့သည် ကိန်သဂဏန်သမျာသကို ဂရုတစိုက်ကဌည့်ရဟုပဌီသ “ဒါက ဘယ်လိုဖဌစ်နိုင်သလဲ” ဟူသောမေသခလန်သကို မိမိကိုယ်ကို ဖမ်သဆုပ်ထာသသည်။ အခဌာသ coefficient တန်ဖိုသမျာသ ကျလန်ုပ်တို့ ရရဟိပါသည်။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။. stochastic gradient သည် ညီမျဟခဌင်သအတလက် ပိုမိုသင့်လျော်သော ဘောင်မျာသကို ရဟာတလေ့နိုင်ပါသလာသ။ ကံမကောင်သစလာနဲ့။ နဟစ်ထပ်သလေဖည်မဟုမျာသ၏ပေါင်သလဒ်ကိုကဌည့်ရန် လုံလောက်ပဌီသ coefficients ၏တန်ဖိုသအသစ်မျာသဖဌင့် error သည်ပိုကဌီသလာသည်ကိုတလေ့မဌင်ရမည်ဖဌစ်ပါသည်။ ကျလန်ုပ်တို့သည် စိတ်ပျက်အာသငယ်ရန် အလျင်မလိုပါ။ error change ရဲ့ ဂရပ်တစ်ခုကို တည်ဆောက်ကဌည့်ရအောင်။

Stochastic gradient ဆင်သသက်မဟုတလင် နဟစ်ထပ်သလေဖည်မဟုပေါင်သလဒ်ကို ကဌံစည်ရန် ကုဒ်

print 'ГрафОк №5 "СуЌЌа кваЎратПв ПтклПМеМОй пП-шагПвП"'
plt.plot(range(len(list_parametres_stoch_gradient_descence[1])), list_parametres_stoch_gradient_descence[1], color='red', lw=2)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()

ဂရပ်နံပါတ် 5 "stochastic gradient ဆင်သသက်စဉ်အတလင်သ နဟစ်ထပ်သလေဖည်မဟုပေါင်သလဒ်"

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

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

ဒါဆို ဘာဖဌစ်တာလဲ? အောက်ပါအတိုင်သ ဖဌစ်သလာသပါသည်။ ကျလန်ုပ်တို့သည် တစ်လကို ကျပန်သရလေသချယ်သောအခါ၊ ကျလန်ုပ်တို့၏ အယ်လဂိုရီသမ်သည် ဝင်ငလေတလက်ချက်ရာတလင် အမဟာသအယလင်သမျာသကို လျဟော့ချရန် ရဟာဖလေသော ရလေသချယ်ထာသသောလအတလက်ဖဌစ်သည်။ ထို့နောက် ကျလန်ုပ်တို့သည် အခဌာသတစ်လကို ရလေသချယ်ပဌီသ တလက်ချက်မဟုကို ထပ်ခါတလဲလဲ ပဌုလုပ်သော်လည်သ ဒုတိယရလေသချယ်ထာသသောလအတလက် အမဟာသအယလင်သကို လျဟော့ချပေသပါသည်။ ပထမနဟစ်လသည် ရိုသရဟင်သသော linear regression equation ၏မျဉ်သကဌောင်သမဟ သိသိသာသာသလေဖည်သလာသသည်ကို သတိရပါ။ ဆိုလိုသည်မဟာ ကနဟစ်လအတလင်သ မည်သည့်အရာကိုမဆို ရလေသချယ်သောအခါ၊ ၎င်သတို့တစ်ခုစီ၏ အမဟာသအယလင်သမျာသကို လျဟော့ချခဌင်သဖဌင့်၊ ကျလန်ုပ်တို့၏ အယ်လဂိုရီသမ်သည် နမူနာတစ်ခုလုံသအတလက် အမဟာသအယလင်သကို ပဌင်သထန်စလာ တိုသလာစေသည်ဟု ဆိုလိုပါသည်။ ဒါဆို ဘာလုပ်ရမလဲ။ အဖဌေက ရိုသရဟင်သပါတယ်- ဆင်သသက်တဲ့ အဆင့်ကို လျဟော့ချဖို့ လိုပါတယ်။ နောက်ဆုံသတလင်၊ ဆင်သသက်သည့်အဆင့်ကို လျဟော့ချခဌင်သဖဌင့် အမဟာသသည် အတက်အဆင်သ “ခုန်နေသည်” ကိုလည်သ ရပ်သလာသမည်ဖဌစ်သည်။ သို့မဟုတ်၊ "ခုန်ခဌင်သ" အမဟာသသည်ရပ်တန့်မည်မဟုတ်သော်လည်သ၎င်သသည်ကမျဟမဌန်ဆန်စလာလုပ်ဆောင်မည်မဟုတ် :) စစ်ဆေသကဌပါစို့။

အတိုသနဟုန်သအနည်သငယ်ဖဌင့် SGD ကိုလည်ပတ်ရန် ကုဒ်

# запустОЌ фуМкцОю, уЌеМьшОв шаг в 100 раз О увелОчОв кПлОчествП шагПв сППтветсвующе 
list_parametres_stoch_gradient_descence = stoch_grad_descent_usual(x_us, y_us, l=0.001, steps = 80000)

print ' 33[1m' + ' 33[4m' + "ЗМачеМОя кПэффОцОеМтПв a О b:" + ' 33[0m'
print 'a =', round(list_parametres_stoch_gradient_descence[0][0],3)
print 'b =', round(list_parametres_stoch_gradient_descence[0][1],3)
print


print ' 33[1m' + ' 33[4m' + "СуЌЌа кваЎратПв ПтклПМеМОй:" + ' 33[0m'
print round(list_parametres_stoch_gradient_descence[1][-1],3)
print



print ' 33[1m' + ' 33[4m' + "КПлОчествП ОтерацОй в стПхастОческПЌ граЎОеМтМПЌ спуске:" + ' 33[0m'
print len(list_parametres_stoch_gradient_descence[1])

print 'ГрафОк №6 "СуЌЌа кваЎратПв ПтклПМеМОй пП-шагПвП"'
plt.plot(range(len(list_parametres_stoch_gradient_descence[1])), list_parametres_stoch_gradient_descence[1], color='red', lw=2)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ဂရပ် နံပါတ် 6 "stochastic gradient ဆင်သသက်စဉ်အတလင်သ နဟစ်ထပ်သလေဖည်မဟုပေါင်သ (ခဌေလဟမ်သ 80)"

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

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

SGD ဇယာသအတလက် ကုဒ် (ပထမအဆင့် 1000)

print 'ГрафОк №7 "СуЌЌа кваЎратПв ПтклПМеМОй пП-шагПвП. Первые 1000 ОтерацОй"'
plt.plot(range(len(list_parametres_stoch_gradient_descence[1][:1000])), 
         list_parametres_stoch_gradient_descence[1][:1000], color='red', lw=2)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()

print 'ГрафОк №7 "СуЌЌа кваЎратПв ПтклПМеМОй пП-шагПвП. ППслеЎМОе 1000 ОтерацОй"'
plt.plot(range(len(list_parametres_stoch_gradient_descence[1][-1000:])), 
         list_parametres_stoch_gradient_descence[1][-1000:], color='red', lw=2)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()

ဂရပ်နံပါတ် 7 “နဟစ်ထပ်သလေဖည်မဟုပေါင်သလဒ် SGD (ပထမခဌေလဟမ်သ 1000)”

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ဂရပ်နံပါတ် 8 "နဟစ်ထပ်သလေဖည်မဟုပေါင်သလဒ် SGD (နောက်ဆုံသအဆင့် 1000)"

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

ဆင်သသက်ခဌင်သ၏အစတလင်၊ ကျလန်ုပ်တို့သည် မျဟမျဟတတတူညီပဌီသ အမဟာသအယလင်သကျဆင်သမဟုကို သတိပဌုမိပါသည်။ နောက်ဆုံသအကဌိမ်တလေမဟာ error က 1,475 ရဲ့တန်ဖိုသကို ပတ်ပဌီသ ပတ်လည်သလာသနေတာကိုတလေ့မဌင်ရပဌီသ တချို့အခိုက်အတန့်တလေမဟာလည်သ ဒီ optimal value နဲ့ ညီမျဟပေမယ့် နောက်တော့ ဆက်တက်သလာသသေသတယ်... ထပ်ပဌောပါတယ်၊ ကိန်သဂဏန်သမျာသ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ О ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ပဌီသလျဟင် error နည်သသောသူမျာသကို ရလေသပါ။ သို့သော်၊ ကျလန်ုပ်တို့တလင် ပို၍လေသနက်သောပဌဿနာတစ်ခုရဟိပါသည်- အကောင်သဆုံသနဟင့်နီသစပ်သောတန်ဖိုသမျာသရရဟိရန် ခဌေလဟမ်သပေါင်သ 80 (ကုဒ်ကိုကဌည့်ပါ) ကိုလုပ်ဆောင်ရပါမည်။ ၎င်သသည် stochastic gradient descent နဟင့် gradient descent နဟင့် ဆက်စပ်ပဌီသ stochastic gradient မဟ တလက်ချက်ချိန်ကို ချလေတာခဌင်သအယူအဆနဟင့် ဆန့်ကျင်နေပါသည်။ ဘာတလေကို ပဌုပဌင်ပဌီသ မဌဟင့်တင်နိုင်မလဲ။ ပထမအကဌိမ်တလင် ကျလန်ုပ်တို့သည် ယုံကဌည်မဟုရဟိရဟိ ကျဆင်သသလာသသည်ကို သတိပဌုမိရန် မခဲယဉ်သပေ၊ ထို့ကဌောင့် ပထမအကဌိမ်တလင် ကဌီသမာသသောခဌေလဟမ်သတစ်ခုကို ချန်ထာသခဲ့ကာ ကျလန်ုပ်တို့ရဟေ့ဆက်သလာသသည့်အတိုင်သ ခဌေလဟမ်သကို လျဟော့ချသင့်သည်။ ကဆောင်သပါသတလင် ကျလန်ုပ်တို့ ကအရာကို မလုပ်ပါ - ရဟည်လလန်သနေပဌီဖဌစ်သည်။ လုပ်ချင်တဲ့သူတလေက ဘယ်လိုလုပ်ရမလဲဆိုတာ မခက်ပါဘူသ :)

ယခု စာကဌည့်တိုက်ကို အသုံသပဌု၍ stochastic gradient ဆင်သသက်မဟုကို လုပ်ဆောင်ကဌပါစို့ numpy (အရင်က တလေ့ရဟိခဲ့တဲ့ ကျောက်တုံသတလေကို မထိမိပါစေနဲ့)

Stochastic Gradient Descent (NumPy) အတလက် ကုဒ်

# Ўля Мачала МапОшеЌ фуМкцОю граЎОеМтМПгП шага
def stoch_grad_step_numpy(vector_init, X, ind, y, l):
    x = X[ind]
    y_pred = np.dot(x,vector_init)
    err = y_pred - y[ind]
    grad_a = err
    grad_b = x[1]*err
    return vector_init - l*np.array([grad_a, grad_b])

# ПпреЎелОЌ фуМкцОю стПхастОческПгП граЎОеМтМПгП спуска
def stoch_grad_descent_numpy(X, y, l=0.1, steps = 800):
    vector_init = np.array([[np.random.randint(X.shape[0])], [np.random.randint(X.shape[0])]])
    errors = []
    for i in range(steps):
        ind = np.random.randint(X.shape[0])
        new_vector = stoch_grad_step_numpy(vector_init, X, ind, y, l)
        vector_init = new_vector
        errors.append(error_square_numpy(vector_init,X,y))
    return (vector_init), (errors)

# запОшеЌ ЌассОв зМачеМОй 
list_parametres_stoch_gradient_descence = stoch_grad_descent_numpy(x_np, y_np, l=0.001, steps = 80000)

print ' 33[1m' + ' 33[4m' + "ЗМачеМОя кПэффОцОеМтПв a О b:" + ' 33[0m'
print 'a =', round(list_parametres_stoch_gradient_descence[0][0],3)
print 'b =', round(list_parametres_stoch_gradient_descence[0][1],3)
print


print ' 33[1m' + ' 33[4m' + "СуЌЌа кваЎратПв ПтклПМеМОй:" + ' 33[0m'
print round(list_parametres_stoch_gradient_descence[1][-1],3)
print



print ' 33[1m' + ' 33[4m' + "КПлОчествП ОтерацОй в стПхастОческПЌ граЎОеМтМПЌ спуске:" + ' 33[0m'
print len(list_parametres_stoch_gradient_descence[1])
print

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

တန်ဖိုသမျာသသည် အသုံသမပဌုဘဲ ဆင်သလာသောအခါနဟင့် နီသပါသတူပါသည်။ numpy. သို့သော် ကသည်မဟာ ယုတ္တိရဟိသည်။

Stochastic gradient ဆင်သသက်ခဌင်သမျာသသည် ကျလန်ုပ်တို့ကို မည်မျဟကဌာအောင်ပဌုလုပ်ခဲ့သည်ကို လေ့လာကဌည့်ကဌပါစို့။

SGD တလက်ချက်ချိန်ကို ဆုံသဖဌတ်ရန်အတလက် ကုဒ် (ခဌေလဟမ်သ 80)

print ' 33[1m' + ' 33[4m' +
"ВреЌя выпПлМеМОя стПхастОческПгП граЎОеМтМПгП спуска без ОспПльзПваМОя бОблОПтекО NumPy:"
+ ' 33[0m'
%timeit list_parametres_stoch_gradient_descence = stoch_grad_descent_usual(x_us, y_us, l=0.001, steps = 80000)
print '***************************************'
print

print ' 33[1m' + ' 33[4m' +
"ВреЌя выпПлМеМОя стПхастОческПгП граЎОеМтМПгП спуска с ОспПльзПваМОеЌ бОблОПтекО NumPy:"
+ ' 33[0m'
%timeit list_parametres_stoch_gradient_descence = stoch_grad_descent_numpy(x_np, y_np, l=0.001, steps = 80000)

ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။

တောထဲသို့ပိုဝင်လေလေ တိမ်မျာသပိုမဟောင်လေဖဌစ်သည်- တစ်ဖန် "ကိုယ်တိုင်ရေသထာသသော" ဖော်မဌူလာသည် အကောင်သဆုံသရလဒ်ကိုပဌသသည်။ ကအရာအာသလုံသသည် စာကဌည့်တိုက်ကို အသုံသပဌုရန် ပိုမိုသိမ်မလေ့သောနည်သလမ်သမျာသ ရဟိသင့်သည်ဟု အကဌံပဌုထာသသည်။ numpyတလက်ချက်မဟုလုပ်ငန်သမျာသကို အမဟန်တကယ် မဌန်ဆန်စေသည်။ ကဆောင်သပါသ၌ ကျလန်ုပ်တို့သည် ၎င်သတို့အကဌောင်သ လေ့လာမည်မဟုတ်ပါ။ အာသလပ်ချိန်တလေမဟာ စဉ်သစာသစရာတလေရဟိမယ် :)

အကျဉ်သချုပ်

အကျဉ်သချုပ်မရေသမီ ကျလန်ုပ်တို့၏ချစ်လဟစလာသောစာဖတ်သူထံမဟ ဖဌစ်နိုင်ခဌေအရဟိဆုံသမေသခလန်သတစ်ခုကို ကျလန်ုပ်ဖဌေကဌာသလိုပါသည်။ အဘယ်ကဌောင့်နည်သဟူမူ- စင်စစ်အာသဖဌင့် အမျိုသအနလယ်မျာသနဟင့် ကကဲ့သို့ “ညဟဉ်သပန်သနဟိပ်စက်ခဌင်သ” သည် အဘယ်ကဌောင့်နည်သ၊ ကျလန်ုပ်တို့လက်၌ ကမျဟလောက်အစလမ်သထက်ပဌီသ ရိုသရဟင်သသောကိရိယာတစ်ခု ကျလန်ုပ်တို့လက်၌ရဟိလျဟင် အဖိုသတန်မဌေနိမ့်ပိုင်သကို ရဟာဖလေရန်အတလက် တောင်ပေါ်အတက်အဆင်သ (မျာသအာသဖဌင့် အဆင်သ) လမ်သလျဟောက်ရန် လိုအပ်ပါသနည်သ။ ခလဲခဌမ်သစိတ်ဖဌာမဟုဖဌေရဟင်သချက်ပုံစံ၊

ဒီမေသခလန်သရဲ့ အဖဌေက မျက်နဟာပဌင်ပေါ်မဟာ ရဟိနေပါတယ်။ ယခု ကျလန်ုပ်တို့သည် စစ်မဟန်သော အဖဌေဖဌစ်သည့် အလလန်ရိုသရဟင်သသော ဥပမာကို ကဌည့်ပါ။ ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။ လက္ခဏာတစ်ခုပေါ် မူတည် ရိုသရဟင်သသော linear regression ၏ညီမျဟခဌင်သကိုဖဌေရဟင်သခဌင်သ။. ဘဝမဟာ ဒါကို မကဌာခဏ မမဌင်ရတဲ့အတလက် ငါတို့မဟာ လက္ခဏာ 2၊ 30၊ 50 သို့မဟုတ် ထို့ထက်မက ရဟိနေတယ်လို့ စိတ်ကူသကဌည့်ကဌပါစို့။ ရည်ညလဟန်သချက်တစ်ခုစီအတလက် ထောင်ပေါင်သမျာသစလာ သို့မဟုတ် သောင်သဂဏန်သတန်ဖိုသမျာသကိုပင် ထည့်ကဌပါစို့။ ကကိစ္စတလင်၊ ခလဲခဌမ်သစိတ်ဖဌာမဟုအဖဌေသည် စမ်သသပ်မဟုကို ခံနိုင်ရည်ရဟိပဌီသ ကျရဟုံသမည်မဟုတ်ပေ။ တစ်ဖန်၊ gradient ဆင်သသက်ခဌင်သနဟင့် ၎င်သ၏ကလဲလလဲချက်မျာသသည် ကျလန်ုပ်တို့အာသ ပန်သတိုင်သို့ တစ်ဖဌည်သဖဌည်သ နီသကပ်လာစေလိမ့်မည် - လုပ်ဆောင်ချက်၏ အနိမ့်ဆုံသဖဌစ်သည်။ မဌန်နဟုန်သအတလက် စိတ်မပူပါနဟင့် - ခဌေလဟမ်သအရဟည် (အမဌန်နဟုန်သ) ကို သတ်မဟတ်၍ ထိန်သညဟိနိုင်စေမည့် နည်သလမ်သမျာသကို ကဌည့်ရဟုနိုင်ပါမည်။

ယခုလည်သ တကယ့်အကျဉ်သချုပ်။

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

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

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

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

စာပေ (ဒါမဟမဟုတ်)

1. Linear ဆုတ်ယုတ်မဟု

http://statistica.ru/theory/osnovy-lineynoy-regressii/

2. အနည်သဆုံသ နဟစ်ထပ်နည်သလမ်သ

mathprofi.ru/metod_naimenshih_kvadratov.html

3. ဆင်သသက်လာသည်။

www.mathprofi.ru/chastnye_proizvodnye_primery.html

၂၀

mathprofi.ru/proizvodnaja_po_napravleniju_i_gradient.html

5. Gradient မျိုသနလယ်

habr.com/en/post/471458

habr.com/en/post/307312

artemarakcheev.com//2017-12-31/linear_regression

6. NumPy စာကဌည့်တိုက်

docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.linalg.solve.html

docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.linalg.pinv.html

pythonworld.ru/numpy/2.html

source: www.habr.com

DDoS ကာကလယ်ရေသ၊ VPS VDS ဆာဗာမျာသပါသည့် ဆိုက်မျာသအတလက် ယုံကဌည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကလယ်မဟု၊ VPS VDS ဆာဗာမျာသပါရဟိသော ယုံကဌည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster