Skip to main content

AutoRA Novelty Experimentalist

Project description

AutoRA Novelty Sampler

The novelty sampler identifies experimental conditions $\vec{x}' \in X'$ with respect to a pairwise distance metric applied to existing experimental conditions $\vec{x} \in X$:

$$ \underset{\vec{x}'}{\arg\max}~f(d(\vec{x}, \vec{x}')) $$

where $f$ is an integration function applied to all pairwise distances.

Example

For instance, the integration function $f(x)=\min(x)$ and distance function $d(x, x')=|x-x'|$ identifies condition $\vec{x}'$ with the greatest minimal Euclidean distance to all existing conditions in $\vec{x} \in X$.

$$ \underset{\vec{x}}{\arg\max}~\min_i(\sum_{j=1}^n(x_{i,j} - x_{i,j}')^2) $$

To illustrate this sampling strategy, consider the following four experimental conditions that were already probed:

$x_{i,0}$ $x_{i,1}$ $x_{i,2}$
0 0 0
1 0 0
0 1 0
0 0 1

Fruthermore, let's consider the following three candidate conditions $X'$:

$x_{i,0}'$ $x_{i,1}'$ $x_{i,2}'$
1 1 1
2 2 2
3 3 3

If the novelty sampler is tasked to identify two novel conditions, it will select the last two candidate conditions $x'{1,j}$ and $x'{2,j}$ because they have the greatest minimal distance to all existing conditions $x_{i,j}$:

Example Code

import numpy as np
from autora.experimentalist.sampler.novelty import novelty_sampler, novelty_score_sampler

# Specify X and X'
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
X_prime = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]])

# Here, we choose to identify two novel conditions
n = 2
X_sampled = novelty_sampler(condition_pool=X_prime, reference_conditions=X, num_samples=n)

# We may also obtain samples along with their z-scored novelty scores
(X_sampled, scores) = novelty_score_sampler(condition_pool=X_prime, reference_conditions=X, num_samples=n)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file autora-experimentalist-sampler-novelty-1.0.2.tar.gz.

File metadata

File hashes

Hashes for autora-experimentalist-sampler-novelty-1.0.2.tar.gz
Algorithm Hash digest
SHA256 6bd45e23d0683ac7bee5918daa88846fa719b5b93278f856e00cc0f07e235b35
MD5 e73e39930352c1c57778ffb2795ce755
BLAKE2b-256 85d482bc4fdbce8450a889cfdf41834603a32cd4e77d34683d6b5e9e77b85bef

See more details on using hashes here.

File details

Details for the file autora_experimentalist_sampler_novelty-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for autora_experimentalist_sampler_novelty-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 890307dff0d31aeefa949cbc221f0b1a8a6099f29e4c65341601bfcd9e473f3e
MD5 4458a7687bea92c01ab4cc72473a0fb6
BLAKE2b-256 3cda692de3fa520613e5db5a16ff9c6084ea550663c8f37d4aef97fc23bcd81c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page