More than one year ago, I enrolled in a Maching Learning course from Coursera by Andrew N.G.
In the beginning, it was a very theoretical course and I thought that it was a necessary evil. In the first weeks, it was explained the kind of learning (supervised and not supervised) and basic statistical concepts like lineal regression, logistic regression and how to calculate the cost function and the gradient descent.
As I was saying, at the beginning it was a very theoretical and maybe a little tedious. After that, the course was better because it was more practical and I made exercises with Octave.
It was from the 5th week when the course was more exciting because of the examples and exercises. They allowed me to see how to work different learning algorithms.
It is a very recomended course. You can find it here: https://es.coursera.org/learn/machine-learning
But, why do I tell this whole thing?
After this course, I have known diffent projects like Oxford by Microsoft (nowadays it is called in a different way) or google libraries like “TensorFlow” (https://www.tensorflow.org).
I have even created a small library in C# to do regressions and matrix operations for making simple predictive calculations.
However, after I know all possibilities that Machine Learning can offer us, we should take into account some problems. If you want to use certain algorithms, you need to use large data sets to do a training. Depending of the datase, we can take one o more weeks to complete an effective training.
In conclusion, I think there is much done, but I realize that there is more to do. I also dare to say that the maching learning is just starting.
PS: In a few days I will upload my smart library to github.
UPDATE: After writing the post I see this: http://radeon.com/en-us/instinct/
(It means they are making new hardware to optimize training)