AutoRA Novelty Experimentalist
Project description
AutoRA Novelty Experimentalist
The novelty experimentalist 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 experimentalist 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.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(conditions=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(conditions=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
Hashes for autora-experimentalist-novelty-2.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4efa258739114b1f4b5f4c0bfc0040bc18496475575cc46801efcd6b5539354f |
|
MD5 | 8654216ddea52f2b5b65b8f29c1c7527 |
|
BLAKE2b-256 | efb63bbe7a74911c22918622d9df3b36983a633f9868cbb12b4d7c38ce684c05 |
Hashes for autora_experimentalist_novelty-2.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5eaf3302ed7e1bb8895042557c09a8fc827e03cb24add86e2a8f882ebc9a2ebd |
|
MD5 | cb773ed413124e866db45ca165c26090 |
|
BLAKE2b-256 | 2b8ec2c0bfb74d2ea166ab577dcb4d834b4ba0f4e0f3f40f17a3814ef5c95806 |