I'm pursuing my PhD in pattern recognition and machine learning. I have interests in many problems of this field, such as classification, clustering, semi-supervised learning and generative models.

What made you decide to enter?

To test my knowledge on real-world problems, to compete with smart people, and to contribute in real-life prediction tasks.

What preprocessing and supervised learning methods did you use?

I used the provided features. The writer identification problem is a multi-class classification problem, and linear discriminant analysis is suitable for this task.

What was your most important insight into the data?

Both the training and test set are of a small size, I had to be careful about the generalization ability of the model.

Which tools did you use?

I used LDA, which was popular and successful in face recognition ten years ago. It appeared to have surprisingly good results on writer identification, possibly because the two tasks are similar. I implemented my code in Matlab, because of its superior matrix computation support.

What have you taken away from this competition?

To work on real-world problems, you had to be careful about the overfitting problem. It is different from academic research. In real problems we need to consider many details to make a perfect system. One challenge of Kaggle competitions is that the discrepancy between the public and private scores. It makes me consider more about what the situation will be like in real world. You always have limited training data and validation data, but the test data usually are unbounded. How to generalize your model to the unbounded data could be a problem.