Machine Learning in Java

"I hear and I forget, I see and I remember, I do and I understand."
- Confucius

Most machine learning books are very theoretical. Very few books explain how to use machine learning in practical manner, especially for Java developers. Too much theory makes machine learning boring, and hide the fun to use it. So in this list I will explain key concepts from a perspective of Java developers. "Doing" is the key feature of this list. I will use case studies to explain a set of popular learning algorithm including 1) Supervised learning (Decision Trees, Logistic Regression, SVMs, etc) 2) Unsupervised learning (topic modeling by LDA, clustering by k-means, hidden Markov models, etc.) 3) Deep-learning approaches (Neural Networks).

NLP related:

1) LSI
2) Lucene vs. database