https://github.com/autoresearch/autora-experimentalist-novelty
An AutoRA experimentalist that samples new experiment conditions based on novelty.
https://github.com/autoresearch/autora-experimentalist-novelty
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (3.8%) to scientific vocabulary
Repository
An AutoRA experimentalist that samples new experiment conditions based on novelty.
Basic Info
- Host: GitHub
- Owner: AutoResearch
- License: mit
- Language: Python
- Default Branch: main
- Size: 66.4 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
- Releases: 10
Metadata Files
README.md
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}~\mini(\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
```python import numpy as np from autora.experimentalist.novelty import noveltysampler, noveltyscore_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 Xsampled = noveltysampler(conditions=Xprime, referenceconditions=X, num_samples=n)
We may also obtain samples along with their z-scored novelty scores
(Xsampled, scores) = noveltyscoresampler(conditions=Xprime, referenceconditions=X, numsamples=n) ```
Owner
- Name: Autonomous Empirical Research Initiative
- Login: AutoResearch
- Kind: organization
- Website: www.empiricalresearch.ai
- Repositories: 12
- Profile: https://github.com/AutoResearch
We strive to enhance and accelerate scientific discovery by automating steps in the empirical research process.