# US 12,008,446 B2 · Conditioned synthetic data generation in computer-based reasoning systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,446 B2
- Document ID: US12008446B2
- Status: Granted
- Kind: B2
- Application number: 17/972,164
- Filed: 2022-10-24
- Published: 2023-02-16
- Granted: 2024-06-11
- Earliest claimed: 2018-12-13
- Assignees: Howso Incorporated
- Applicants: Howso Incorporated
- Inventors: Christopher James Hazard; Michael Resnick; Ravisutha Sakrepatna Srinivasamurthy; David R. Cheeseman; Valeri A. Korobov; Martin James Koistinen; Matthew Chase Fulp
- Web page: https://patentgrep.com/patent/US12008446B2

## CPC

- G06N 20/00: Machine learning
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06N 3/0475: Generative networks
- G06N 3/092: Reinforcement learning
- G06N 5/04: Inference or reasoning models
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N 3/006: based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
- G06N 3/08: Learning methods
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for synthetic data generation in computer-based reasoning systems are discussed and include receiving a request for generation of synthetic data based on a set of training data cases. One or more focal training data cases are determined. For undetermined features (either all of them or those that are not subject to conditions), a value for the feature is determined based on the focal cases. In some embodiments, the generation of synthetic data may be conditioned on values of features, preserved features, such as unique identifiers, previous-in-time features, and using the other techniques discussed herein.

## Claims

### Claim 1

A method comprising:
receiving a request for generation of synthetic data based on a set of training data cases;
determining one or more conditions for the synthetic data;
for each synthetic data case in the synthetic data,
for each undetermined feature in the synthetic data case,
determining one or more focal training data cases from among the set of training data cases based at least in part on the one or more conditions and any already-determined value for features in the synthetic data case;
determining a value for the undetermined feature in the synthetic data case based at least in part on the focal training data cases;
using the value for the undetermined feature in the synthetic data case;
continuing to determine undetermined features until there are no more undetermined features;
providing a computer-based reasoning model for control of a controllable system, wherein the computer-based reasoning model that was determined at least in part based on the synthetic data cases in the synthetic data;
wherein the method is performed by one or more computing devices.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining one or more conditions for the synthetic data comprises determining a previous-in-time value for the undetermined feature, and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on any already-determined value for features in the synthetic data case and on the previous-in-time value for the undetermined feature.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining one or more conditions for the synthetic data comprises determining a value for an already-determined value for features in the synthetic data case, and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on the already-determined value for features in the synthetic data case, and on a value for a feature in the synthetic data case other than the undetermined feature.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining one or more conditions for the synthetic data comprises determining a value for a feature in the synthetic data case, and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on any already-determined value for features in the synthetic data case, and on one or more previous-in-time values for the undetermined feature and the value for the feature in the synthetic data case.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining one or more conditions for the synthetic data comprises determining two or more previous-in-time values for the undetermined feature and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on any already-determined value for features in the synthetic data case, and on the two or more previous-in-time values for the undetermined feature.

### Claim 6 (depends on 1)

The method of claim 1, further comprising determining a unique identifier from a table in the set of training data cases and wherein determining one or more conditions for the synthetic data comprises determining the one or more conditions based on the unique identifier and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on any already-determined value for features in the synthetic data case, and on the unique identifier.

### Claim 7 (depends on 1)

The method of claim 1, further comprising determining one or more preserved feature values from the set of training data cases and wherein determining one or more conditions for the synthetic data comprises determining the one or more conditions based on the one or more preserved feature values and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on any already-determined value for features in the synthetic data case, and on the one or more preserved feature values.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
determining a set of links among database tables from the set of training cases, wherein the links represent overlap of corresponding values from database table to database table; and
determining the one or more conditions at least in part based on the set of links among the database tables.

### Claim 9 (depends on 4)

The method of claim 4, further comprising causing control of the controllable system using the computer-based reasoning model that was determined at least in part based on the synthetic data cases in the synthetic data.

### Claim 10 (depends on 1)

The method of claim 1, further comprising determining a unique identifier from a table in the set of training data cases and wherein determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on any already-determined value for features in the synthetic data case, on the unique identifier, and a value for a feature in the synthetic data case.

### Claim 11 (depends on 1)

The method of claim 1, wherein determining the value for the undetermined feature in the synthetic data case comprises:
determining the value for the undetermined feature in the synthetic data case based at least in part on a distribution associated with the undetermined feature in the focal training data cases.

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
determining a fitness score for the synthetic data case;
when the fitness score for the synthetic data case is beyond a particular threshold, using the synthetic data case in the synthetic data.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
determining a shortest distance between the synthetic data case and cases in the set of training data cases;
when the shortest distance between the synthetic data case and the cases in the set of training data cases is beyond a particular threshold, using the synthetic data case in the synthetic data.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
determining distances between the synthetic data case and at least two cases in the set of training data cases;
determining whether there are at least a certain number (k) of training data cases that have a distance to the synthetic data case that is below a threshold;
when there are at least k training data cases have distances to the synthetic data case that are below the threshold, using the synthetic data case in the synthetic data.

### Claim 15 (depends on 1)

The method of claim 1, further comprising:
determining distances between the synthetic data case and at least two cases in the set of training data cases;
determining whether there are at least a certain number (k) of training data cases that have a distance to the synthetic data case that is below a first threshold;
determining whether any of the set of training data cases have a distance below a second threshold;
when there are at least k training data cases have distances to the synthetic data case that are below the first threshold and no training data case has a distance to the synthetic data case that is below the second threshold, using the synthetic data case in the synthetic data.

### Claim 16

A non-transitory computer readable medium storing instructions which, when executed by one or more computing devices, cause the one or more computing devices to perform a process of:
receiving a request for generation of synthetic data based on a set of training data cases;
determining one or more conditions for the synthetic data;
for each synthetic data case in the synthetic data,
for each undetermined feature in the synthetic data case,
determining one or more focal training data cases from among the set of training data cases based at least in part on the one or more conditions and any already-determined value for features in the synthetic data case;
determining a value for the undetermined feature in the synthetic data case based at least in part on the focal training data cases;
using the value for the undetermined feature in the synthetic data case;
continue to determine undetermined features until there are no more undetermined features:
providing a computer-based reasoning model for control of a controllable system, wherein the computer-based reasoning model that was determined at least in part based on the synthetic data cases in the synthetic data.

### Claim 17 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein determining one or more conditions for the synthetic data comprises determining a previous-in-time value for the undetermined feature, and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on any already-determined value for features in the synthetic data case and on the previous-in-time value for the undetermined feature.

### Claim 18 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein determining one or more conditions for the synthetic data comprises determining a value for an already-determined value for features in the synthetic data case, and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on the already-determined value for features in the synthetic data case, and on a value for a feature in the synthetic data case other than the undetermined feature.

### Claim 19 (depends on 16)

The non-transitory computer readable medium of claim 16, the process further comprising causing control of the controllable system using the computer-based reasoning model that was determined at least in part based on the synthetic data cases in the synthetic data.

### Claim 20

A system for performing a machine-executed operation involving instructions, wherein said instructions are instructions which, when executed by one or more computing devices, cause performance of a process comprising:
receiving a request for generation of synthetic data based on a set of training data cases;
determining one or more conditions for the synthetic data;
for each synthetic data case in the synthetic data,
for each undetermined feature in the synthetic data case,
determining one or more focal training data cases from among the set of training data cases based at least in part on the one or more conditions and any already-determined value for features in the synthetic data case;
determining a value for the undetermined feature in the synthetic data case based at least in part on the focal training data cases;
using the value for the undetermined feature in the synthetic data case;
continue to determine undetermined features until there are no more undetermined features;
providing a computer-based reasoning model for control of a controllable system, wherein the computer-based reasoning model that was determined at least in part based on the synthetic data cases in the synthetic data.

### Claim 21 (depends on 20)

The system of claim 20, wherein determining one or more conditions for the synthetic data comprises determining a previous-in-time value for the undetermined feature, and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on any already-determined value for features in the synthetic data case and on the previous-in-time value for the undetermined feature.

### Claim 22 (depends on 20)

The system of claim 20, wherein determining one or more conditions for the synthetic data comprises determining a value for an already-determined value for features in the synthetic data case, and determining the one or more focal training data cases comprises determining the one or more focal training data cases from among the set of training data cases conditioned at least in part on the already-determined value for features in the synthetic data case, and on a value for a feature in the synthetic data case other than the undetermined feature.

### Claim 23 (depends on 20)

The system of claim 20, the process further comprising causing control of the controllable system using the computer-based reasoning model that was determined at least in part based on the synthetic data cases in the synthetic data.
