CSD 3939 Home Page The Prior Page The Next Page
Middlesex Logo

Lab 3: Categorising with CANT

  1. Now we're going to play with my neural net simulator, CANT.
  2. An old tutorial might be worth a look.
  3. Grab CANT3939.zip and stick it somewhere.
  4. 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:
    1. Take the zip file and put it in the eclipse working directory c:/users/public/workspace.
    2. Unzip, and move the CANT23 directory up to the workshpace.
    3. In Eclipse Import/General/Existing_Projects_into_Workspace then select the CANT23 directory.
  5. There's probably a better way to do this, but...
    1. In Eclipse Open up a new java project names CANT23. Make sure that the execution JRE is JavaSE-1.6 (others may work).
    2. Grab CANT3939.zip and stick it somewhere.
    3. From the Eclpse File menu, import the archive file.
    4. Move all the src files up to CANT23/src/defaultpackage
    5. Move param.xml up to CANT23
  6. 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.
  7. You should get a window with a blue matrix and 400 cells.
  8. Each cell represents a neuron.
  9. If you widen the window, you can step or start.
  10. Try to get the neurons to persistently fire without external activation, by setting parameters.
  11. Change the patterns by modifying param.xml.
  12. Can you stick in a positionWindow function so you don't have to widen the screen when you start?
  13. Can you make your own system with subclassing (like iris3)?
  14. Don't worry, we're only going to do CANT one more time in week 15.
  15. Run iris3CANT.
  16. This trains for 23000 cycles.
  17. It's one half of a 2-fold test.
  18. Can you switch it to run the other half?
  19. What do the two scores mean?
  20. Can you turn off inhibition in the SOM net.
  21. What effect does this have?
  22. What does the kludge do?
  23. Can you modify it to print out some of your own data?
  24. Save the network. What does it mean?
  25. What would you need to do to handle another categorisation task?
  26. Will it work for all tasks?
  27. 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.