📄 adaptlearnparams.m
字号:
function [AlphaX,AlphaY,RadiusX,RadiusY,DecayFract] = AdaptLearnParams(iter,MLKP);
AlphaX=MLKP.AlphaMaxX-(MLKP.AlphaMaxX-MLKP.AlphaMinX)*iter/MLKP.MaxIter;
AlphaY=MLKP.AlphaMaxY-(MLKP.AlphaMaxY-MLKP.AlphaMinY)*iter/MLKP.MaxIter;
F = 1.0 / MLKP.ShrinkCutOff;
if upper(MLKP.Shrink)=='EXP'
if MLKP.RadiusMaxX == MLKP.RadiusMinX
RadiusX = MLKP.RadiusMaxX;
else
ValX=F*log(MLKP.RadiusMaxX-MLKP.RadiusMinX+1);
RadiusX=MLKP.RadiusMinX+floor(exp(-iter*ValX/MLKP.MaxIter)*(MLKP.RadiusMaxX-MLKP.RadiusMinX+1));
end
if MLKP.RadiusMaxY == MLKP.RadiusMinY
RadiusY = MLKP.RadiusMaxY;
else
ValY=F*log(MLKP.RadiusMaxY-MLKP.RadiusMinY+1);
RadiusY=MLKP.RadiusMinY+floor(exp(-iter*ValY/MLKP.MaxIter)*(MLKP.RadiusMaxY-MLKP.RadiusMinY+1));
end
else
RadiusX=max(0,ceil(MLKP.RadiusMaxX-(MLKP.RadiusMaxX-MLKP.RadiusMinX)*F*iter/MLKP.MaxIter));
RadiusY=max(0,ceil(MLKP.RadiusMaxY-(MLKP.RadiusMaxY-MLKP.RadiusMinY)*F*iter/MLKP.MaxIter));
end
if (upper(MLKP.WeightDecay) == 'Y')
F = 1.0 / MLKP.WeightDecayCutOff;
if (upper(MLKP.WeightDecayMode) == 'EXP')
DecayFract=1-exp(-MLKP.WeightDecayFactorStart-...
(MLKP.WeightDecayFactorEnd-MLKP.WeightDecayFactorStart)*...
F*(iter-1)/(MLKP.MaxIter-1));
else
FractStart=exp(-MLKP.WeightDecayFactorStart);
FractEnd=exp(-MLKP.WeightDecayFactorEnd);
DecayFract=1-max(0,(FractStart-(FractStart-FractEnd)*F*(iter-1)/(MLKP.MaxIter-1)));
end
else
DecayFract=1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -