In this project, we build differernt model to cope with hand-written digit recognition task. Machine learning models like SVM, CNN, ResNet, autoencoder and VAE are used.
- Centered(find the center of white pixels and shift it to the center)
- Crop image to 28x28 (784 << 2025) (will drop many useless blocks)
You can download the dataset by click the data set name.
Name | Train Size | Test Size | Image Size | Diff |
---|---|---|---|---|
origin | 60000 | 10000 | 45 | original data |
crop | 60000 | 10000 | 28 | crop from origin |
crop2 | 60000 | 10000 | 14 | 2*2 upsampling from crop |
low_conf | 15000 | 10000 | 28 | images with lowest 15000 conidence from model 14.0.0 based on crop |
rotate | 180000 | 10000 | 28 | rotate images(45 and 135) based on crop |
fc2 | 60000 | 10000 | 64 | fc2 output based on crop |
Kernel = rbf
Only prforms well in crop2
Paramaters | Train Data Set | Performance(Test) |
---|---|---|
kernel='rbf' | origin | not converge |
kernel='linear' | origin | not converge |
kernel='rbf' | crop | not converge |
kernel='rbf' | crop2 | 92.62% |
Paramaters | Train Data Set | Performance(Test) |
---|---|---|
2 convolution, pooling and fc layers | origin | 96.5% |
2 convolution, pooling and fc layers | crop | 98.25% |
connect to SVM | crop | 98.27% |
2 CNN models | crop | 97.75% |
Paramaters | Train Data Set | Performance(Test) |
---|---|---|
batch size = 500, epoch = 200 | origin | 99.8% |
Method | Train Data Set | Performance(Test) |
---|---|---|
Autoencoder | crop | 95.28% |
VAE | crop | 94.25% |