m8ta
You are not authenticated, login. |
|
{762} |
ref: work-0
tags: covariance matrix adaptation learning evolution continuous function normal gaussian statistics
date: 06-30-2009 15:07 gmt
revision:0
[head]
|
|
http://www.lri.fr/~hansen/cmatutorial.pdf
| ||
{260} | ||
Friday March 30 Jen shared an interesting algorithm for spike sorting: dist=pdist(psi); %This finds the Euclidean distances for all of the points (waveforms) in psi; %dist is of the form of a row vector of length m(m-1)/2. Could convert into a %distance matrix via squareform function, but is computationally inefficient. %m is the number of waveforms in psit. link=linkage(dist); %This performs a nearest neighbor linkage on the distance matrix and returns %a matrix of size (m-1)x3. Cols 1 and 2 contain the indices of the objects %were linked in pairs to form a new cluster. This new cluster is assigned the %index value m+i. There are m-1 higher clusters that correspond to the interior %nodes of the hierarchical cluster tree. Col 3 contains the corresponding linkage %distances between the objects paired in the clusters at each row i. [H,T]=dendrogram(link,0); %This creates a dendrogram; 0 instructs the function to plot all nodes in %the tree. H is vector of line handles, and T a vector of the cluster %number assignment for each waveform in psit. It looks real nice in theory, and computes very quickly on 2000 x 32 waveform data (provided you don't want to plot) -- however, I'm not sure if it works properly on synthetic data. Here are the commands that i tried: v = [randn(1000, 32); (randn(1000, 32) + rvecrep(ones(1,32),1000))]; [coef, vec] = pca(v); vv = v * vec(:, 1:2); dist = pdist(vv); link = linkage(dist); [H,T]=dendrogram(link,0); figure DensityPlotOpenGL(vv(:,1), vv(:,2)) -- the fitted dendogram, without PCA
-- the fitted dendogram, with PCA
-- the asociated PCA plot of the data, clearly showing two clusters. need to figure out how jen made the colorized plots |