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

📄 runica.m

📁 独立主成分分析的工具箱
💻 M
字号:
%Assumes image gravalues are in rows of x. Note x gets overwritten.
%Will find N independent components, where N is the number of images.

%There must be at least 5 times as many examples (cols of x) as the
%dimension of the data (rows of x). 

N=size(x,1); P=size(x,2); M=N;	 %M is dimension of the ICA output
spherex;                          % remove first and second order stats from x
xx=inv(wz)*x;                     % xx thus holds orig. data, w. mean extracted.

%******** setup various variables
w=eye(N); count=0; perm=randperm(P); sweep=0; Id=eye(M);
oldw=w; olddelta=ones(1,N*M); angle=1000; change=1000;

%******** Train. outputs a report every F presentations.
% Watch "change" get small as it converges. Try annealing learning 
% rate, L, downwards to 0.0001 towards end.
% For large numbers of rows in x (e.g. 200), you need to use a low 
% learning rate (I used 0.0005). Reduce if the output blows 
% up and becomes NAN. If you have fewer rows, use 0.001 or larger.

B=1; L=0.005;F=5000; for I=1:1000, sep96; end; 
B=1; L=0.003;F=5000; for I=1:200, sep96; end; 
B=1; L=0.002;F=5000; for I=1:200,sep96;end;
B=1; L=0.001;F=5000; for I=1:200,sep96;end;

%for small samples


%******** 
uu=w*wz*xx;  % make separated output signals.
cov(uu')     % check output covariance. Should approximate 3.5*I.

⌨️ 快捷键说明

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