91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-02
  • 語言: 其他
  • 標簽: matlab??

資源簡介

利用感知器算法進行鳶尾花數據分類,還包含一個異或算法,可以解決非線性分類問題

資源截圖

代碼片段和文件信息

clc;
clear?all;
close?all;
%生成異或數據
Data1=0+0.1*rand(252);
Data1X=Data1(:1);
Data1Y=Data1(:2);

Data2=1+0.1*rand(252);
Data2X=Data2(:1);
Data2Y=Data2(:2);

Data3=0+0.1*rand(252);
Data3X=1+Data3(:1);
Data3Y=Data3(:2);
Data3=[Data3XData3Y];

Data4=0+0.1*rand(252);
Data4X=0+Data4(:1);
Data4Y=1+Data4(:2);
Data4=[Data4XData4Y];

hold?on;
scatter(Data1XData1Y‘r‘);
scatter(Data2XData2Y‘r‘);
scatter(Data3XData3Y‘g*‘);
scatter(Data4XData4Y‘g*‘);

Label1=repmat([10]501);
Label2=repmat([01]501);
Data1=[Data1;Data2];
Data1=[Data1Label1];%加上標簽
Data3=[Data3;Data4];
Data3=[Data3Label2];%加上標簽

%訓練數目
num=40;
idx=randperm(num);%隨機打亂一個數列
Data1=Data1(idx:);%打亂第一類樣本%%%%
Data3=Data3(idx:);%打亂第一類樣本%%%%

idx=randperm(num/2);

Data1_Train=Data1(idx:);
Data1_Test=Data1;
Data1_Test(idx:)=[];
Data2_Train=Data3(idx:);
Data2_Test=Data3;
Data2_Test(idx:)=[];
%再次打亂
Data_Train=[Data1_Train;Data2_Train];
Data_Test=[Data1_Test;Data2_Test];
idx=randperm(40);
Train=Data_Train(idx:)‘;
Test=Data_Test(idx:)‘;
Train_Num=size(Train2);
Test_Num=size(Test2);

%BP網絡初始化訓練
Input_Num=2;
Hidden_Num=4;
Output_Num=2;
V=rand(Input_NumHidden_Num);
Gamma=rand(Hidden_Num1);
W=rand(Hidden_NumOutput_Num);
Theta=rand(Output_Num1);
step=1;
Iteration_Num=500;
%樣本參數
Feature_Start=1;
Feature_End=2;
Label_Start=3;
%正確率檢測
error_count=0;
Monte_Carlo=100;

%開始訓練
for?gradient_descent_num=1:Iteration_Num;


for?k=1:Train_Num
%前向傳播
Alpha=V‘*Train(Feature_Start:Feature_Endk)-Gamma;
b=1./(1+exp(-Alpha));
Beta=W‘*b-Theta;
y=1./(1+exp(-Beta));
g=zeros(Output_Num1);
l=Label_Start;%標簽開始的維度在6
for?j=1:Output_Num
????
????g(j1)=y(j1)*(1-y(j1))*(Train(lk)-y(j1));%差點搞錯了,注意Iris_Train(lk)
????l=l+1;
end
%后向傳播
u=W*g;
Delte_Theta=-step*g;
Theta=Theta+Delte_Theta;%更新
Delte_W=-b*Delte_Theta‘;
for?h=1:Hidden_Num
????Delte_Gamma(h:)=-step*b(h:)*(1-b(h:))*u(h:);
end
Delte_V=-Train(Feature_Start:Feature_Endk)*Delte_Gamma‘;%需要修改訓練集及樣本屬性所在維數
Gamma=Gamma+Delte_Gamma;%更新
V=V+Delte_V;%更新
W=W+Delte_W;%更新
end
end;


for?j=1:Monte_Carlo

for?i=1:Test_Num%需要修改待測試訓練集
????Alpha=V‘*Test(Feature_Start:Feature_Endi)-Gamma;%需要修改待測試訓練集
????b=1./(1+exp(-Alpha));
????Beta=W‘*b-Theta;
????y=1./(1+exp(-Beta));
????%[ValueIndex]=min(y);
????[ValueIndex]=max(y);
????y(Index1)=1;%取那個大的數置為1
????
????if(Test(Index+2i)==y(Index1))%仔細考慮判別條件
????????error_count=error_count;
????else
????????error_count=error_count+1;
????end
????????
end;

end
error_Rate=error_count/(Monte_Carlo*(Test_Num));%需要修改測試樣本集合
correct_Rate=1-error_Rate
V
W
Gamma‘
Theta‘

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2829??2018-04-23?21:05??感知器算法\MyXOR.m

?????文件???????1122??2018-05-18?22:34??感知器算法\testbp.m

?????目錄??????????0??2018-09-12?09:00??感知器算法

-----------?---------??----------?-----??----

?????????????????3951????????????????????3


評論

共有 條評論