Machine Learning for Makers: Interactive Sensor Data Classification Based on Augmented Code Examples

Although many software libraries and hardware modules support reading data from sensors, makers of interactive systems often struggle to extract higher-level information from raw sensor data. Available general-purpose machine learning (ML) libraries remain difficult to use for non-experts. Prior research has sought to bridge this gap through domain-specific user interfaces for particular types of sensors or algorithms. Our ESP (Example-based Sensor Prediction) system introduces a more general approach in which interactive visualizations and control interfaces are dynamically generated from augmented code examples written by experts. ESP's augmented examples allow experts to write logic that guides makers through important steps such as sensor calibration, parameter tuning, and assessing signal quality and classification performance. Writing augmented examples requires additional effort. ESP leverages a fundamental dynamic of online communities: experts are often willing to invest such effort to teach and train novices. Thus support for particular sensing domains does not have to be hard-wired a priori by system authors, but can be provided later by its community of users. We illustrate ESP's flexibility by detailing pipelines for four distinct sensors and classification algorithms. We validated the usability and flexibility of our example-based approach through a one-day workshop with 11 participants.

[1]  Yang Li,et al.  Gesture coder: a tool for programming multi-touch gestures by demonstration , 2012, CHI.

[2]  Saleema Amershi,et al.  Designing for effective end-user interaction with machine learning , 2011, UIST '11 Adjunct.

[3]  Thad Starner,et al.  MAGIC: a motion gesture design tool , 2010, CHI.

[4]  Scott R. Klemmer,et al.  d.tour: style-based exploration of design example galleries , 2011, UIST.

[5]  Fred Martin,et al.  Ideal and Real Systems: A study of notions , 1996 .

[6]  Jerry Alan Fails,et al.  A design tool for camera-based interaction , 2003, CHI '03.

[7]  Daphne Koller,et al.  Support Vector Machine Active Learning with Applications to Text Classification , 2000, J. Mach. Learn. Res..

[8]  Jeffrey Heer,et al.  ReVision: automated classification, analysis and redesign of chart images , 2011, UIST.

[9]  Saul Greenberg,et al.  Phidgets: easy development of physical interfaces through physical widgets , 2001, UIST '01.

[10]  Fred G. Martin Real Robots Don't Drive Straight , 2007, AAAI Spring Symposium: Semantic Scientific Knowledge Integration.

[11]  Edward Y. Chang,et al.  Support vector machine active learning for image retrieval , 2001, MULTIMEDIA '01.

[12]  Desney S. Tan,et al.  Skinput: appropriating the body as an input surface , 2010, CHI.

[13]  Carla E. Brodley,et al.  Identifying Mislabeled Training Data , 1999, J. Artif. Intell. Res..

[14]  Joseph A. Paradiso,et al.  The gesture recognition toolkit , 2014, J. Mach. Learn. Res..

[15]  Ali Momeni,et al.  Ml.lib: robust, cross-platform, open-source machine learning for max and pure data , 2015, NIME.

[16]  Takeo Igarashi,et al.  Eyepatch: prototyping camera-based interaction through examples , 2007, UIST '07.

[17]  Anind K. Dey,et al.  a CAPpella: programming by demonstration of context-aware applications , 2004, CHI.

[18]  Gregory D. Abowd,et al.  At the Flick of a Switch: Detecting and Classifying Unique Electrical Events on the Residential Power Line (Nominated for the Best Paper Award) , 2007, UbiComp.

[19]  Scott R. Klemmer,et al.  Papier-Mache: toolkit support for tangible input , 2004, CHI.

[20]  Steve Young,et al.  The HTK book , 1995 .

[21]  James A. Landay,et al.  Gestalt: integrated support for implementation and analysis in machine learning , 2010, UIST.

[22]  Douglas A. Reynolds,et al.  Speaker identification and verification using Gaussian mixture speaker models , 1995, Speech Commun..

[23]  Eric C. Larson,et al.  GasSense: Appliance-Level, Single-Point Sensing of Gas Activity in the Home , 2010, Pervasive.

[24]  Desney S. Tan,et al.  Enabling always-available input with muscle-computer interfaces , 2009, UIST '09.

[25]  Joel Brandt,et al.  Codelets: linking interactive documentation and example code in the editor , 2012, CHI.

[26]  Lena Mamykina,et al.  Design lessons from the fastest q&a site in the west , 2011, CHI.

[27]  Adam Fourney,et al.  PICL: portable in-circuit learner , 2012, UIST.

[28]  Atau Tanaka,et al.  Adaptive Gesture Recognition with Variation Estimation for Interactive Systems , 2014, ACM Trans. Interact. Intell. Syst..

[29]  Shwetak N. Patel,et al.  ElectriSense: single-point sensing using EMI for electrical event detection and classification in the home , 2010, UbiComp.

[30]  Ranjitha Kumar,et al.  Bricolage: example-based retargeting for web design , 2011, CHI.

[31]  Michael S. Bernstein,et al.  Reflective physical prototyping through integrated design, test, and analysis , 2006, UIST.

[32]  Perry R. Cook,et al.  A Meta-Instrument for Interactive, On-the-Fly Machine Learning , 2009, NIME.

[33]  Chris Harrison,et al.  TapSense: enhancing finger interaction on touch surfaces , 2011, UIST.

[34]  James Fogarty,et al.  Sensing from the basement: a feasibility study of unobtrusive and low-cost home activity recognition , 2006, UIST.

[35]  Ronen I. Brafman,et al.  Designing with interactive example galleries , 2010, CHI.

[36]  Isabelle Guyon,et al.  Discovering Informative Patterns and Data Cleaning , 1996, Advances in Knowledge Discovery and Data Mining.

[37]  Ming-Sui Lee,et al.  iRotateGrasp: automatic screen rotation based on grasp of mobile devices , 2013, CHI Extended Abstracts.

[38]  Vahid Mirjalili,et al.  Python machine learning : machine learning and deep learning with Python, scikit-learn, and TensorFlow , 2017 .

[39]  Steve Hodges,et al.  .NET Gadgeteer: A Platform for Custom Devices , 2012, Pervasive.

[40]  Björn Hartmann,et al.  Authoring multi-stage code examples with editable code histories , 2013, UIST.

[41]  Pedro M. Domingos A few useful things to know about machine learning , 2012, Commun. ACM.

[42]  Paulo Blikstein,et al.  Bloctopus: A Novice Modular Sensor System for Playful Prototyping , 2015, Tangible and Embedded Interaction.

[43]  Scott R. Klemmer,et al.  Authoring sensor-based interactions by demonstration with direct manipulation and pattern recognition , 2007, CHI.

[44]  Eric C. Larson,et al.  HydroSense: infrastructure-mediated single-point sensing of whole-home water activity , 2009, UbiComp.

[45]  Ivan Poupyrev,et al.  Touché: enhancing touch interaction on humans, screens, liquids, and everyday objects , 2012, CHI.

[46]  Jüri Lember,et al.  Bridging Viterbi and posterior decoding: a generalized risk approach to hidden path inference based on hidden Markov models , 2014, J. Mach. Learn. Res..

[47]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[48]  Björn Hartmann,et al.  Delta: a tool for representing and comparing workflows , 2012, CHI.

[49]  Scott R. Klemmer,et al.  Example-centric programming: integrating web search into the development environment , 2010, CHI.