Git Product home page Git Product logo

hiroyuki-kasai / subsampled-rtr Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 6.0 5.07 MB

Subsampled Riemannian trust-region (RTR) algorithms

License: MIT License

MATLAB 98.23% C 1.74% M 0.03%
riemannian-optimization trust-region stochastic-optimizers riemannian-manifold big-data second-order-optimization subsample sub-sampling sampling-methods riemannian-geometry gradient-descent-algorithm optimization optimization-algorithms stochastic-gradient-descent large-scale-optimizations

subsampled-rtr's Introduction

Subsampled Riemannian trust-region (RTR) algorithms

Authors: [Hiroyuki Kasai]http://kasai.comm.waseda.ac.jp/kasai/) and Bamdev Mishra

Last page update: June 20, 2019

Latest library version: 1.1.0 (see Release notes for more info)


Introduction

The package contains a MATLAB code presented in the report "Inexact trust-region algorithms on Riemannian manifolds" by Hiroyuki Kasai and Bamdev Mishra in NeurIPS2018 (NIPS2018).


Folders and files

./                      - Top directory.
./README.md             - This readme file.
./run_me_first.m        - The scipt that you need to run first.
./demo.m                - Demonstration script to check and understand this package easily. 
|manopt_mod_solvers/    - Contains modified solvers from manopt.
|manopt-4/              - Contains manopt package.
|problem/               - Problem definition files to be solved.
|propose/               - Contains proposed algorithm files.
|tools/                 - Contains data generation scripts.
|docs/                  - PDF files of NeurIPS paper and poster.

First to do

Run run_me_first for path configurations.

%% First run the setup script
run_me_first; 

Demonstration

Run demo for a simple demonstartion.

%% Run a demonstration script
demo; 

This script demonstrates a case study of using the proposed Subsampled-RTR algorithm (Sub-H-RTR) on a small PCA problem instance. Below is the results of an optimality gap vs. iteration number and time [sec].


Performance results (from paper):

  • PCA problem

  • Matrix completion problem

Cite

Please cite our paper if you use this code in your own work.

@conference{Kasai_NeurIPS_2018,
    Author = {Kasai, H. and Mishra, B.},
    Booktitle = {NeurIPS},
    Title = {Inexact trust-region algorithms on {R}iemannian manifolds},
    Year = {2018}
}

License

(c) 2017-2019 Hiroyuki Kasai (kasai at is dot uec dot ac dot jp) and Bamdev Mishra (bamdevm at gmail dot com).


Confirmed operating environment:

  • This code has been checked on Mac OS (64 bits) under
    • MATLAB 8.2.0.701 (R2013b)
    • MATLAB 9.1.0.441655 (R2016b)
    • MATLAB 9.4.0.813654 (R2018a)
  • Note that RTRMC may not work properly in some environments due to its Mex-files.

Problems or questions

If you have any problems or questions, please contact the author: Hiroyuki Kasai (email: hiroyuki dot kasai at waseda dot jp).


Release Notes

  • Version 1.1.0 (June 20, 2019)
    • Added initial codes.
  • Version 1.0.0 (Nov. 24, 2018)
    • Initial version.

subsampled-rtr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.