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

資源簡介

感知機H-K算法實例,對真實數據進行分類,matlab代碼+數據都在里面,可直接運行.m文件,錯誤率0.04。

資源截圖

代碼片段和文件信息

clc
clear

%%?讀取數據
%讀取excel數據sheet2中的所有數據,num是所讀取的數據
[numtxtraw]?=?xlsread(‘DATASETS_Cork?Stoppers_Cork?Stoppers.xls‘2);
%第二列是標簽
label=num(:2);
%第3到12列是特征
tz=num(:3:12);
%mn為特征的行數和列數
[mn]=size(tz);
tz?=?[tz?ones(m1)];%增廣矩陣
X?=?tz;
?
%%?將多分類標簽轉換為2分類標簽
for?i=1:m
????if(label(i)==1)
????????label1(i)=1;
????else
????????label1(i)=-1;
????????X(i:)?=?-X(i:);
????end
end
label1=label1‘;
?
%%?H-K算法
%初始化
b?=?ones(size(X1)1);?%初始化b=[1;1;1;...1]與數據個數相同
c?=?1;?%步長
flag?=?0;?%表示是否線性可分
xx=inv(X‘*X)*X‘;?%求X的偽逆
w=xx*b;?%初始權向量w
e=X*w-b;?%初始誤差向量
t=0;?%當前迭代次數
Iteration=20;

%迭代求解
while?(1)
????temp=min(e);
????temp1=max(e);
????if?temp>-1e-4?&&?temp<0?%【當誤差稍小于0時,看做0,結束】
????????temp=0;
????end
????if?temp>1e-3?%【誤差較大時,繼續】???
????????deltab=e+abs(e);
????????b=b+c.*deltab;?%更新松弛向量
????????w=w+c.*xx*abs(e);?%更新權向量
????????e=X*w-b;?%計算誤差向量
????else
????????if?temp>=0?&&?temp1<1e-4?%【相當于誤差=0,結束】
????????????break;
????????else
????????????if?temp1<0?%線性不可分
????????????????flag=1;
????????????????fprintf(‘非線性可分\n‘);
????????????????break;
????????????else?%【誤差小于1e-3大于1e-4,趨近時迭代】
????????????????deltab=e+abs(e);
????????????????b=b+c.*deltab;
????????????????w=w+c.*xx*abs(e);
????????????????e=X*w-b;
????????????????t=t+1;
????????????????if?t>=Iteration?%超過最大迭代次數
????????????????????break;
????????????????end
????????????end
????????end
????end
end

%%?計算錯誤率
a?=?tz*w;?%%權值和特征的乘積,150*1
%初始化錯誤個數為0?
err_cou=0;
%統計錯誤個數,計算錯誤率
for?i?=?1:m
????if?a(i)>=0
????????h1(i)?=?1;
????else
????????h1(i)?=?-1;
????end
????if(h1(i)~=label1(i))
????????err_cou=err_cou+1;
????end
end

err_rate?=?err_cou/m;??%錯誤率?=?錯誤個數/樣本個數
fprintf(‘總樣本數:%d\n‘‘分類錯誤個數%d\n‘‘錯誤率%f\n‘merr_couerr_rate)



?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????38400??2020-04-03?03:28??DATASETS_Cork?Stoppers_Cork?Stoppers.xls
?????文件????????2032??2020-04-03?09:57??H_K_2.m

評論

共有 條評論