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

📄 converg_check.m

📁 Matlab package for PCA for datasets with missing values
💻 M
字号:
%  CONVERG_CHECK - Check convergence criteria%%  convmsg = CONVERG_CHECK( opts, lc, angleA, sd_iter ) checks%  convergence criteria and generates a message that should be%  displayed.%  This software is provided "as is", without warranty of any kind.%  Alexander Ilin, Tapani Raikofunction convmsg = converg_check( opts, lc, angleA, sd_iter )convmsg = '';if angleA < opts.minangle    convmsg = ...        sprintf( [ 'Convergence achieved (angle between subpaces'...                   ' smaller than %.2e)\n' ], opts.minangle );    elseif opts.earlystop && lc.prms(end) > lc.prms(end-1)    convmsg = sprintf( 'Early stopping.\n' );    elseif isfield( opts, 'rmsstop' ) && ~isempty(opts.rmsstop) ...        && length(lc.rms)-1 > opts.rmsstop(1)        numiter = opts.rmsstop(1);    abs_tol = opts.rmsstop(2);    rel_tol = [];    if length(opts.rmsstop) > 2        rel_tol = opts.rmsstop(3);    end    rms1 = lc.rms(end-numiter);    rms2 = lc.rms(end);        if abs(rms1-rms2) < abs_tol || ...       ( length(opts.rmsstop) > 2 && abs( (rms1-rms2)/rms2 ) < rel_tol )                convmsg = ...            sprintf( 'Stop: RMS does not change much for %d iterations.\n',...                     numiter );    endelseif isfield( opts, 'cfstop' ) && ~isempty(opts.cfstop) && ...        length(lc.cost)-1 > opts.cfstop(1)        numiter = opts.cfstop(1);    abs_tol = opts.cfstop(2);    rel_tol = [];    if length(opts.cfstop) > 2        rel_tol = opts.cfstop(3);    end    cost1 = lc.cost(end-numiter);    cost2 = lc.cost(end);        if abs(cost1-cost2) < abs_tol || ...       ( length(opts.rmsstop) > 2 && abs( (cost1-cost2)/cost2 ) < rel_tol )                convmsg = ...            sprintf( 'Stop: Cost does not change much for %d iterations.\n',...                     numiter );    endelseif nargin >4 && sd_iter == 40    convmsg = ...        sprintf(...            [ 'Slowing-down stop. ' ...              'You may continue by changing the gradient type.\n' ] );end

⌨️ 快捷键说明

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