Lab 3: Categorising with CANT
- Now we're going to play with my neural net simulator, CANT.
- An old
tutorial might be worth a look.
- Grab CANT3939.zip and stick it
somewhere.
- The way to install it for the old version (There's probably a better
below) is pretty close. A slightly better way (not thoroughly
tested) is:
- Take the zip file and put it in the eclipse working directory
c:/users/public/workspace.
- Unzip, and move the CANT23 directory up to the workshpace.
- In Eclipse Import/General/Existing_Projects_into_Workspace
then select the CANT23 directory.
- There's probably a better way to do this, but...
- In Eclipse Open up a new java project names CANT23.
Make sure that the execution JRE is JavaSE-1.6 (others may
work).
- Grab CANT3939.zip and stick it
somewhere.
- From the Eclpse File menu, import the archive file.
- Move all the src files up to CANT23/src/defaultpackage
- Move param.xml up to CANT23
- Now run the base class CANT23.java, which is in the default package
(none) under src. Open the file, and run it as an application.
- You should get a window with a blue matrix and 400 cells.
- Each cell represents a neuron.
- If you widen the window, you can step or start.
- Try to get the neurons to persistently fire without external
activation, by setting parameters.
- Change the patterns by modifying param.xml.
- Can you stick in a positionWindow function so you don't have
to widen the screen when you start?
- Can you make your own system with subclassing (like iris3)?
- Don't worry, we're only going to do CANT one more time in week 15.
- Run iris3CANT.
- This trains for 23000 cycles.
- It's one half of a 2-fold test.
- Can you switch it to run the other half?
- What do the two scores mean?
- Can you turn off inhibition in the SOM net.
- What effect does this have?
- What does the kludge do?
- Can you modify it to print out some of your own data?
- Save the network. What does it mean?
- What would you need to do to handle another categorisation task?
- Will it work for all tasks?
- Note that there are three main purposes of this lab: 1. understand
what categorisation (with any ML system) means. 2. have an idea of
what neurons do. 3. get some experience with relatively large code
systems.