mt-smac

A novel approach designed for optimizing highly parametrized algorithms.

https://github.com/marcodifrancesco/mt-smac

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

A novel approach designed for optimizing highly parametrized algorithms.

Basic Info
  • Host: GitHub
  • Owner: MarcoDiFrancesco
  • License: other
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 28.8 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

MT-SMAC: A Novel Multi-Target Approach to Highly Parametrized Algorithms Optimization

MT-SMAC Logo

💡 Introduction

MT-SMAC (Multi-Target Sequential Model-based Algorithm Configuration) is a new approach designed for optimizing highly parametrized algorithms built on top of SMAC. It offers a unique approach to tackling complex optimization problems. MT-SMAC stands out for its ability to handle multiple targets simultaneously, paving the way for more robust and versatile algorithmic solutions.

Paper

🧑‍🏫️ How it works

From the Paper:

This paper investigates the optimization of algorithms with many parameters, a common challenge in areas such as SAT solving, mixed integer programming, AI planning, and machine learning, through Automated Algorithm Configuration (AAC). We compare model-free and model-based AAC methods, with a focus on Sequential Model-Based Optimization (SMBO) and its application in Sequential Model-based Algorithm Configuration (SMAC). We explore multi-objective optimization, analyzing the performance of ParEGO and MO-SMAC. The core contribution of this work is the development of MT-SMAC, a multi-target model using a single surrogate model for all objectives, leveraging a Multi-task Gradient Boosting Machine to achieve a more efficient prediction process by understanding correlations between targets. The paper's empirical section utilizes the YAHPO gym for benchmarking, providing a comparative analysis of the proposed models. Concluding remarks suggest future research directions, including the exploration of Predicted Hypervolume Improvement and the potential of cross-validation to prevent overfitting, aiming to refine the process of algorithm configuration further.

🛠️ Installation

Python version: 3.10

```bash

Create and activate environment:

conda create -n SMAC python=3.10 conda activate SMAC

Install swig:

conda install gxxlinux-64 gcclinux-64 swig

Install SMAC via PyPI:

pip install smac ```

🚀 Quick Start

Run notebook evaltemplate-yahpo.ipynb

Owner

  • Name: Marco Di Francesco
  • Login: MarcoDiFrancesco
  • Kind: user
  • Location: Sweden

Data Science • ABB

Citation (CITATION.cff)

---
cff-version: 1.2.0

message: "If you used SMAC in one of your research projects, please cite us:"

title: "SMAC3"
date-released: "2016-08-17"

url: "https://automl.github.io/SMAC3/master/index.html"
repository-code: "https://github.com/automl/SMAC3"

version: "1.0.1"

type: "software"
keywords:
  - "blackbox optimization"
  - "optimization"
  - "bayesian optimization"
  - "algorithm configuration"
  - "machine learning"
  - "algorithms"

license: "BSD-3-Clause"

authors:
  - family-names: "Lindauer"
    given-names: "Marius"
    affiliation: "Leibniz Universität Hannover"

  - family-names: "Eggensperger"
    given-names: "Katharina" 
    orcid: "https://orcid.org/0000-0002-0309-401X"
    affiliation: "University of Freiburg, Germany"

  - family-names: "Feurer"
    given-names: "Matthias"
    orcid: "https://orcid.org/0000-0001-9611-8588"
    affiliation: "University of Freiburg, Germany"

  - family-names: "Biedenkapp"
    given-names: "André"
    orcid: "https://orcid.org/0000-0002-8703-8559"
    affiliation: "University of Freiburg, Germany"

  - family-names: "Deng"
    given-names: "Difan"
    affiliation: "Leibniz Universität Hannover"

  - family-names: "Benjamins"
    given-names: "Carolin"
    affiliation: "Leibniz Universität Hannover"

  - family-names: "Sass"
    given-names: "René"
    affiliation: "Leibniz Universität Hannover"

  - family-names: "Hutter"
    given-names: "Frank"
    affiliation: "University of Freiburg, Germany"

  - family-names: "Falkner"
    given-names: "Stefan"
    orcid: "https://orcid.org/0000-0002-6303-9418"
    affiliation: "Bosch Center for Artificial Intelligence, Rennigen, Germany"

preferred-citation:
  type: "article"
  title: "SMAC3: A Versatile Bayesian Optimization Package for Hyperparameter Optimization"
  month: "9"
  year: "2021"
  url: "https://arxiv.org/abs/2109.09831"

  authors:
    - family-names: "Lindauer"
      given-names: "Marius"
      affiliation: "Leibniz Universität Hannover"

    - family-names: "Eggensperger"
      given-names: "Katharina" 
      orcid: "https://orcid.org/0000-0002-0309-401X"
      affiliation: "University of Freiburg, Germany"

    - family-names: "Feurer"
      given-names: "Matthias"
      orcid: "https://orcid.org/0000-0001-9611-8588"
      affiliation: "University of Freiburg, Germany"

    - family-names: "Biedenkapp"
      given-names: "André "
      orcid: "https://orcid.org/0000-0002-8703-8559"
      affiliation: "University of Freiburg, Germany"

    - family-names: "Deng"
      given-names: "Difan"
      affiliation: "Leibniz Universität Hannover"

    - family-names: "Benjamins"
      given-names: "Carolin"
      affiliation: "Leibniz Universität Hannover"

    - family-names: "Sass"
      given-names: "René"
      affiliation: "Leibniz Universität Hannover"

    - family-names: "Hutter"
      given-names: "Frank"
      affiliation: "University of Freiburg, Germany"
...

GitHub Events

Total
  • Delete event: 2
  • Issue comment event: 2
  • Pull request event: 4
  • Create event: 5
Last Year
  • Delete event: 2
  • Issue comment event: 2
  • Pull request event: 4
  • Create event: 5

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: 11 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.88
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 month
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.67
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (12)
Top Labels
Issue Labels
Pull Request Labels
dependencies (12) github_actions (2)

Dependencies

.github/workflows/citation.yml actions
  • actions/checkout v3 composite
  • citation-file-format/cffconvert-github-action 2.0.0 composite
.github/workflows/dist.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/pre-commit-update.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • browniebroke/pre-commit-autoupdate-action main composite
  • peter-evans/create-pull-request v3 composite
.github/workflows/pre-commit.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/pytest.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/stale_reminder.yml actions
  • dawidd6/action-send-mail v3 composite
  • lee-dohm/select-matching-issues v1 composite
benchmark/requirements.txt pypi
  • ConfigSpace >=0.6
  • matplotlib *
  • pandas *
  • seaborn *
pyproject.toml pypi
setup.py pypi
  • ConfigSpace >=0.6.1
  • dask *
  • joblib *
  • numpy >=1.23.3
  • psutil *
  • pynisher >=1.0.0
  • pyrfr >=0.9.0
  • scikit-learn >=1.1.2
  • scipy >=1.9.2