亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? icaml.m

?? Independent Component Analysis源代碼,最大似然方法
?? M
?? 第 1 頁 / 共 2 頁
字號:
% 

% Call:  [X, info {, perf {, D}}] = ucminf(fun,par, x0, opts {,D0})

%

% Input parameters

% fun  :  String with the name of the function.

% par  :  Parameters of the function.  May be empty.

% x0   :  Starting guess for  x .

% opts :  Vector with 4 elements:

%         opts(1) :  Expected length of initial step

%         opts(2:4)  used in stopping criteria:

%             ||g||_inf <= opts(2)                     or 

%             ||dx||_2 <= opts(3)*(opts(3) + ||x||_2)  or

%             no. of function evaluations exceeds  opts(4) . 

%         Any illegal element in  opts  is replaced by its

%         default value,  [1  1e-4*||g(x0)||_inf  1e-8  100]

% D0   :  (optional)  If present, then approximate inverse Hessian

%         at  x0 .  Otherwise, D0 := I 

% Output parameters

% X    :  If  perf  is present, then array, holding the iterates

%         columnwise.  Otherwise, computed solution vector.

% info :  Performance information, vector with 6 elements:

%         info(1:3) = final values of [f(x)  ||g||_inf  ||dx||_2] 

%         info(4:5) = no. of iteration steps and evaluations of (F,g)

%         info(6) = 1 :  Stopped by small gradient

%                   2 :  Stopped by small x-step

%                   3 :  Stopped by  opts(4) .

%                   4 :  Stopped by zero step.

% perf :  (optional). If present, then array, holding 

%          perf(1:2,:) = values of  f(x) and ||g||_inf

%          perf(3:5,:) = Line search info:  values of  

%                        alpha, phi'(alpha), no. fct. evals. 

%          perf(6,:)   = trust region radius.

% D    :  (optional). If present, then array holding the 

%         approximate inverse Hessian at  X(:,end) .



%  Hans Bruun Nielsen,  IMM, DTU.  00.12.18 / 02.01.22



  % Check call 

  [x n F g] = check(fun,par,x0,opts);

  if  nargin > 4,  D = checkD(n,D0);  fst = 0;

  else,            D = eye(n);  fst = 1;    end

  %  Finish initialization

  k = 1;   kmax = opts(4);   neval = 1;   ng = norm(g,inf);

  Delta = opts(1);

  Trace = nargout > 2;

  if  Trace

        X = x(:)*ones(1,kmax+1);

        perf = [F; ng; zeros(3,1); Delta]*ones(1,kmax+1);

      end

  found = ng <= opts(2);      

  h = zeros(size(x));  nh = 0;

  ngs = ng * ones(1,3);

   

  while  ~found

    %  Previous values

    xp = x;   gp = g;   Fp = F;   nx = norm(x);

    ngs = [ngs(2:3) ng];

    h = D*(-g(:));   nh = norm(h);   red = 0; 

    if  nh <= opts(3)*(opts(3) + nx),  found = 2;  

    else

      if  fst | nh > Delta  % Scale to ||h|| = Delta

        h = (Delta / nh) * h;   nh = Delta;   

        fst = 0;  red = 1;

      end

      k = k+1;

      %  Line search

      [al  F  g  dval  slrat] = softline(fun,par,x,F,g, h);

      if  al < 1  % Reduce Delta

        Delta = .35 * Delta;

      elseif   red & (slrat > .7)  % Increase Delta

        Delta = 3*Delta;      

      end 

      %  Update  x, neval and ||g||

      x = x + al*h;   neval = neval + dval;  ng = norm(g,inf);

      if  Trace

             X(:,k) = x(:); 

             perf(:,k) = [F; ng; al; dot(h,g); dval; Delta]; end

      h = x - xp;   nh = norm(h);

      if  nh == 0,

        found = 4; 

      else

        y = g - gp;   yh = dot(y,h);

        if  yh > sqrt(eps) * nh * norm(y)

          %  Update  D

          v = D*y(:);   yv = dot(y,v);

          a = (1 + yv/yh)/yh;   w = (a/2)*h(:) - v/yh;

          D = D + w*h' + h*w';

        end  % update D

        %  Check stopping criteria

        thrx = opts(3)*(opts(3) + norm(x));

        if      ng <= opts(2),              found = 1;

        elseif  nh <= thrx,                 found = 2;

        elseif  neval >= kmax,              found = 3; 

%        elseif  neval > 20 & ng > 1.1*max(ngs), found = 5;

        else,   Delta = max(Delta, 2*thrx);  end

      end  

    end  % Nonzero h

  end  % iteration



  %  Set return values

  if  Trace

    X = X(:,1:k);   perf = perf(:,1:k);

  else,  X = x;  end

  info = [F  ng  nh  k-1  neval  found];



% ==========  auxiliary functions  =================================



function  [x,n, F,g, opts] = check(fun,par,x0,opts0)

% Check function call

  x = x0(:);   sx = size(x);   n = max(sx);   

  if  (min(sx) > 1)

      error('x0  should be a vector'), end

  [F g] = feval(fun,x,par);

  sf = size(F);   sg = size(g);

  if  any(sf-1) | ~isreal(F)

      error('F  should be a real valued scalar'), end

  if  (min(sg) ~= 1) | (max(sg) ~= n)

      error('g  should be a vector of the same length as  x'), end

  so = size(opts0);

  if  (min(so) ~= 1) | (max(so) < 4) | any(~isreal(opts0(1:4)))

      error('opts  should be a real valued vector of length 4'), end

  opts = opts0(1:4);   opts = opts(:).';

  i = find(opts <= 0);

  if  length(i)    % Set default values

    d = [1  1e-4*norm(g, inf)  1e-8  100];

    opts(i) = d(i);

  end   

% ----------  end of  check  ---------------------------------------



function  D = checkD(n,D0)

% Check given inverse Hessian

  D = D0;   sD = size(D);

  if  any(sD - n)

      error(sprintf('D  should be a square matrix of size %g',n)), end

  % Check symmetry

  dD = D - D';   ndD = norm(dD(:),inf);

  if  ndD > 10*eps*norm(D(:),inf)

      error('The given D0 is not symmetric'), end

  if  ndD,  D = (D + D')/2; end  % Symmetrize      

  [R p] = chol(D);

  if  p

      error('The given D0 is not positive definite'), end

    

function  [alpha,fn,gn,neval,slrat] = ...
              softline(fun,fpar, x,f,g, h)

% Soft line search:  Find  alpha = argmin_a{f(x+a*h)}

  % Default return values 

  alpha = 0;   fn = f;   gn = g;   neval = 0;  slrat = 1;

  n = length(x);  

  

  % Initial values

  dfi0 = dot(h,gn);  if  dfi0 >= 0,  return, end

  fi0 = f;    slope0 = .05*dfi0;   slopethr = .995*dfi0;

  dfia = dfi0;   stop = 0;   ok = 0;   neval = 0;   b = 1;

  

  while   ~stop

    [fib g] = feval(fun,x+b*h,fpar);  neval = neval + 1;

    dfib = dot(g,h); 

    if  b == 1, slrat = dfib/dfi0; end

    if  fib <= fi0 + slope0*b    % New lower bound

      if  dfib > abs(slopethr),  stop = 1;

      else

        alpha = b;   fn = fib;   gn = g;   dfia = dfib;  

        ok = 1;   slrat = dfib/dfi0;

        if  (neval < 5) & (b < 2) & (dfib < slopethr)

          % Augment right hand end

          b = 2*b;

        else,  stop = 1; end

      end

    else,  stop = 1; end   

  end

  

  stop = ok;  xfd = [alpha fn dfia; b fib dfib; b fib dfib];

  while   ~stop

    c = interpolate(xfd,n);

    [fic g] = feval(fun, x+c*h, fpar);   neval = neval+1;

    xfd(3,:) = [c  fic  dot(g,h)];

    if fic < fi0 + slope0*c    % New lower bound

      xfd(1,:) = xfd(3,:);   ok = 1;

      alpha = c;   fn = fic;   gn = g;  slrat = xfd(3,3)/dfi0;

    else,  xfd(2,:) = xfd(3,:);  ok = 0; end

    % Check stopping criteria

    ok = ok & abs(xfd(3,3)) <= abs(slopethr);

    stop = ok | neval >= 5 | diff(xfd(1:2,1)) <= 0;

  end  % while   

%------------  end of  softline  ------------------------------

  

function  alpha = interpolate(xfd,n);

% Minimizer of parabola given by

% xfd(1:2,1:3) = [a fi(a) fi'(a); b fi(b) dummy]



  a = xfd(1,1);   b = xfd(2,1);   d = b - a;   dfia = xfd(1,3);

  C = diff(xfd(1:2,2)) - d*dfia;

  if C >= 5*n*eps*b    % Minimizer exists

    A = a - .5*dfia*(d^2/C);

    d = 0.1*d;   alpha = min(max(a+d, A), b-d);

  else

    alpha = (a+b)/2;

  end

%------------  end of  interpolate  --------------------------





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合色区另类av| 国产亚洲一区二区三区四区| 狠狠网亚洲精品| 天天射综合影视| 亚洲一区av在线| 国产成人一级电影| 成人免费va视频| 成人18精品视频| 91美女片黄在线| 91成人在线观看喷潮| 91久久人澡人人添人人爽欧美| 91精品在线观看入口| 在线播放欧美女士性生活| 制服丝袜亚洲精品中文字幕| ...xxx性欧美| 一区二区三区波多野结衣在线观看| 亚洲欧美国产三级| 婷婷夜色潮精品综合在线| 97国产精品videossex| 欧美性猛交xxxxxx富婆| 777午夜精品免费视频| 亚洲精品国久久99热| 日韩激情在线观看| 国产成人免费xxxxxxxx| 日韩免费电影网站| 精品国产乱码久久久久久影片| 久久精品夜色噜噜亚洲aⅴ| 久久精品噜噜噜成人av农村| 国产激情一区二区三区四区 | 成人爽a毛片一区二区免费| 日韩欧美成人一区二区| 日韩av在线播放中文字幕| 国产一区福利在线| 在线中文字幕一区二区| 亚洲图片你懂的| 精品无人区卡一卡二卡三乱码免费卡| 国产成人鲁色资源国产91色综| 精品国产欧美一区二区| 国产精品一线二线三线精华| 欧美性色欧美a在线播放| 亚洲夂夂婷婷色拍ww47| 欧美私模裸体表演在线观看| 亚洲成人免费电影| 风间由美性色一区二区三区| 在线电影欧美成精品| 青青草97国产精品免费观看 | 欧美激情综合在线| 亚洲大片在线观看| 91精品婷婷国产综合久久性色 | 欧美久久久久久久久久| 日本中文字幕一区| 26uuu久久天堂性欧美| 亚洲电影欧美电影有声小说| 欧美美女网站色| 久久精品国产第一区二区三区| 久久网站最新地址| 成a人片国产精品| 亚洲影院在线观看| 欧美成人官网二区| 日韩电影在线观看一区| 日韩精品中文字幕一区| 粉嫩久久99精品久久久久久夜| 亚洲男同1069视频| 欧美一区二区三区视频免费播放 | 偷拍一区二区三区| 精品美女在线播放| 91网址在线看| 美女视频黄久久| 666欧美在线视频| 国产91精品精华液一区二区三区 | 99视频精品全部免费在线| 久久久综合网站| 国产乱子轮精品视频| 国产精品久久久久影院老司| 成人午夜av电影| 午夜一区二区三区在线观看| 久久精品无码一区二区三区| 欧美日韩国产另类一区| 亚洲一区在线视频观看| 久久久久久9999| 欧美日韩成人综合| 99精品视频一区| 精品一区二区免费视频| 亚洲一区在线视频| 中文字幕av一区二区三区高| 欧美丰满一区二区免费视频| 国产91精品露脸国语对白| 美女视频一区二区三区| 亚洲一级二级三级| 日韩毛片在线免费观看| 久久精品水蜜桃av综合天堂| 欧美区在线观看| 色欲综合视频天天天| 亚洲一区二区三区四区五区黄 | 欧美精品日韩精品| 99精品黄色片免费大全| 国产一区二区三区香蕉| 天天影视涩香欲综合网| 一区二区三区在线视频观看| 国产丝袜美腿一区二区三区| 日韩精品一区二区三区四区| 欧美三级电影在线观看| 蜜桃av一区二区在线观看| 一区二区三区**美女毛片| 国产精品天干天干在线综合| 99国产精品国产精品久久| 国产精品99久久久久| 国内外成人在线| 蜜桃91丨九色丨蝌蚪91桃色| 午夜精品久久久久久久久久 | 视频在线观看91| 亚洲成人午夜影院| 亚洲国产精品自拍| 久久综合久久鬼色中文字| 欧美一区二区三区视频免费播放 | 色综合久久66| 日本福利一区二区| 一本色道亚洲精品aⅴ| 99国内精品久久| 在线亚洲精品福利网址导航| 精品一区二区三区在线播放| 蜜臀av一区二区| 激情成人午夜视频| 国产精品996| jizzjizzjizz欧美| 色偷偷久久一区二区三区| 在线亚洲一区二区| 337p亚洲精品色噜噜| 日韩欧美一二三四区| 26uuu亚洲| 一色屋精品亚洲香蕉网站| 亚洲精品免费在线观看| 天天亚洲美女在线视频| 国产在线播精品第三| 成人a免费在线看| 色狠狠色噜噜噜综合网| 在线播放视频一区| 久久蜜桃av一区精品变态类天堂| 国产欧美一区二区精品秋霞影院| 日韩一区二区在线看片| 欧美日韩在线一区二区| 欧美一区二区私人影院日本| 欧美成人性福生活免费看| 亚洲国产激情av| 午夜精品久久久久久| 久久99国产精品麻豆| www.日本不卡| 欧美男女性生活在线直播观看| 精品日韩一区二区三区免费视频| 国产精品亲子乱子伦xxxx裸| 亚洲综合视频在线| 韩国v欧美v日本v亚洲v| 欧美午夜电影一区| 精品国产一区二区三区av性色| 亚洲欧美自拍偷拍| 视频一区二区三区中文字幕| 粉嫩av一区二区三区在线播放| 欧美日韩在线观看一区二区 | 国产乱子轮精品视频| 欧美午夜寂寞影院| 国产欧美日韩精品a在线观看| 亚洲一区二区三区视频在线 | 男人的j进女人的j一区| 粉嫩欧美一区二区三区高清影视 | 欧美精品一区二区三区很污很色的| 亚洲欧美综合色| 蜜桃av一区二区在线观看| 91极品视觉盛宴| 久久久久久99久久久精品网站| 亚洲成a人片综合在线| 成人av中文字幕| 欧美r级电影在线观看| 午夜av一区二区| 91浏览器打开| 国产精品久久久久久久裸模| 美国毛片一区二区三区| 欧美在线综合视频| 国产精品成人一区二区艾草| 国产精品一区二区久激情瑜伽| 欧美日韩精品高清| 亚洲欧美日韩一区二区三区在线观看| 狠狠色丁香九九婷婷综合五月| 欧美在线观看视频一区二区三区| 国产精品久久一卡二卡| 国产综合久久久久影院| 4438x亚洲最大成人网| 亚洲国产精品麻豆| 日本电影亚洲天堂一区| 亚洲精品国久久99热| 99国产精品久久久久久久久久久| 国产欧美精品一区二区色综合朱莉| 毛片av一区二区| 日韩一区二区三区视频在线| 偷窥少妇高潮呻吟av久久免费| 91激情在线视频| 一区二区三区中文在线| 在线免费精品视频| 亚洲国产一区二区视频| 精品视频免费在线| 日韩专区一卡二卡|