determinewinner.m
来自「有监督自组织映射-偏最小二乘算法(A supervised self-organ」· M 代码 · 共 38 行
M
38 行
function [Value, Pos] = DetermineWinner(X,Map,DistType,MLKP);
DistType=upper(DistType);
if DistType == 'EUC'
% calculates minimum of Euclidean distances
Distance = dist(X,Map);
[Value, Pos] = min(Distance);
elseif DistType == 'ABS'
% calculates minimum of sum of absolute values
Distance=sum(abs(Map-(ones(MLKP.Nunits,1)*X)'));
[Value, Pos] = min(Distance);
elseif DistType == 'TAN'
% calculates maximum of Tanimoto distances
% tricky: usually, many Tanimoto distances are at minimum
Distance = TanimotoDistance(X,Map,MLKP);
[Value, Pos] = min(Distance);
elseif DistType == 'WCC'
CorrValues=WccValues(X,Map,MLKP);
[Value, Pos] = max(CorrValues);
Distance = ones(1,MLKP.Nunits) - CorrValues;
elseif DistType == 'WDD'
Distance=WddValues(X,Map,MLKP);
[Value, Pos] = min(Distance);
else
% calculates maximum of correlations
CorrValues = CalcCorrValues(X,Map);
[Value, Pos] = max(CorrValues);
Distance = ones(1,MLKP.Nunits) - CorrValues;
end
Distance = Distance/max(Distance);
%
% if necessary, calculate normalised inner-product for weighting
if (upper(MLKP.AdaptLearn) == 'Y' | upper(MLKP.BoltzmannMode) ~= 'NOT')
Value = 2 - min(Distance);
else
Value = 1;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?