my_width.m

来自「RBF神经网络 RBF神经网络」· M 代码 · 共 48 行

M
48
字号
function [R,width]=My_Width(data,cents,clu,numperclu,K); 
% 求每个中心的宽度,返回宽度矩阵R.(d×d×k)
stufoot=1.5;
[row,column]=size(data); % 样例个数与属性数
rmatrix=zeros(1,K); % 初始化
width=zeros(1,K);
% for i=1:K     %按三阶段论文(30)式
%     rmatrix(1,i)=stufoot*sum(dist(data(clu==i,:),cents(i,:)'))/numperclu(i);
%     width(1,i)=rmatrix(1,i);
%     rmatrix(1,i)=1/rmatrix(1,i)^2;
%     R(:,:,i)=diag(rmatrix(1,i)*ones(column,1))/2;
% end
d=dist(cents,cents'); %按三阶段论文(29)式

for i=1:K
    t=max(max(d));
    for j=1:K
        if i~=j
           if d(i,j)<t
              t=d(i,j);
           end
        end
    end
    if t<0.00001
       t=0.00001; 
    end 
    rmatrix(1,i)=t;
end
rmatrix=rmatrix.*stufoot;

% for i=1:K
%     t=0.00001;
%     for j=1:K
%         if i~=j
%            if d(i,j)>t
%               t=d(i,j);
%            end
%         end
%     end    
%     rmatrix(1,i)=t;
% end
% rmatrix=rmatrix./2;

width=rmatrix;
rmatrix=1./(rmatrix.^2);
for j=1:K
    R(:,:,j)=diag(rmatrix(1,j)*ones(column,1))/2;
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?