PSC 128/NPB 163

Lab #8


(due Monday 3/11)



1. Winner-take-all learning

In the last assignment, you saw that linear Hebbian learning, which converges to the principal components of the data, did not provide a particularly useful description of the data in the array D2. In this problem, you will see if a competitive hebbian learning network can discover the clusters in this data.

a) Plot the data contained in the array D2.

b) Now train a network consisting of four neurons on this data using the standard winner-take-all learning rule (eq. 9.6/9.7 of HKP chapter 9). Replot the weight vector on each update so you can watch the weight vectors evolve (by creating a graphics handle with erase mode ‘xor’ and using set(h,..) as in the past assignments. Note: you may need to employ one of the techniques listed on p. 221 to avoid dead units.

c) Why are four neurons are necessary here rather than just two? How would you change the competition and learning rule so that just two units are necessary?


2. Self-organizing maps

a) Download the script kohonen2.m from the web site and make sure you understand the implementation of the Kohonen’s algorithm (eqs. 9.21/9.22 of HKP chapter 9).

b) Run the program and observe the map adapt to the distribution of the data.

c) Now create a “lesion” in the input array, so that a specific region is devoid of stimulation. How does the map change? How does this correspond to the types of changes observed in the cortex in response to peripheral nerve damage, such as discussed in Mitch’s lecture?