Building a SMARTS hierarchy using continuous data is similar to clustering. The perception model of a force field clusters chemical environments such that each chemical environment in a cluster is assigned the same physical parameters from the force field. An example is bond lengths produced by geometry optimization using DFT. The goal for building a SMARTS hierarchy would be to find SMARTS patterns that distinguish bond lengths where each SMARTS in the hierarchy corresponds to a single bond length value for the QM data it clustered together. For example, a carbon-hydrogen bond is shorter than a carbon-carbon bond, and a SMARTS such as [#6][#6] and [#6][#1] would partition the data appropriately. Let each chemical environment A i ∈ A correspond to one or more samples of a random variable x ∈ R where the set of environments A matched to some SMARTS S 0 , written as {x|A i }. In this example, the variable is bond lengths and the samples are the conformations of a molecule. Then, for each SMARTS in the hierarchy S 0 , we collect all bond lengths {x 0 } = {x|A} = ∪ i {x|A i }. Similarly we have {x j } for a new candidate parameter S j split from S 0 and {x \j } for the remaining environments that did not match S j such that {x 0 } = {x j }∪{x \j }. For continuous data, there can be many different objective functions to minimize. Here, as an example to motivate force field design, we define the objective of a split to be the difference between the means of bond lengths