AUTOMAT[R]IX: Learning Simple Matrix Pipelines

Abstract

Matrices are a very common way of representing and working with data in data science and artificial intelligence. Writing a small snippet of code to make a simple matrix transformation is frequently frustrating, especially for those people without an extensive programming expertise. We present AUTOMAT[R]IX, a system that is able to induce R program snippets from a single (and possibly partial) matrix transformation example provided by the user. Our learning algorithm is able to induce the correct matrix pipeline snippet by composing primitives from a library. Because of the intractable search space—exponential on the size of the library and the number of primitives to be combined in the snippet, we speed up the process with (1) a typed system that excludes all combinations of primitives with inconsistent mapping between input and output matrix dimensions, and (2) a probabilistic model to estimate the probability of each sequence of primitives from their frequency of use and a text hint provided by the user. We validate AUTOMAT[R]IX with a set of real programming queries involving matrices from Stack Overflow, showing that we can learn the transformations efficiently, from just one partial example.

Cite

Text

Ochando et al. "AUTOMAT[R]IX: Learning Simple Matrix Pipelines." Machine Learning, 2021. doi:10.1007/S10994-021-05950-7

Markdown

[Ochando et al. "AUTOMAT[R]IX: Learning Simple Matrix Pipelines." Machine Learning, 2021.](https://mlanthology.org/mlj/2021/ochando2021mlj-automat/) doi:10.1007/S10994-021-05950-7

BibTeX

@article{ochando2021mlj-automat,
  title     = {{AUTOMAT[R]IX: Learning Simple Matrix Pipelines}},
  author    = {Ochando, Lidia Contreras and Ferri, Cèsar and Hernández-Orallo, José},
  journal   = {Machine Learning},
  year      = {2021},
  pages     = {779-799},
  doi       = {10.1007/S10994-021-05950-7},
  volume    = {110},
  url       = {https://mlanthology.org/mlj/2021/ochando2021mlj-automat/}
}