'Incremental machine learning on android

I'm new in machine learning and I learned about the difference between batch learning and incremental/online learning. I'm really interested in the fact that the incremental learning keeps improving and that it is faster to train.

I'm currently working on a problem on which I would like my android app to use incremental learning in order to provide adapted results to a specific. So every user would have a model on his/her phone which is constantly evolving after having new data coming in.

So my question is : Would it be possible to implement incremental learning on mobile device so that when the app gather new data it would update the model ?

EDIT : I found this https://github.com/rjmarsan/Weka-for-Android, it might be useful.



Solution 1:[1]

There are two approaches to incremental learning: Supervised Incremental Learning and Unsupervised Incremental. So you can choose any of them and it has lots of algorithms exists. You have to apply any one of the algorithms suited to your criteria to train the data and then update your data based on the result. You will find lots of open source project and apply it according to your necessity. Check the below links and may it will help you.

Introduction to clustering: the K-Means algorithm (with Java code)

KMeans.java

k-means-clustering

Solution 2:[2]

Just a couple things to add, for using Weka models on Android, you can grab some examples from my book: https://github.com/Wickapps/Practical-Java-ML There are many Weka Android apps in there and the code is on Github. But those are mostly static model examples and what you are asking about is streams. In the Weka world, you would want to check out MOA. https://moa.cms.waikato.ac.nz/ Unfortunately, I did not cover MOA stream for Android in my book.

Solution 3:[3]

there is a C++ incremental decision tree.
it can be ported lightly to other platforms. see gaenari.

Continuous chunking data can be inserted and updated,
and rebuilds can be run if concept drift reduces accuracy.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Sultan Mahmud
Solution 2 Mark JW
Solution 3 greenfish