




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、梯度下降求最小值和線性方程(線性回歸詳解)線性回歸梯度下降法一般用于求解最小值,以下分別例舉兩種求最小值情況:1)二次函數(shù)求最小值的情況2)預(yù)測(cè)線性函數(shù)的情況(已知x和y求解最合適的w和b,是預(yù)測(cè)誤差最?。┮韵戮桶凑丈鲜龅膬煞N情況進(jìn)行分析。1、二次函數(shù)求最小值的情況1)首先導(dǎo)入包Importnumpycasanpmpormatpiotipypio阿pitmatpiotiibmiine2)定義二次函數(shù)與其導(dǎo)數(shù)方程,并畫出函數(shù)圖便于觀察,也可以不畫。f=DlDmbdDDX:ffl2D-5*XC+Q10gQDDlDmbdDDXK2*XU5XE=DnPDlinSPDCDI10D15D30)|l.10(
2、X,(X)Out丁:可以從圖中觀察或計(jì)算可得,最小值為2.5,用于與之后梯度下降求解到的最小值最對(duì)比。3)開始使用梯度下降算法進(jìn)行最小值求解叮開始定義梯度下降算法叮用于存放迭代結(jié)果,用于之后的可視化result#隨機(jī)初始化一個(gè)取最小值的v_t=onprandom.randin皿10,0,ize=m)nresuiappend(v_)pri皿-隨機(jī)初始化取最小值的x坐標(biāo)v_)叮定義一個(gè)保存上一次迭代結(jié)果的變量V_iaSMV_+Q1叮設(shè)置結(jié)果的精準(zhǔn)度precisioramaooooi叮設(shè)置最大迭代次數(shù)max_count=3000叮迭代步幅step叮0.1count=0#開始迭代whiieTrue:Q
3、QQ設(shè)置退出條件DDDDnPDabSDv_fflDv_iamfflDPreciSiinQDDQDnnnkDDDDcountDDax_countaa叮breaka#aaa求更新上一次的值aDDDQV_lMM#aaa更新求解值aaaa血血_-ag(v_)*stepaaaaresappend(v_)aaaai皿-最小值的x坐標(biāo):%f%v_a迭代次數(shù):%d%count)laaacounam在上面的代碼中要注意迭代時(shí),是拿每一次的最小值進(jìn)行迭代,而不是X,迭代結(jié)果如下:殖札袒始化51最小值的乂坐忘-8最小值的m坐按:-5.903C00迭弋決數(shù):0最小值的m坐標(biāo):-4.22JC00送吒灰範(fàn)::最小值的工坐
4、-2.873C00進(jìn)城數(shù):2最小值的m坐標(biāo):-1.803E00送吒灰範(fàn):3最小值的m坐按:9432)預(yù)測(cè)線性函數(shù)的表達(dá)式當(dāng)已知x和y的時(shí)候,我們希望可以找到x和y之間的關(guān)系,以便于其他數(shù)據(jù)的預(yù)測(cè),本文假設(shè)x與y之間是線性的。1、還是先導(dǎo)包mornmaynmormaloylilalmaloliinline2、手動(dòng)生成具有線性關(guān)系的x和ynlina2e23nrandomrandin21i=1nrandomrandinielynrandomrandn32ylay)OlILjC:因?yàn)槲覀冏约荷傻臄?shù)據(jù),并且給出了w和b,因此是滿足線性關(guān)系的,在顯示的時(shí)候加入了擾動(dòng)。下面的求解實(shí)在假設(shè)我們不知道w和b的
5、條件下進(jìn)行的,模仿sklearn中的線性回歸包的方式,定義一個(gè)類來實(shí)現(xiàn)線性回歸。3)定義Lineaer_model類實(shí)現(xiàn)線性回歸classLinear_model:初始化def_init_(self):self.w_=np.random.randn0self.b_=np.random.randn(1)0print(隨機(jī)初始化的w和b:,self.w_,self.b_)定義模型的到預(yù)測(cè)的defmodel(self,x):returnself.w_*x+self.b_定義損失defloss(self,x,y):誤差通過最小二乘法來求cost=(y-self.model(x)*2定義w和b的求取,通
6、過求偏導(dǎo)d_w=2*(y-self.model(x)*(-x)d_b=2*(y-self.model(x)*(-1)returnd_w,d_bwb的更新defgradient_decent(self,d_w,d_b,step=0.01):self.w_=self.w_-d_w*stepself.b_=self.b_-d_b*stepprint(迭代過程中的w_和b_:,self.w_,self.b_)進(jìn)行迭代deffit(self,X,y):定義和w的更新值w_last=self.w_+1b_last=self.b_+1設(shè)置準(zhǔn)確精度precision=0.00001設(shè)置最大迭代次數(shù)max_co
7、unt=10000count=0whileTrue:if(np.abs(self.w_-w_last)precision)and(np.abs(self.b_-b_last)max_count:breakd_w=0d_b=0size=X.shape0forxi,yiinzip(X,y):d_w+=selfoss(xi,yi)0/sized_b+=selfoss(xi,yi)1/sizeselfgradient_decent(d_w,d_b)count+=1print(count:,count)defcoef_(self):returnself.w_definterrupt_(self):ret
8、urnself.b完成了上面的定義后,就可以調(diào)用,檢驗(yàn)算法的準(zhǔn)確性。m=Linear_model()m.fit(X,y)迭代結(jié)果如下:隨札初蜉憂的”ftt:3.2438036353969445-0.061E65511327193E36CJIltU:1CJIltU:|CJIltU:3CJIltU:CJIltU:5czuitu:6CJIltU:7CJIltU:8送優(yōu)過親中的匸卻丄:送優(yōu)過親中的匸卻丄:送優(yōu)過親中的匸卻丄:送優(yōu)過親中的匸卻丄:送優(yōu)過親中的匸卻丄:送優(yōu)過親中的匸卻丄:送優(yōu)過親中的匸卻丄:送優(yōu)過親中的匸卻丄:3.印。宜93死弋為5J.95605062176577.1訂別991E561詔5
9、7.822043105867.62550324125987.4045207544747.95ET351433E237.335404203183送優(yōu)過親中的匸卻丄:T.E3T圧工帀妲枉巴和工COLI17:99茫送-弋過親口的巴和二COLI17:99羽送-弋過親口的巴和二com?:993E送-弋過親口的匸希COLI17:99死送-弋過親口的巴和二com?:9937送-弋過親口的匸希C.731775C042C224E1.332237633358C.33304C3l1:327/1E們亞12所92理C.35E90537C2T3E4C.35E2970308224C.334110J76C6j.ybojjiia.Lfjycom?:993E送-弋過親口的匸希com?:993E送-弋過親口的L備可以發(fā)現(xiàn)迭代后的結(jié)果是:w_=口6966,b=394“L95737033E8651L95737033E86513L95737033E86517L95737033E8652L95737033E86526fl.1.ITT-inCi-!1.-Ci門3而我們
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年供應(yīng)鏈金融業(yè)務(wù)培訓(xùn):從風(fēng)險(xiǎn)管理到融資策略
- 口袋相機(jī)轉(zhuǎn)讓合同范本
- 合同范例變大
- 勞務(wù)派遣薪資合同范本
- 2020飼料養(yǎng)殖行業(yè)分析研究報(bào)告
- 發(fā)票購銷合同范本表格
- 單人住宅購買合同范本
- 牙齒美白行業(yè)分析研究報(bào)告
- 勞動(dòng)務(wù)工協(xié)議合同范本
- 叉車變賣合同范例
- 重慶市渝北區(qū)大灣鎮(zhèn)招錄村綜合服務(wù)專干(全考點(diǎn))模擬卷
- PhotoShop機(jī)試試題(帶素材)
- 教務(wù)處教學(xué)教案作業(yè)檢查記錄表
- 美甲基礎(chǔ)理論精品專業(yè)課件
- 監(jiān)護(hù)人考試試題含答案
- 冀教版四年級(jí)下冊(cè)英語全冊(cè)教學(xué)設(shè)計(jì)(經(jīng)典,可直接打印使用)
- 高壓變頻器技術(shù)協(xié)議最終2.3日
- 新編地圖學(xué)教程(第三版)毛贊猷_期末復(fù)習(xí)知識(shí)點(diǎn)總結(jié)
- 經(jīng)銷商授權(quán)協(xié)議合同書(中英文對(duì)照)
- 初三化學(xué)公式大全
- 安裝超載限制器方案
評(píng)論
0/150
提交評(píng)論