  Cyber-physical system applications such as autonomous vehicles, wearable
devices, and avionic systems generate a large volume of time-series data.
Designers often look for tools to help classify and categorize the data.
Traditional machine learning techniques for time-series data offer several
solutions to solve these problems; however, the artifacts trained by these
algorithms often lack interpretability. On the other hand, temporal logics,
such as Signal Temporal Logic (STL) have been successfully used in the formal
methods community as specifications of time-series behaviors. In this work, we
propose a new technique to automatically learn temporal logic formulae that are
able to cluster and classify real-valued time-series data. Previous work on
learning STL formulas from data either assumes a formula-template to be given
by the user, or assumes some special fragment of STL that enables exploring the
formula structure in a systematic fashion. In our technique, we relax these
assumptions, and provide a way to systematically explore the space of all STL
formulas. As the space of all STL formulas is very large, and contains many
semantically equivalent formulas, we suggest a technique to heuristically prune
the space of formulas considered. Finally, we illustrate our technique on
various case studies from the automotive, transportation and healthcare domain.
