Predicted Variables in Programming

10/01/2018
by   Victor Carbune, et al.
0

We present Predicted Variables (PVars), an approach to making machine learning (ML) a first class citizen in programming languages. There is a growing divide in approaches to building systems: using human experts (e.g. programming) on the one hand, and using behavior learned from data (e.g. ML) on the other hand. PVars aim to make ML in programming as easy as `if' statements and with that hybridize ML with programming. We leverage the existing concept of variables and create a new type, a predicted variable. PVars are akin to native variables with one important distinction: PVars determine their value using ML when evaluated. We describe PVars and their interface, how they can be used in programming, and demonstrate the feasibility of our approach on three algorithmic problems: binary search, Quicksort, and caches. We show experimentally that PVars are able to improve over the commonly used heuristics and lead to a better performance than the original algorithms. As opposed to previous work applying ML to algorithmic problems, PVars have the advantage that they can be used within the existing frameworks and do not require the existing domain knowledge to be replaced. PVars allow for a seamless integration of ML into existing systems and algorithms. Our PVars implementation currently relies on standard Reinforcement Learning (RL) methods. To learn faster, PVars use the heuristic function, which they are replacing, as an initial function. We show that PVars quickly pick up the behavior of the initial function and then improve performance beyond that without ever performing substantially worse -- allowing for a safe deployment in critical applications.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/01/2018

SmartChoices: Hybridizing Programming and Machine Learning

We present SmartChoices, an approach to making machine learning (ML) a f...
research
10/07/2021

Ship Performance Monitoring using Machine-learning

The hydrodynamic performance of a sea-going ship varies over its lifespa...
research
06/06/2019

A novel approach to model exploration for value function learning

Planning and Learning are complementary approaches. Planning relies on d...
research
01/29/2018

Search Based Code Generation for Machine Learning Programs

Machine Learning (ML) has revamped every domain of life as it provides p...
research
07/18/2022

ARtonomous: Introducing Middle School Students to Reinforcement Learning Through Virtual Robotics

Typical educational robotics approaches rely on imperative programming f...
research
12/17/2019

How Personal is Machine Learning Personalization?

Though used extensively, the concept and process of machine learning (ML...
research
05/03/2022

Integration of Behavioral Economic Models to Optimize ML performance and interpretability: a sandbox example

This paper presents a sandbox example of how the integration of models b...

Please sign up or login with your details

Forgot password? Click here to reset