模式識別-線性擬合實驗報告-黃志強_第1頁
模式識別-線性擬合實驗報告-黃志強_第2頁
模式識別-線性擬合實驗報告-黃志強_第3頁
模式識別-線性擬合實驗報告-黃志強_第4頁
模式識別-線性擬合實驗報告-黃志強_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、線性擬合-實驗報告內(nèi)蒙古大學計算機學院31209003黃志強實驗方法:1最小二乘法2梯度下降法二.公式推導1最小二乘用線性函數(shù)h a(x)=a0+a1*x來擬合y=f(x);構(gòu)造代價函數(shù)J(a):代價函數(shù)分別對a0和al求偏導,連個偏導數(shù)都等于0成為兩個方程,兩個方程聯(lián)合求解得到a0和al;2梯度下降構(gòu)造代價函數(shù)J(a),J(a)對a0,al分別求偏導得到梯度, J(a)/a0= n*a0+a1*sumx-sumy; J(a)/a1 = ai* sumx*sumx+a0*sumx-sumx*sumy;tidu_a0=n*a0+a1*sumx-sumy;tidu_a1=a1*sumxx+a0*s

2、umx-sumxy;設(shè)置步長為1,迭代m次delta_r=sqrt(tidu_a0*tidu_a0+tidu_a1*tidu_a1);a0=a0-l*(tidu_a0/tidu_r);a1=a1-l*(tidu_a1/tidu_r);每次迭代顯示得到的直線和mse,并修訂學習率%顯示直線x2=-0.1,1.1;y2=x2.*a1+a0;plot(x2,y2color,1-i/m,1-i/m,1-i/m);%顯示錯誤error=0;for j=1:nerror=error+(y(j)-(a1*x(j)+a0)*(y(j)-(a1*x(j)+a0);endmse=error/n;l=mse;mse

3、三.matlab代碼1最小二乘法代碼:%in是一個100行2列的矩陣,兩列分別為x和y。用一條直線y=x*a+b擬合x和y的關(guān)系; %用最小二乘法計算a和b。x=in(1:100,1);y=in(1:100,2);sumx=0;sumy=0;sumxx=0;sumyy=0;sumxy=0;for i=1:1:100sumx=sumx+x(i);sumy=sumy+y(i);sumxx=sumxx+x(i)*x(i);sumyy=sumyy+y(i)*y(i);sumxy=sumxy+x(i)*y(i);endplot(in(:,1),in(:,2),r);用紅色的點畫出100個樣本點hold

4、on; %保留當前繪圖,不被下次繪圖遮蓋n=100;b,a=solve(n*a0+a1*sumx=sumy,a0*sumx+a1*sumxx=sumxy,a0,a1);%解二元一次方程組,未知數(shù)為a0,a1,結(jié)果返回給b和a。a=eval(a);%eval(str),把str當做一條語句執(zhí)行b=eval(b);x2=0,1;%知道解析式y(tǒng)=a*x+b,畫直線的方法y2=x2.*a+b;%因為x2是一個向量,所以用x2.表示plot(x2,y2);%制動化一條以x2為x,以y2為y的直線mse=0;error=0;for i=1:nerror=error+(y(i)-(a*x(i)+b)*(y(

5、i)-(a*x(i)+b);endmse=error/n;mse2梯度下降法代碼:x=in(1:100,1);y=in(1:100,2);sumx=0;sumy=0;sumxx=0;sumyy=0;sumxy=0;for i=1:1:100sumx=sumx+x(i);sumy=sumy+y(i);sumxx=sumxx+x(i)*x(i);sumyy=sumyy+y(i)*y(i);sumxy=sumxy+x(i)*y(i);endplot(in(:,1),in(:,2),r.);hold on;a0=2;a1=1;l=0.5;n=100;m=5 0;for i=0:1:mtidu_a0=n

6、*a0+a1*sumx-sumy;tidu_a1=a1*sumxx+a0*sumx-sumxy;tidu_r=sqrt(tidu_a0*tidu_a0+tidu_a1*tidu_a1);a0=a0-l*(tidu_a0/tidu_r);a1=a1-l*(tidu_a1/tidu_r);x2=-0.1,1.1;y2=x2.*a1+a0;plot(x2,y2 color,1-i/m,1-i/m,1-i/m);error=0;for j=1:nerror=error+(y(j)-(a1*x(j)+a0)*(y(j)-(a1*x(j)+a0);endmse=error/n;l=mse;mseend四.

7、運行結(jié)果1最小二乘法結(jié)果2梯度下降法結(jié)果誤差1最小二乘法A1=3.679365985769617A0=-1.030876273676726均方誤差mse=0.04292梯度下降法(起點為a0=2, a1=1迭代次數(shù)為50次)A1=3.67860477725630A0=-1.00565713447357均方誤差mse =0.0436 附數(shù)據(jù)in.txt0.9005 1.91130.4480 0.92180.2689 -0.46540.5538 1.46670.1788 -0.23930.8597 1.70480.2320 -0.21350.1681 -0.25490.0267 -1.09280.

8、3224 0.29850.5552 0.79310.8245 2.01720.8042 2.22730.0244 -0.88880.3715 0.56870.4919 0.77950.4661 0.53480.0417 -0.79690.6170 1.24030.5780 1.51130.2988 -0.11200.4357 0.57820.1366 -0.84070.2997 0.38070.7614 1.89590.0353 -0.63990.2695 -0.10720.9963 2.72330.4469 0.86040.1528 -0.54720.8862 2.33980.0314 -1

9、.21900.1160 -0.68320.2509 -0.14950.7597 1.61760.8983 1.95520.2234 -0.16960.6733 1.48590.8188 2.10080.9489 2.65170.8743 2.00690.3937 0.45570.9370 2.44270.4369 0.80250.1625 -0.26760.3098 -0.06410.6811 1.10380.9341 2.24060.9474 2.65010.5991 1.16170.9489 2.41700.4040 0.30190.0410 -1.02710.2938 0.12610.0

10、319 -0.78420.8645 2.24680.4325 0.58290.0928 -0.47670.1378 -0.58010.2420 -0.16170.2230 -0.42450.8677 2.19760.7642 1.74470.3447 0.01780.3848 0.48110.5949 1.20160.5351 1.33880.3336 0.28380.8547 2.21270.2656 -0.10610.9339 2.18400.3898 0.15150.6831 1.54170.2750 0.27060.0280 -0.87500.9406 2.61790.5340 0.82420.6712 1.49270.6075 1.14170.7509 1.56650.9813 2.72670.7277 1.58300.8573 1.47560.9918 3.00380.7595 1.69700.1460 -0.43690.3263 0.06280.0288

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論