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

📄 icassostruct.m

📁 一个经典的ICA算法的程序包
💻 M
字号:
function sR=icassoStruct(X)%function sR=icassoStruct([X])%%PURPOSE%%To initiate an Icasso result data structure which is meant for%storing and keeping organized all data, parameters and results%when performing the Icasso procedure. %%EXAMPLE OF BASIC USAGE%%  S=icassoStruct(X);%%creates an Icasso result structure in workspace variable S. Its%fields are initially empty except field .signal that contains%matrix X. %%INPUT %%[An argument in brackets is optional. If it isn't  given or it's% an empty matrix/string, the function will use a default value.] %%[X] (dxN matrix) the original data (signals) consisting of N%      d-dimensional vectors. Icasso centers the data (removes the %      sample mean from it) and stores it in field .signal. %      If the input argument is not given, or it is empty, %      the field is left empty.%%OUTPUT%% sR (struct) Icasso result structure that contains fields%%    .mode              (string)%    .signal            (matrix)%    .index             (matrix)%    .fasticaoptions    (cell array)%    .A                 (cell array)%    .W                 (cell array)%    .whiteningMatrix   (matrix)%    .dewhiteningMatrix (matrix)%    .cluster           (struct)%    .projection        (struct)%%DETAILS%%The following table presents the fields of Icasso result%structure. Icasso is a sequential procedure that is split into%several phases (functions). The table shows the order in which %the fields are computed, the function that is used to change the%parameters/results in the field, and lastly the phases that %the result depends on.  %%P=parameter that may be a explicit user input or a default parameter%set by Icasso%%Phase Field                  Function          depends on field(s)%                                                 %(1)  .mode                   icassoEst         P   %(1)  .signal                 icassoEst         P%(1)  .index                  icassoEst        (ICA results)%(1)  .fasticaoptions         icassoEst         P%(1)  .A                      icassoEst        (ICA results)%(1a) .W                      icassoEst        (ICA results)%(1)  .whiteningMatrix        icassoEst        (ICA results)%(1b) .dewhiteningMatrix      icassoEst        (ICA results)%%(2a) .cluster.simfcn         icassoCluster     P%(2b) .cluster.similarity     icassoCluster     1a,1b,2a%(2c) .cluster.s2d            icassoCluster     P%(2d) .cluster.strategy       icassoCluster     P%(2e) .cluster.partition      icassoCluster     2b-d%(2f) .cluster.dendrogram     icassoCluster     2b-d%(2g) .cluster.index.R        icassoCluster     2b,2c,2e%%(3a) .projection.method      icassoProjection  P%(3b) .projection.parameters  icassoProjection  P%(3c) .projection.coordinates icassoProjection  2b,3a-b%%icasso    performs the whole process with default parameters%icassoEst performs phase 1%icassoExp performs phases 2-3 with default parameters.%%(1) Data, ICA parameters, and estimation results%%   .mode (string) %     type of randomization ('bootstrap'|'randinit'|'both')%%   .signal (dxN matrix) %     the original data (signal) X (centered) where N is %     the number of samples and d the dimension%%   .index  (Mx2 matrix) %     the left column is the number of the estimation cycle, the%     right one is the number of the estimate on that cycle.%     See also function: icassoGet%%The following fields contain parameters and results of the ICA%estimation using FastICA toolbox. More information can be found,%e.g., from of function fastica in FastICA toolbox.%%   .fasticaoptions (cell array) %     contains the options that FastICA uses in estimation.%%   .A (cell array of matrices) %     contains mixing matrices from each estimation cycle%%   .W (cell array of matrices) %     contains demixing matrices from each estimation cycle%%   .whiteningMatrix (matrix) %     whitening matrix for original data (sR.signal)%%   .dewhiteningMatrix (matrix) %     dewhitening matrix for original data (sR.signal).%%(2) Mutual similarities and clustering%%Parameters and results of % -computing similarities S between the estimates, and% -clustering the estimates%are stored in field .cluster which has the following subfields:%%   .cluster.simfcn (string)%     a string option for function icassoCluster%     (icassoSimilarity); it tells how the mutual similarities%     between estimates are computed.  %%   .cluster.similarity (MxM matrix) %     mutual similarities between estimates.%%   .cluster.s2d (string) %     before clustering and computing the clustering validity index %     the similarity matrix S stored in .cluster.similarity is%     transformed into a dissimilarity matrix. This string is the%     name of the subfunction that makes the transformation: there%     is a function call%        D=feval(sR.cluster.s2d,sR.cluster.similarity); %     inside icassoCluster. Note that the dissimilarity matrix%     is not stored in the Icasso result data struct.  %%   .cluster.strategy (string) %     strategy that was used for hierarchical clustering which is%     done on dissimilarities D %   .cluster.partition (MxM matrix) %     stores the partitions resulting clustering. Each row%     partition(i,:), represents a division of M objects into K(i)%     clusters (classes). On each row, clusters must be labeled%     with integers 1,2,...,K(i), where K(i) is the number of%     clusters that may be different on each row Example:%     partition=[[1 2 3 4];[1 1 1 1];[1 1 2 2]] gives three%     different partitions where partition(1,:) means every object%     being in its own clusters; partition(2,:) means all objects%     being in a single cluster, and in partition(3,:) objects 1&2%     belong to cluster 1 and 3&4 to cluster 2.%%   .cluster.dendrogram.Z and .cluster.dendrogram.order%     stores information needed for drawing dendrogram and%     similarity matrix visualizations. More details in function%     som_linkage %%The following subfields of .cluster contain heuristic validity%scores for the partitions in .cluster.partition. If the score is%NaN it means that the validity has not been (or can't be)%computed. %%   .cluster.index.R (Mx1 vector) %     computed by subfunction rindex%%(3) Projection for visualization%%Parameters for performing the visualization projection are results%of the projection can be found in field .projection.%%  .projection has the following subfields:%%  .projection.method (string)%     projection method used in icassoProjection%%  .projection.parameters (cell array)%     contains parameters used in icassoProjection%%  .coordinates (Mx2 matrix)%     contains the coordinates of the projected estimates%%COPYRIGHT NOTICE%This function is a part of Icasso software library%Copyright (C) 2003-2005 Johan Himberg%%This program is free software; you can redistribute it and/or%modify it under the terms of the GNU General Public License%as published by the Free Software Foundation; either version 2%of the License, or any later version.%%This program is distributed in the hope that it will be useful,%but WITHOUT ANY WARRANTY; without even the implied warranty of%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the%GNU General Public License for more details.%%You should have received a copy of the GNU General Public License%along with this program; if not, write to the Free Software%Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA%02111-1307, USA.% ver 1.2 johan 100105if nargin<1|isempty(X),  X=[];else  X=remmean(X);endsR.mode=[]; sR.signal=X;sR.index=[];sR.fasticaoptions=[];sR.A=[];sR.W=[];sR.whiteningMatrix=[];sR.dewhiteningMatrix=[];sR.cluster=initClusterStruct;sR.projection=initProjectionStruct;function cluster=initClusterStructcluster.simfcn=[];cluster.similarity=[];cluster.s2d=[];cluster.strategy=[];cluster.partition=[];cluster.dendrogram.Z=[];cluster.dendrogram.order=[];cluster.index.R=[];function projection=initProjectionStructprojection.method=[];projection.parameters=[];projection.coordinates=[];

⌨️ 快捷键说明

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