📄 icacovb.m
字号:
%[z,W,w] = icacovb(x,tol,wb);%x input data stream%tol tolerance on stopping (dw/w)%wb 'y' - shows waitbar%z output set%W mixing matrix with time%w mixing matrix (final)function [z,W,w] = icacovb(x,tol,wb)if size(x,1) > size(x,2) error('x should be in D,N format');end;[DIM,N] = size(x);w = eye(DIM);if (wb=='y') waitbar(0,'Covariant ICA - B');end;%%x = normalis(x,x); % zero mean unit varianceeta = 0.2/max(eig(cov(x')))change = 1;n = 1;while (change > tol) a = (w*x); z = -tanh(a); xp = w*a; dw = eta*(w + xp*z'/N); w = w + dw; change = mean(mean(abs(dw)./abs(w))); if (max(abs(w))>1e10) disp('blow out, rescaling learning rate'); w = eye(DIM); eta = eta/2 change = 1; end; W(n,:) = reshape(w,1,DIM*DIM); if (wb == 'y') waitbar(tol/change); end; n = n+1;end;a = w*x;z = -tanh(a);z = z';if (wb=='y'),close;end; % the waitbarreturn;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -