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)
Metadata
Release files for autora-experimentalist-novelty 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autora_experimentalist_novelty-2.2.0.tar.gz | 10.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autora_experimentalist_novelty-2.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.1 kB
Release files / autora_experimentalist_novelty-2.2.0.tar.gz
| Download URL | autora_experimentalist_novelty-2.2.0.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9971359e8a38096d9822e85e44e74c82da878664ad16a443ff2c26db4d5ad9b
|
|
BLAKE2b-256 checksum How to use checksums |
6104e39601ce1fcfc193ba1455beeb9446fe61eebd8a4ddda5413cdffdf0b866
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.20
|
Release files / autora_experimentalist_novelty-2.2.0-py3-none-any.whl
| Download URL | autora_experimentalist_novelty-2.2.0-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f12a623a0e6db738555c834b3952fc60ce2739a2fe2a64ac9247022a90469d1e
|
|
BLAKE2b-256 checksum How to use checksums |
0fbfb5e976a26531321f60b107997f3ef46a5006d560b5857e7fe15994e7a628
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.20
|