Skip to main content

Optimizers for/and sklearn compatible Machine Learning models

Project description

OptiML

CI Coverage Status Python Version PyPI Version PyPI Downloads Binder Open In Colab Documentation

OptiML is a sklearn compatible implementation of Support Vector Machines and Deep Neural Networks, both with some of the most successful features according to the state of the art.

This work was motivated by the possibility of being able to solve the optimization problem deriving from the mathematical formulation of these models through a wide range of optimization algorithms object of study and developed for the Numerical Methods and Optimization course @ Department of Computer Science @ University of Pisa under the supervision of prof. Antonio Frangioni.

Contents

  • Numerical Optimization

    • Unconstrained Optimization
      • Line Search Methods
        • 1st Order Methods
          • Steepest Gradient Descent
          • Conjugate Gradient
            • Fletcher–Reeves formula
            • Polak–Ribière formula
            • Hestenes-Stiefel formula
            • Dai-Yuan formula
        • 2nd Order Methods
          • Newton
          • Quasi-Newton
            • BFGS
            • L-BFGS
      • Stochastic Methods
        • Stochastic Gradient Descent
          • Momentum
            • Polyak
            • Nesterov
        • Adam
          • Momentum
            • Polyak
            • Nesterov
        • AMSGrad
          • Momentum
            • Polyak
            • Nesterov
        • AdaMax
          • Momentum
            • Polyak
            • Nesterov
        • AdaGrad
        • AdaDelta
        • RMSProp
          • Momentum
            • Polyak
            • Nesterov
        • Schedules
          • Step size
            • Decaying
            • Linear Annealing
            • Repeater
          • Momentum
            • Sutskever Blend
      • Proximal Bundle with cvxpy interface to ecos, osqp, scs, etc.
    • Constrained Quadratic Optimization
      • Box-Constrained Quadratic Methods
        • Projected Gradient
        • Frank-Wolfe or Conditional Gradient
        • Active Set
        • Interior Point
      • Lagrangian Dual
      • Augmented Lagrangian Dual
  • Machine Learning

    • Support Vector Machines
      • Formulations
        • Primal
        • Wolfe Dual
        • Lagrangian Dual
      • Support Vector Classifier
        • Losses
          • Hinge (L1 Loss) l1_svc_loss
          • Squared Hinge (L2 Loss) l2_svc_loss
      • Support Vector Regression
        • Losses
          • Epsilon-insensitive (L1 Loss) l1_svr_loss
          • Squared Epsilon-insensitive (L2 Loss) l2_svr_loss
      • Kernels
        • Linear

          SVC SVR
          linear_dual_l1_svc_hyperplane linear_dual_l1_svc_hyperplane
        • Polynomial

          SVC SVR
          poly_dual_l1_svc_hyperplane poly_dual_l1_svc_hyperplane
        • Gaussian

          SVC SVR
          gaussian_dual_l1_svc_hyperplane gaussian_dual_l1_svc_hyperplane
        • Laplacian

          SVC SVR
          laplacian_dual_l1_svc_hyperplane laplacian_dual_l1_svc_hyperplane
        • Sigmoid

      • Optimizers (ad hoc)
    • Neural Networks
      • Neural Network Classifier
      • Neural Network Regressor
      • Losses
        • Mean Absolute Error (L1 Loss)
        • Mean Squared Error (L2 Loss)
        • Binary Cross Entropy
        • Categorical Cross Entropy
        • Sparse Categorical Cross Entropy
      • Regularizers
        • L1 or Lasso
        • L2 or Ridge or Tikhonov
      • Activations
        • Linear
        • Sigmoid
        • Tanh
        • ReLU
        • SoftMax
      • Layers
        • Fully Connected
      • Initializers
        • Xavier or Glorot (normal and uniform)
        • He (normal and uniform)

Install

pip install optiml

Documentation

The full API reference is available at dmeoli.github.io/optiml, automatically built from the source docstrings and published to GitHub Pages on every push to master.

It can also be built locally with Sphinx:

pip install -r docs/requirements.txt
sphinx-build -b html docs docs/_build/html

License License: MIT

This software is released under the MIT License. See the LICENSE file for details.

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

optiml-1.8.tar.gz (496.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

optiml-1.8-py3-none-any.whl (542.8 kB view details)

Uploaded Python 3

File details

Details for the file optiml-1.8.tar.gz.

File metadata

  • Download URL: optiml-1.8.tar.gz
  • Upload date:
  • Size: 496.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for optiml-1.8.tar.gz
Algorithm Hash digest
SHA256 0f4b4b9087674a38592c2c739bd9dcb3493f53bc1373f84b1008927bcd3941cf
MD5 7cdffb56ad442334a8bb320dc579a817
BLAKE2b-256 7fa4222a493378a5ad860e80a1f64780aaeff5623df4cef9f2109a9881c3bab3

See more details on using hashes here.

Provenance

The following attestation bundles were made for optiml-1.8.tar.gz:

Publisher: publish.yml on dmeoli/optiml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file optiml-1.8-py3-none-any.whl.

File metadata

  • Download URL: optiml-1.8-py3-none-any.whl
  • Upload date:
  • Size: 542.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for optiml-1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 142655fa542a7c1cd82cfc4c7c1643d501dd8d63d83a26b97a22959f0e918f55
MD5 c1c50beb3f5308d8fa8d38b9f6a331bc
BLAKE2b-256 c13ad5e3b662bdaad833ef3876d4e76d0b57a3f929773f8f2dd8192f6d3259df

See more details on using hashes here.

Provenance

The following attestation bundles were made for optiml-1.8-py3-none-any.whl:

Publisher: publish.yml on dmeoli/optiml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page