m8ta
You are not authenticated, login.
text: sort by
tags: modified
type: chronology
{762}
hide / / print
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

  • Details a method of sampling + covariance matrix approximation to find the extrema of a continuous (but intractable) fitness function
  • HAs flavors of RLS / Kalman filtering. Indeed, i think that kalman filtering may be a more principled method for optimization?
  • Can be used in high-dimensional optimization problems like finding optimal weights for a neural network.
  • Optimum-seeking is provided by weighting the stochastic samples (generated ala a particle filter or unscented kalman filter) by their fitness.
  • Introductory material is quite good, actually...

{260}
hide / / print
ref: neuro-0 tags: spike sorting dendogram distance matrix Stapleton date: 04-02-2007 15:07 gmt revision:4 [3] [2] [1] [0] [head]

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

{220}
hide / / print
ref: math notes-0 tags: linear_algebra BLAS FFT library programming C++ matrix date: 02-21-2007 15:48 gmt revision:1 [0] [head]

Newmat11 -- nice, elegant BLAS / FFT and matrix library, with plenty of syntactic sugar.