Code Monkey home page Code Monkey logo

jensen's Introduction

Jensen

Jensen: A toolkit with API support for Convex Optimization and Machine Learning For further documentation, please see https://arxiv.org/abs/1807.06574

License

Copyright (C) Rishabh Iyer, John T. Halloran, and Kai Wei Licensed under the Open Software License version 3.0 See COPYING or http://opensource.org/licenses/OSL-3.0

Contributors:

  • Rishabh Iyer
  • John Halloran
  • Kai Wei

Features Supported

  1. Convex Function API
  • Base class for convex optimization
  • L1LogistocLoss and L2LogistocLoss,
  • L1SmoothSVMLoss and L2SmoothSVMLoss,
  • L1HingeSVMLoss and L2HingeSVMLoss,
  • L1ProbitLossLoss and L2ProbitLoss,
  • L1HuberSVMLoss and L2HuberSVMLoss,
  • L1SmoothSVRLoss and L2SmoothSVRLoss,
  • L1HingeSVMLoss and L2HingeSVMLoss
  1. Convex Optimization Algorithms API
  • Trust Region Newton (TRON)
  • LBFGS Algorithm
  • LBFGS OWL (L1 regularization)
  • Conjugate Gradient Descent
  • Dual Coordinate Descent for SVMs (SVCDual)
  • Gradient Descent
  • Gradient Descent with Line Search
  • Gradient Descent with Nesterov's algorithm
  • Gradient Descent with Barzilai-Borwein step size
  • Stochastic Gradient Descent
  • Stochastic Gradient Descent with AdaGrad
  • Stochastic Gradient Descent with Dual Averaging
  • Stochastic Gradient Descent with Decaying Learning Rate
  1. ML Classification API
  • L1 Logistic Regression,
  • L2 Logistic Regression
  • L1 Smooth SVM
  • L2 Smooth SVM
  • L2 Smooth SVM
  1. ML Regression API
  • L1 Linear Regression
  • L2 Linear Regression
  • L1 Smooth SVRs
  • L2 Smooth SVRs
  • L2 Hinge SVRs

Install and Build

  1. Install CMake
  2. Go to the main directory of jensen
  3. mkdir build
  4. cd build/
  5. cmake ..
  6. make

Once you run make, it should automatically build the entire library. Once the library is built, please try out the example codes in the build directory.

Test Code

To test the optimization algorithms please run the test executables: ./TestL1LogisticLoss ./TestL2LogisticLoss ./TestL1SmoothSVMLoss ./TestL2LeastSquaresLoss etc.

Examples

You can also play around with the examples for testing classification and regression models. You can try them out as: ./ClassificationExample -trainFeatureFile ../data/heart_scale.feat -trainLabelFile ../data/heart_scale.label -testFeatureFile ../data/heart_scale.feat -testLabelFile ../data/heart_scale.label Optionally you can also play around with the method (L1LR, L2LR etc.), the algtype (LBFGS, TRON etc.), the regularization and so on.

jensen's People

Contributors

rishabhk108 avatar johnhalloran321 avatar pratik08 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.