Coder Social home page Coder Social logo

agglio's Introduction

AGGLIO: Global Optimization for Locally Convex Functions.

This repository presents an implementation of the AGGLIO algorithm. The accompanying paper can be accessed at [https://arxiv.org/abs/2111.03932]

Setup

The python packages required to run the code are listed in requirement.txt, with the respective version number at the time of publishing the code. You may use the following command to install the libraries with the given versions if you are a pip user.

pip3 install -r requirements.txt

To install the latest version, please drop the version numbers from the requirements.txt file.

Dataset

Most experiments are performed on synthetic data, which are generated on the fly. One experiment uses Boston Housing regression dataset which is a standard dataset.

Executing AGGLIO

The application of AGGLIO is demonstrated in the following:

  1. GLM models based on Sigmoid activation: The comparative performance of the variants of AGGLIO (GD, SGD, ADAM, SVRG) for Sigmoid activation in the presence of no noise, pre and post activation noise respectively corresponding to figure 4 in the paper are demonstrated by the jupyter notebook files having name suffixed by _4a, _4b and _4c.
  2. GLM models based on Softplus, Leaky-Softplus and SiLU activation: The performance of AGGLIO (GD and SGD) for the GLM models with the three above activation functions in the ideal noiseless setting corresponding to figure 3 in the paper are demonstrated by the jupyter notebook files having name suffixed by _3a, _3b and _3c respectively.
  3. Effect of hyperparameter variation on model recovery error (sigmoid activation):
  • Model recovery error with respect to the variation in algorithm parameters: gradient stepsize, intial temperature and temperature increment corresponding to figure 5 in the paper are demonstrated by the jupyter notebook files having names suffixed by _5a, _5b and _5c respectively.
  • Model recovery error with respect to the variation in data parameters: dimension and stdev for pre-activation noisy setting corresponding to figure 7 are demonstrated by the jupyter notebook files having names suffixed by _7a and _7b respectively.
  1. Consistent recovery results (sigmoid activation): Improvement in model recovery error, if any, with the increase in sample size for post and pre activation noise settings, also a justification for Theorem 5 in the paper, corresponding to figure 6a and 6b are demonstrated by the jupyter notebook files having names suffixed by _6a and _6b respectively.
  2. Performance on real regression dataset: The performance of AGGLIO with sigmoid activation on Boston Housing regression dataset (normalized to fit logistic regression) corresponding to figure 6c is demonstrated by the jupyter notebook file having name suffixed by _6c.

Contributing

This repository is released under the MIT license. If you would like to submit a bugfix or an enhancement to AGGLIO, please open an issue on this GitHub repository. We welcome other suggestions and comments too (please mail the corresponding author at [email protected])

License

This repository is licensed under the MIT license - please see the LICENSE file for details.

Reference

Dey, Debojyoti, Bhaskar Mukhoty, and Purushottam Kar. "AGGLIO: Global Optimization for Locally Convex Functions." arXiv preprint arXiv:2111.03932 (2021).

agglio's People

Contributors

debojyoti23 avatar purushottamkar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.