📄 judge.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function num=judge(result2,t_x,t_y)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%函数num=judge(result2,t_x,t_y)
%找出哪些隐层节点高于误差阈值
%输入参数:
% result:当前网络
% t_x:当前输入样本
% t_y:当前输出样本
%输出参数:
% num:对应的每个隐层节点删去后对网络影响的层度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
count=find(result2(:,1));
nodenum=length(count);
num=zeros(1,nodenum);
%获得相关参数
for i=1:nodenum
%一次删去每个节点
ii=1:nodenum;
ii(i)=[];
centers=result2(ii,2:size(result2,2)-1);
radius=result2(ii,size(result2,2));
cou1=find(radius<.01);
radius(cou1)=.01;
r1=1./(radius*sqrt(2));
r2=r1*ones(1,size(t_x,2));
p1=radbas(dist(centers,t_x).*r2);
weights=t_y*pinv(p1);
result1=weights*p1;
error=t_y-result1;
%判断这时每个样本的误差
num(i)=length(find(abs(error)>3e-3));
%记下误差高于设定阈值的次数
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -