⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 determinesimultaneouswinner.m

📁 有监督自组织映射-偏最小二乘算法(A supervised self-organising map–partial least squares algorithm),可以用语多变量数据的回归分析
💻 M
字号:
function [Value, Pos] = DetermineSimultaneousWinner(X,XMap,Y,YMap,MLKP,Alpha);

DistTypeX=upper(MLKP.DistTypeX);
if (DistTypeX == 'COR')
% maximum of scaled inner products
    CorrValuesX = CalcCorrValues(X,XMap);
    DistanceX = ones(1,MLKP.Nunits) - CorrValuesX;
elseif (DistTypeX == 'WCC')
    CorrValuesX=WccValues(X,XMap,MLKP);
    DistanceX = ones(1,MLKP.Nunits) - CorrValuesX;
else
% minimum of Euclidean distances, absolute values or Tanimoto distances
    if (DistTypeX == 'EUC')
        DistanceX = dist(X,XMap);
    elseif (DistTypeX == 'ABS')
        DistanceX = sum(abs(XMap-(ones(MLKP.Nunits,1)*X)'));
    elseif (DistTypeX == 'WDD')
        DistanceX = WddValues(X,XMap,MLKP);
    else
        DistanceX = TanimotoDistance(X,XMap,MLKP);
    end
    DistanceX = DistanceX/max(DistanceX);
end

DistTypeY=upper(MLKP.DistTypeY);
if (DistTypeY== 'COR')
% maximum of scaled inner products
    CorrValuesY = CalcCorrValues(Y,YMap);
    DistanceY = ones(1,MLKP.Nunits) - CorrValuesY;
elseif (DistTypeY == 'WCC')
    CorrValuesY=WccValues(Y,YMap,MLKP);
    DistanceY = ones(1,MLKP.Nunits) - CorrValuesY;
else
% minimum of Euclidean distances, absolute values or Tanimoto distances
    if (DistTypeY == 'EUC')
        DistanceY = dist(Y,YMap);
    elseif (DistTypeY == 'ABS')
        DistanceY = sum(abs(YMap-(ones(MLKP.Nunits,1)*Y)'));
    elseif (DistTypeY == 'WDD')
        DistanceY = WddValues(Y,YMap,MLKP);
    else
        DistanceY = TanimotoDistance(Y,YMap,MLKP);
    end
    MaxY=max(DistanceY);
    if MaxY > 0
        DistanceY = DistanceY/MaxY;
    end
end

% determine simultaneous winner
[Value, Pos] = min(Alpha*DistanceX+(1-Alpha)*DistanceY);

% if necessary, calculate normalised inner-product for weighting
if (upper(MLKP.AdaptLearn) == 'Y' | upper(MLKP.BoltzmannMode) ~= 'NOT')
    Value = 2 - Value;
else
    Value = 1;
end

⌨️ 快捷键说明

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