handwriting.learners.som package. The file
SOM6.java in the handwriting.learners package is an example of a
fully configured classifier. Create your own with different sized maps.
handwriting.learners.som
SelfOrgMapTest.java: Contains jUnit tests for all of the above methods you must complete. For each method
to complete, its unit test from this file is stated below:
FloatDrawing.java: Represents a SOM node. Complete the following methods:
euclideanDistance (passes testEuclideanDistance())
averageIn() (passes testAvg())
SOMPoint.java: Used for referencing an output node of the SOM. No code to complete,
but it is used heavily in SelfOrgMap.java.
SelfOrgMap.java: Skeletal implementation. Complete the following methods:
computeDistanceWeight() (passes testDistanceWeight())
effectiveLearningRate() (passes testLearningRate())
bestFor() and train() (passes testTrain())
SOMRecognizer.java: Transforms an unsupervised SOM into a classifier. Complete the following method:
findLabelFor() (passes testLabel())
| Achievement | Points |
|---|---|
Passes testEuclideanDistance() | 3 |
Passes testAvg() | 3 |
Passes testDistanceWeight() | 3 |
Passes testLearningRate() | 3 |
Passes testTrain() | 8 |
Passes testLabel() | 5 |
| Ran fourteen experiments, from 2 to 8 letters, alternating training/testing sets | 20 |
| Paper quantitatively assesses each of the fourteen experiments | 4 |
| Paper includes at least one visualization, and insightfully discusses its implications | 5 |
| Paper insightfully discusses how the SOM performs with respect to their data set | 4 |
| Paper insightfully discusses how the SOM performs in comparison with the multi-layer perceptron | 4 |
| Paper insightfully discusses the distinctions in performance as the number of letters increases | 4 |
| Paper insightfully discusses the impact of variations in the map size | 4 |