I am looking for an example or tutorial of a system predicting numeric values by the use of various classifiers like SVM, Decision trees, ANN or KNN which optimises its choice of algorithm and parameter settings at runtime. Assuming there is unlimited input data and the system can train itself nonstop, the system should be able to adapt to different input data and choose the most accurate prediction setting as possible. Examples in Python, C++ or JAVA would be preferred. Thank you in advance!
1 Answer
I don't have much hands-on experience in this, but nevertheless I think this kind of processing of streamingdata is called "online learning"; and finding optimal hyperparameters for any type of learning (online or batch) automatically such that the system is self-tuning is an area of active research.
Prof. George Hinton talks about it generally in this video "Lecture 16C : Bayesian optimization of neural network hyperparameters" in this playlist: https://www.youtube.com/playlist?list=PLiPvV5TNogxKKwvKb1RKwkq2hm7ZvpHz0 (13min)
If you like audio, a listener asked a similar question in this Episode of the Talking Machines podcast: (about 8 minutes in)
Clever switching of the learning algorithm also has been explored, see "Bagging" or "Boosting" on Wikipedia, or Ensemble learning
For a relatively easy-to-use Java-based GUI tool you might try "MOA"- Massive ONline Analysis
-
$\begingroup$ Perfect, thank you so much, I will dig deeper into it. $\endgroup$– canadairJul 4, 2017 at 23:05