
README file for prototype slow-feature inverting test software by Bill
Softky, Redwood Neuroscience Institute

How to use:  

You need to install the build utility "jam" (free from Perforce software; it's like "make", but 
much better, and uses the Jamfile instead of a Makefile).

Just run "jam" in this directory, and it will build the executable "PredictorTest".  Run that
to generate some slow-feature data, extract the slow features, and run the predictions.

As configured PredictorTest runs a small "retina" exposed to three different widths of 
gaussian blur, moving at a constant velocity.... the generating parameters, the extracted
slow features (which ought to mimick the those parameters), the raw data, and the prediction
errors are all written to the "Data/" directory.

To try the program on simpler data-clouds, just comment-out the lines around "WiskottRetina" and
un-comment those around either "circleCloud" (a near-circle on a plane) or "coilCloud" (a 
lissajou figure in 3-d).


What it means:

Console output ought to look like this:  

--------
[bill@localhost testDir]$ PredictorTest
just wrote generating params for retina to file Data/retinaParams
just wrote raw cloud points to Data/rawCloud
finished writing slow feature values to Data/slowFeatures
0.021322 0.031526 0.043372
just showed eignevalues of ddtVariance;  should be increasing
done calling kmedoids; success = 1 / 10
just got clusters; wrote to file 'Data/specificAnchors'
 normalized accumError = 0.0462633457 / 1.0 accumDot=0.983836
 1097 high-confidence / 1997 possible
  median high-conf error ratio = 0.026374 low=0.038795
 median logProb = -0.105505

--------
The first numbers are the variances--eigenvalues-- of the slow features extracted (e.g.
 three in this case), in ascending order.

kmedoids is the k-median clustering routine which finds the "specific anchors", i.e. the 
anchor-points which represent the input-space manifold.

accumError is the mean relative error for the predictions (e.g. about 4% here), and accumDot
is the mean dot-product between the prediction and the actual data.

The errors are also sorted into high- and low-confidence batches (e.g. 1097 high-conf
predictions out of 1997 attempts) based on the log-probability estimated from the covariance
gaussians, and the median errors for those two groups are shown.



Feel free to contact me with any questions or problems:  

Bill Softky
bsoftky@rni.org
mrbill@softky.com
(650)329-0256  home phone

