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
Last synced: 10 months ago · JSON representation

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
Created about 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License

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

We strive to enhance and accelerate scientific discovery by automating steps in the empirical research process.

GitHub Events

Total
Last Year