forked from guetlove/FastICA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gui_help.m
224 lines (204 loc) · 14.2 KB
/
gui_help.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
function gui_help(which_help)
%
% Used by FASTICAG
% All the help texts and title used by GUI are stored here.
% Make changes here.
% Also displays the helpwindow with the selected text
% @(#)$Id: gui_help.m,v 1.6 2005/10/19 13:05:34 jarmo Exp $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
switch which_help
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'pcamat'
helptitle = 'FastICA: Reduce dimension';
helptext=[ ...
'You may reduce the dimension of the data by selecting only the '
'subspace corresponding to certain eigenvalues of the covariance '
'matrix of the data. Give the indices of the first and last '
'eigenvalues (sorted in descending order) to be included (all '
'eigenvalues in between will be included as well). The eigenvalues '
'and their indices can be seen in the graphical plot now on the '
'screen. The heights of the bars give the eigenvalues, with indices '
'below. '
' '
'For example, give ''1'' and ''n'' if you want to reduce the dimension '
'to n by principal component analysis, which means discarding the '
'subspaces corresponding to the smallest eigenvalues. Such a '
'dimension reduction may reduce noise and improve the performance of'
'ICA. '];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'gui_cb_about'
helptitle='About FastICA';
helptext =[ ...
'FastICA for Matlab 7.x and 6.x '
'Version 2.5, October 19 2005 '
'Copyright (c) Hugo Gävert, Jarmo Hurri, Jaakko Särelä, and Aapo Hyvärinen.'
' '
'For more information please see: '
'http://www.cis.hut.fi/projects/ica/fastica/ '];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'gui_cb_help'
helptitle='FastICA GUI';
helptext = [...
'Basic function: '
' '
'- Click LOAD DATA and give the name of the variable that contains '
' the data. '
' '
'- Click DO ICA to perform the analysis. '
' '
'- Click SAVE RESULTS to store the results for future use. '
' '
'Options: '
' '
'If the input matrix contains the signals as column vectors instead of '
'row vectors, click on TRANSPOSE to transpose the data matrix. '
' '
'Click on PLOT DATA to see the data as 1-D time signals. '
' '
'Clicking REDUCE DIM gives you a graphical plot of the eigenvalue '
'structure of the covariance matrix of the data. You can then reduce '
'the dimension of the data by retaining only the subspaces corresponding to '
'the largest (or smallest) eigenvalues (i.e. variances). To undo this '
'operation click ORIGINAL DIM. You can plot the whitened (preprocessed '
'data) by PLOT WHITENED. '
' '
'Click on DO ICA to perform independent component analysis. '
'Clicking on PLOT ICS has the same effect, except that DO ICA forces '
'recomputation of ICA. '
' '
'You can choose the decorrelation approach by the ''Approach'' drop-down menu:'
'deflation means that the independent components are estimated '
'one-by-one, whereas in the symmetric approach they are estimated in '
'parallel. You can now choose the number of independent components to be '
'estimated in both deflation and symmetric approaches. '
' '
'You have a choice of three nonlinearities: '
' '
'''pow3'' (default) : g(u)=u^3 '
'''tanh'' : g(u)=tanh(u) '
'''gauss'' : g(u)=u*exp(-u^2/2) '
'''skew'' : g(u)=u^2 '
' '
'For example, you could choose approach=''symmetric'' and nonlinearity=''tanh'' '
'to perform maximum likelihood ICA estimation for supergaussian data. '
' '
'If the algorithm does not seem to converge, you can use the stabilized '
'version of the fixed-point algorithm. To use the stabilized version, '
'choose ''on'' from the drop-down menu ''Stabilization''. '
'If you have specified a value less than 1 for the parameter ''mu'' from '
'the ''Advanced Options'' menu then the ''Stabilization'' drop-down menu is '
'not active. This is because if the parameter ''mu'' is less than 1 then the '
'program will use the stabilized code. Please see the help for '
'Advanced Options for more information about stabilization. '
' '
'The ADVANCED OPTIONS menu has its own HELP button. '
' '
'During computations, an INTERRUPT button appears. Clicking the button '
'interrupts the computations. '];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'gui_advc'
helptitle='FastICA GUI: Advanced options';
helptext = [...
'Advanced options: '
' '
'In some cases, it may be desired to improve the statistical '
'performance of the algorithm by using a fine-tuning procedure. This '
'means that after (initial) convergence, the algorithm is run '
'(possibly) with a different nonlinearity, and using a smaller step '
'size and the stabilized version of the fixed-point algorithm. '
'You can specify the nonlinearity that will then be used with the '
'parameter ''Finetune''. If you set the the finetuning to ''off'', then the'
'fine-tuning won''t be done. '
' '
'You can also fine-tune the nonlinearities used in the fixed-point '
'algorithm. '
'The nonlinearities tanh and gauss contain parameters a1 and a2, so '
'that the nonlinearities are in fact defined as: '
'''tanh'' : g(u)=tanh(a1*u) '
'''gauss'' : g(u)=u*exp(-a2*u^2/2) '
'The default values of a1 and a2 are 1, in which case they effectively '
'disappear from the definitions. '
' '
'If the algorithm does not seem to converge, you can use the stabilized'
'version of the fixed-point algorithm. There are two ways of doing '
'this. The first one is to explicitly specify the value of the step '
'size parameter ''mu''. The default value is 1. Choosing a value that '
'is smaller than 1 implies that the computations are made using the '
'stabilized fixed-point algorithm. The second way to use the stabilized'
'version is simpler: choose ''on'' in the drop-down menu ''stabilization'' '
'(on the main menu page). Then the value of mu will be changed '
'automatically during the ICA calculations. If the program senses that '
'the algorithm is stuck between two points, it will halve the value of '
'mu (.5 * mu) for duration of one round. (This is called a ''stroke.''). '
'Also if there is no convergence before half of the maximum number of '
'iterations has been reached then the mu will be halved for the rest '
'of the rounds. '
' '
'The parameter ''epsilon'' is used to decide if the algorithm has '
'converged. A larger epsilon makes the convergence test less strict. '
'Note that if you use finetuning or stabilization, epsilon may need to '
'be reduced accordingly. '
' '
'''Maximum number of iterations'' gives the absolute maximum of '
'iterations used in the estimation procedure. In the deflation '
'approach, this is iterations per component. '
' '
'You can input the ''Initial state'' of the algorithm, i.e. the initial '
'value for A. Choose ''guess'' in the drop-down menu ''Initial state'', '
'click on ''Load Initial guess'', and give the name of the variable in '
'Matlab workspace that contains the initial value. '
' '
'In the drop-down menu ''Display mode'' you can choose if the results are'
'plotted during computations. You may wish to switch this off '
'especially if you have lots of data which takes a long time to plot. '
'''Iteration between displays'' tells how often the running estimates of '
'the independent components are plotted: A value of 1 means after every'
'iteration. '
' '
'If the data vector is very long (more than 10 000 points), it may be '
'advisable to use only a part of the data at every iteration. The '
'option ''Sample size'' allows you to give the proportion (0-1) of the '
'data that is used at every step. The sample is chosen randomly at '
'every step. '
' '
'Click on DEFAULT to return to default values for all advanced options.'
'You can make the new values take effect without closing the window by '
'clicking APPLY. '];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'gui_lc_data'
helptitle='FastICA GUI: Load data';
helptext = [...
'Input the name of the variable in Matlab workspace that contains the '
'data. The data must be in a single matrix, each row (or column) giving'
'the values of one signal. If the signals are in column vectors, click '
'TRANSPOSE after loading the data to transpose the data matrix. '
' '
'If the data is in a file, load it to Matlab workspace first. '];
case 'gui_lc_guess'
helptitle='FastICA GUI: Load guess';
helptext = [...
'Input the name of the variable in Matlab workspace that contains the'
'initial value for the mixing matrix A, and click OK. If the initial '
'value is in a file, load it to Matlab workspace first. '];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'gui_sc'
helptitle='FastICA GUI: Save results';
helptext = [...
'The results will be saved as variables in Matlab workspace. '
'You give a suffix that identifies the variables. For example, if you '
'give ''_FASTICA'', the results will be stored in the following variables:'
' '
'W_FASTICA : estimate of the separating matrix '
'A_FASTICA : estimate of the mixing matrix '
'IC_FASTICA : estimated independent components (row vectors) '
' '
'Additional results related to preprocessing: '
'D_FASTICA and E_FASTICA : give the eigenvalue decomposition of the '
' covariance matrix '
'whiteningMatrix_FASTICA : matrix performing whitening and dimension '
' reduction '
'dewhiteningMatrix_FASTICA : the pseudoinverse of the whitening matrix '
'whitesig_FASTICA : whitened (i.e. preprocessed) signals. '];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
helpwin(helptext, helptitle);