Sunday, March 22, 2015

Lifting Machine Learning into Akka Streams

In this post we focus on how to integrate machine learning (ML) components (e.g. decision trees, Bayesian networks, SVMs, etc.) into the Muvr application. In particular, we focus on how events arriving from multiple sensors (positioned on an exercising individual) are transformed into classification events (for user feedback). At this stage of the Muvr development, we are unsure as to which ML components will be effective for generating classification events, and so design a general solution where by:

  • segmented events (from multiple sensors) are streamed through a collection of ML classifiers to generate enriched event streams 
  • the enriched event streams are continuously monitored for recognisable patterns 
  • any recognisable pattern is passed through a decision engine that generates the final classification/notification events for user feedback.

As classification events must be provided to the user in real-time, we have intentionally avoided using a Spark streaming solution (and so the associated application startup and round trip networking costs). In developing our solution, we take full advantage of Akka's streaming workflows to generate complex compositional flow graphs that, should we latter require it, may be refactored to handle additional resourcing demands.

read more here

Leave a Reply

All Tech News IN © 2011 & Main Blogger .