Wednesday, May 09, 2012

Where have all my images gone?

Very funny, Google! All of the images have disappeared from this blog.

Friday, July 22, 2011

Embedding a Computable Document in a Blogger Post

Peeking at the source code in the Wolfram blog post here has revealed to me how to embed CDF documents in Blogger posts, and here is the proof:



To view this content, please install Wolfram CDF Player. You can install the free CDF Player here.

Thursday, July 21, 2011

Computable Document Format

A post Launching the Computable Document Format (CDF): Don’t Compress the Idea, Expand the Medium at the Wolfram Blog explains why CDF is so important, and it points to some nice examples of its use. If you find that mapping your high-dimensional thoughts onto a 1-dimensional line (i.e. a traditional static document) destroys most of the information, then CDF is for you (i.e. an interactive dynamic document). I have always found that using Mathematica - the engine under CDF's hood - has given me an enormous advantage over my peers who used  "A N Other Product", because it allows me to do literate programming and lots more in a unified way. However, I always ended up rewriting everything in traditional 1-dimensional style to communicate with other people - usually not very successfully. CDF changes the game because it allows me to present material in the natural form in which it was created in the first place. Not only that, the interactivity of CDF it makes it much easier for the reader to understand what you are saying/doing. My previous post contains some practise runs at using CDF, though I'm sure I will do better after I have studied the Wolfram's examples of CDF use.

What about long-term archiving of material? Will CDF be around in 10 (or 100) years? As far as I know, the only "complete" and "open" document format with a long track record is TeX/LaTeX, so that is my preferred choice to ensure my place on the "dusty shelf" in perpetuity. Sometimes, I even print things out on paper!

Tuesday, July 19, 2011

Interactive Demonstrations - Computable Document Format

Wolfram Research supplies a free plug-in for viewing and interacting with online documents saved from Mathematica in Computable Document Format (CDF) - the plug-in can be downloaded from here. I thought that I would try it out on a few of my interactive Mathematica demonstrations, and here are the (draft) results for you to enjoy:
  1. Topographic String: This grows a 1-dimensional self-organising map, starting from 3 nodes and progressively inserting additional nodes. It is an implementation of the SOM training method that I published in 1988: "Self-organising multilayer topographic mappings", Proceedings of 2nd International Conference on Neural Networks (San Diego, USA), pp. I/93-I/100 - an online version is available here.
  2. Ising Model: This simulates a 2-dimensional Ising model, and it allows you to dynamically vary the clique factors for the 4 distinct types of 2-clique (i.e. N/S, E/W, NE/SW, SE/NW) to see how the Ising model behaves. It is an implementation of the Ising model simulations described in a report that I wrote in 1985: "The implications of Boltzmann-type machines for SAR data processing: a preliminary survey", RSRE technical report, 3815 - an online version is available here.
  3. BZ Reaction: This simulates the Belousov–Zhabotinsky reaction-diffusion system - it's very pretty.
  4. Current Algebra: This interactively computes commutators of products of current operators - it's a bit inflexible, but it shows some interesting Mathematica techniques in action.
  5. IMO 2011: This is hot off the press in response to Terence Tao's Minipolymath3 project: 2011 IMO, which plans to work on Q6 of the 2011 International Mathematics Olympiad. I have implemented an interactive version of Q6, so you can get an intuitive feel for the geometry involved. Update: I see that TT eventually decided to go with Q2 rather than Q6. Oh well, my interactive Q6 is fun to play with anyway.

Wednesday, December 22, 2010

Some More Unpublished Work

Here are some more unpublished papers that I have uploaded to the arXiv:
  1. Self-Organising Stochastic Encoders

    The processing of mega-dimensional data, such as images, scales linearly with image size only if fixed size processing windows are used. It would be very useful to be able to automate the process of sizing and interconnecting the processing windows. A stochastic encoder that is an extension of the standard Linde-Buzo-Gray vector quantiser, called a stochastic vector quantiser (SVQ), includes this required behaviour amongst its emergent properties, because it automatically splits the input space into statistically independent subspaces, which it then separately encodes. Various optimal SVQs have been obtained, both analytically and numerically. Analytic solutions which demonstrate how the input space is split into independent subspaces may be obtained when an SVQ is used to encode data that lives on a 2-torus (e.g. the superposition of a pair of uncorrelated sinusoids). Many numerical solutions have also been obtained, using both SVQs and chains of linked SVQs: (1) images of multiple independent targets (encoders for single targets emerge), (2) images of multiple correlated targets (various types of encoder for single and multiple targets emerge), (3) superpositions of various waveforms (encoders for the separate waveforms emerge - this is a type of independent component analysis (ICA)), (4) maternal and foetal ECGs (another example of ICA), (5) images of textures (orientation maps and dominance stripes emerge). Overall, SVQs exhibit a rich variety of self-organising behaviour, which effectively discovers the internal structure of the training data. This should have an immediate impact on "intelligent" computation, because it reduces the need for expert human intervention in the design of data processing algorithms.

  2. A Self-Organising Neural Network for Processing Data from Multiple Sensors

    This paper shows how a folded Markov chain network can be applied to the problem of processing data from multiple sensors, with an emphasis on the special case of 2 sensors. It is necessary to design the network so that it can transform a high dimensional input vector into a posterior probability, for which purpose the partitioned mixture distribution network is ideally suited. The underlying theory is presented in detail, and a simple numerical simulation is given that shows the emergence of ocular dominance stripes.

Friday, December 17, 2010

Some Unpublished Work

I have decided to upload some of my unpublished work to the arXiv:

  1. Adaptive Cluster Expansion (ACE): A Multilayer Network for Estimating Probability Density Functions

    We derive an adaptive hierarchical method of estimating high dimensional probability density functions. We call this method of density estimation the "adaptive cluster expansion" or ACE for short. We present an application of this approach, based on a multilayer topographic mapping network, that adaptively estimates the joint probability density function of the pixel values of an image, and presents this result as a "probability image". We apply this to the problem of identifying statistically anomalous regions in otherwise statistically homogeneous images.

  2. Stochastic Vector Quantisers

    In this paper a stochastic generalisation of the standard Linde-Buzo-Gray (LBG) approach to vector quantiser (VQ) design is presented, in which the encoder is implemented as the sampling of a vector of code indices from a probability distribution derived from the input vector, and the decoder is implemented as a superposition of reconstruction vectors, and the stochastic VQ is optimised using a minimum mean Euclidean reconstruction distortion criterion, as in the LBG case. Numerical simulations are used to demonstrate how this leads to self-organisation of the stochastic VQ, where different stochastically sampled code indices become associated with different input subspaces. This property may be used to automate the process of splitting high-dimensional input vectors into low-dimensional blocks before encoding them.

  3. The Development of Dominance Stripes and Orientation Maps in a Self-Organising Visual Cortex Network (VICON)

    A self-organising neural network is presented that is based on a rigorous Bayesian analysis of the information contained in individual neural firing events. This leads to a visual cortex network (VICON) that has many of the properties emerge when a mammalian visual cortex is exposed to data arriving from two imaging sensors (i.e. the two retinae), such as dominance stripes and orientation maps.

Wednesday, December 08, 2010

Yawn, stretch, ...

It's time to wake things up again ...