matlab練習程序(線性分類器<最小二乘>)


clear all;
close all;
clc;
num=4;          %元素數量
k=180;            %迭代次數
step=0.1;       %迭代步長
w(1,:)=[-0.5 1 1];   %權值

x=[1 0 0;           %輸入的值,每行為一組
   1 1 0;
   1 0 1;
   1 1 1];

d=[1 0 1 0];        %實際輸出的值

y=zeros(1,num);     %迭代輸出的值 y=w0+w1x1+w2x2
e=zeros(1,k);       %均方誤差

for j=1:k
    
    tmp_2=0;
    for i=1:num
        y(i)=w(j,:)*x(i,:)';
        tmp_2=tmp_2+(d(i)-y(i)).^2;
    end
    e(j)=0.5*tmp_2; 

    for i=1:3   
        w(j+1,i)=w(j,i)+step*(d-y)*x(:,i);      %迭代得到新的權值
    end
    
end
plot(e);

參考:

1.http://read.pudn.com/downloads102/ebook/420359/chapter%203/3.doc


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM