感知器準則函數的matlab程序_第1頁
感知器準則函數的matlab程序_第2頁
感知器準則函數的matlab程序_第3頁
感知器準則函數的matlab程序_第4頁
感知器準則函數的matlab程序_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上 clear%產生第一類和第二類原始數據,分別賦值給w1和w2變量w1=0.1 6.8 -3.5 2.0 4.1 3.1 -0.8 0.9 5.0 3.9;    1.1 7.1 -4.1 2.7 2.8 5.0 -1.3 1.2 6.4 4.0;w2=-3.0 0.5 2.9 -0.1 -4.0 -1.3 -3.4 -4.1 -5.1 1.9;    -2.9 8.7 8 5.2 2.2 3.7 6.2 3.4 1.6 5.1;%分別產生第一類和第二類增廣樣本向量集ww1、ww

2、2ww1=ones(1,size(w1,2);w1;ww2=ones(1,size(w2,2);w2;%產生第一類和第二類樣本向量的規范化增廣樣本向量集w12w12=ww1,-ww2;y=zeros(1,size(w12,2); % 產生1x20的行向量,賦給y,初值全為0a=1;1;1;       %給權向量a賦初值k=0;               %k為迭代次數,a(

3、0)=1;1;1while any(y<=0)for i=1:size(y,2)y(i)=a'*w12(:,i);enda=a+(sum(w12(:,find(y<=0)')'k=k+1;enda      %顯示最終求得的權向量a的值k      %迭代次數值figure(1)plot(w1(1,:),w1(2,:),'r+')hold onplot(w2(1,:),w2(2,:),'*')xmin=min

4、(min(w1(1,:),min(w2(1,:); xmax=max(max(w1(1,:),max(w2(1,:); ymin=min(min(w1(2,:),min(w2(2,:); ymax=max(max(w1(2,:),max(w2(2,:); xindex=xmin-1:(xmax-xmin)/100:xmax+1;yindex=-a(2)*xindex/a(3)-a(1)/a(3);plot(xindex,yindex) 我自己模仿寫的:%測試函數點clcclear allx1=-1:0.1:1;y1=x1+2;w1=x1;y1;

5、x2=-1.5:0.1:0.5y2=x2;w2=x2;y2;figure(1)plot(x1,y1,'r+')hold onplot(x2,y2,'g*')ww1=ones(1,size(w1,2);w1;ww2=ones(1,size(w2,2);w2;w12=ww1,-ww2;a=1;1;1;y=zeros(1,size(w12,2);k=1;while any(y<=0)   for i=1:size(w12,2)       y(i)=a'*

6、w12(:,i);   end   temp=sum(w12(:,find(y<=0)')'   a=a+temp;   k=k+1;endakxmin=min(min(x1),min(x2);xmax=max(max(x1),max(x2);ymin=min(min(y1),min(y2);ymax=max(max(y2),max(y2);xindex=xmin-1:(xmax-xmin)/100:xmax+1;yindex=-a(2)/a(3)*xi

7、ndex-a(1)/a(3);hold onplot(xindex,yindex)心得體會:感知器準則函數只能用來線性分類,而且最有找到判決邊界一般在邊界面上,具體原理還是比較好理解的。  三類情況:clear%original data%產生第一類、第二類和第三類原始數據,分別賦給w1、w2 和w3 變量w1=0.1 0.8 -3.5 2.0 4.1 3.1 -0.8 2 5.0 3.9; 1.1 7.1 -4.1 2.7 2.8 5.0 -1.3 1.2 6.4 4.0;w2=7.1 -1.4 4.5 6.3 4.2 1.4 2.4 2.5 8.4 4.1;4.2 -4

8、.3 0.0 1.6 1.9 -3.2 -4.0 -6.1 3.7 -2.2;w3=-3.0 5 2.9 -0.1 -4.0 -1.3 -3.4 -4.1 -5.1 1.9;-2.9 8.7 2.1 5.2 2.2 3.7 6.2 3.4 1.6 5.1;figure(1)plot(w1(1,:),w1(2,:),'r.')hold onplot(w2(1,:),w2(2,:),'*')%normalized%分別產生第一類、第二類和第三類增廣樣本向量集ww1、ww2 和ww3ww1=ones(1,size(w1,2); w1;ww2=ones(1,size(w

9、2,2); w2;ww3=ones(1,size(w3,2); w3;%產生第一類和第二類樣本向量的規范化增廣樣本向量集w12w12=ww1,-ww2;%w13=ww1,-ww3;%w23=ww2,-ww3;y=zeros(1,size(w12,2); %產生1x20 的行向量,賦給y,初值全為0v=1;1;1; %給權向量v 賦初值k=0; %k 為迭代次數,v(0)= 1;1;1while any(y<=0)for i=1:size(y,2)y(i)=v'*w12(:,i);endv=v+(sum(w12(:,find(y<=0)')'k=k+1;end

10、v %顯示最終求得的權向量v 的值k %迭代次數值figure(1)plot(w1(1,:),w1(2,:),'r.')hold onplot(w2(1,:),w2(2,:),'*')xmin=min(min(w1(1,:),min(w2(1,:);xmax=max(max(w1(1,:),max(w2(1,:);ymin=min(min(w1(2,:),min(w2(2,:);ymax=max(max(w1(2,:),max(w2(2,:);xindex=xmin-1:(xmax-xmin)/100:xmax+1;yindex=-v(2)*xindex/v(3

11、)-v(1)/v(3);plot(xindex,yindex)%寫出實現批處理感知器算法的程序,從v=0 開始,將程序應用在2 和3 類上,同樣記下收斂的步數。w23=ww2,-ww3;yy=zeros(1,size(w23,2); %產生1x20 的行向量,賦給y,初值全為0vv=1;1;1; %給權向量v 賦初值kk=0; %k 為迭代次數,v(0)= 1;1;1while any(yy<=0)for i=1:size(yy,2)yy(i)=vv'*w23(:,i);endvv=vv+(sum(w23(:,find(yy<=0)')'kk=kk+1;endvv %顯示最終求得的權向量v 的值kk %迭代次數值figure(2)plot(w2(1,:),w2(2,:),'r.')hold onplot(w3(1,:),w3(2,:),'*')xxmin=min(min(w2(1,:),min(w3(1,:);xxmax=max(max(w2(1,:),max(w3(1,

溫馨提示

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

評論

0/150

提交評論