CMU-CS-19-106
Computer Science Department
School of Computer Science, Carnegie Mellon University



CMU-CS-19-106

An Extensible, Scalable, and Continuously Adaptive Machine Learning Layer for the Internet-of-Things

Prahaladha Mallela

M.S. Thesis

April 2019

CMU-CS-19-106.pdf


Keywords: Machine Learning, Continuous Learning, Internet of Things (IoT), Model Selection, Online Prediction Serving, Distributed Systems

Internet of Things environments are widespread and often include different sources of sensor data, which can be used for machine learning applications. However, in IoT settings, the ambient environment itself is not static but changes over time, leading to variations in the sensor data and thereby decrease in accuracy for any ML application using that data. Furthermore, in complex environments, applications are exposed to various new conditions over time. Each IoT environment also has unique sensors and devices present. All of these special cases, which are symptomatic of IoT environments, make ML based applications very challenging.

This thesis presents an IoT centric, end-to-end Machine Learning Layer which addresses these challenges. Our ML Layer architecture enables each of the aspects (training and prediction serving) to provide feedback to each other leading to a continuous cycle. Our ML Layer includes a flexible model definition that allows us to incorporate any type of model or ML framework, and we initially implement several common models for frameworks such as Scikit Learn and Keras. Initially, the ML Layer optimizes models, and performs ensemble model selection, based on expressive policies. Over time, as a part of its autonomous feedback loop our ML Layer is able to automatically identify different patterns in environmental data, and continuously adapt these models based on this feedback solicited from users. In addition, our system performs dimensionality reduction using environmental data over longer periods to improve prediction efficiency. The system is designed to be general purpose to accommodate any type or combination of IoT data sources.

Our Machine Learning Layer for IoT is also a fully managed service, designed to be flexible and adaptive to facilitate ease of use and deployability. It can be deployed in a variety of settings (including smart homes and buildings) which require specialized learning on the spot to fit the environment and continuously improve accuracy.

79 pages

Thesis Committee:
Yuvraj Agarwal (Chair)
Vyas Sekar

Srinivasan Seshan, Head, Computer Science Department
Tom M. Mitchell, Interim Dean, School of Computer Science


Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by reports@cs.cmu.edu