RSOpt

所属分类:大数据
开发工具:matlab
文件大小:7505KB
下载次数:1
上传日期:2023-01-05 03:31:45
上 传 者sh-1993
说明:  黎曼随机优化算法:版本1.0.3
(Riemannian stochastic optimization algorithms: Version 1.0.3)

文件列表:
LICENSE (1071, 2023-01-05)
dataset (0, 2023-01-05)
dataset\jester (0, 2023-01-05)
dataset\jester\jester_mat.mat (4966372, 2023-01-05)
dataset\psd (0, 2023-01-05)
dataset\psd\psd_mean_10_5000_5.mat (2603719, 2023-01-05)
dataset\psd\psd_mean_3_500_5.mat (29577, 2023-01-05)
demo.m (3788, 2023-01-05)
manopt (0, 2023-01-05)
manopt\CLA.txt (2938, 2023-01-05)
manopt\COPYING.txt (35821, 2023-01-05)
manopt\CREDITS.txt (762, 2023-01-05)
manopt\LICENSE.txt (1649, 2023-01-05)
manopt\checkinstall (0, 2023-01-05)
manopt\checkinstall\basicexample.m (1107, 2023-01-05)
manopt\examples (0, 2023-01-05)
manopt\examples\PCA_stochastic.m (5160, 2023-01-05)
manopt\examples\dominant_invariant_subspace.m (4062, 2023-01-05)
manopt\examples\dominant_invariant_subspace_complex.m (3310, 2023-01-05)
manopt\examples\elliptope_SDP.m (5466, 2023-01-05)
manopt\examples\elliptope_SDP_complex.m (5499, 2023-01-05)
manopt\examples\essential_svd.m (2369, 2023-01-05)
manopt\examples\generalized_eigenvalue_computation.m (4326, 2023-01-05)
manopt\examples\generalized_procrustes.m (6694, 2023-01-05)
manopt\examples\low_rank_dist_completion.m (25781, 2023-01-05)
manopt\examples\low_rank_matrix_completion.m (8637, 2023-01-05)
manopt\examples\low_rank_tensor_completion.m (11732, 2023-01-05)
manopt\examples\maxcut.m (12691, 2023-01-05)
manopt\examples\nonlinear_eigenspace.m (3274, 2023-01-05)
manopt\examples\packing_on_the_sphere.m (9580, 2023-01-05)
manopt\examples\positive_definite_karcher_mean.m (4391, 2023-01-05)
manopt\examples\radio_interferometric_calibration.m (7040, 2023-01-05)
manopt\examples\robust_pca.m (5813, 2023-01-05)
manopt\examples\shapefit_smoothed.m (11113, 2023-01-05)
manopt\examples\sparse_pca.m (6328, 2023-01-05)
manopt\examples\thomson_problem.m (2451, 2023-01-05)
manopt\examples\truncated_svd.m (6929, 2023-01-05)
... ...

# RSOpt (Riemannian stochastic optimization algorithms) Authors: [Hiroyuki Kasai](http://kasai.comm.waseda.ac.jp/kasai/), [Bamdev Mishra](https://bamdevmishra.in/), [Hiroyuki Sato](https://sites.google.com/site/hiroyukisatoeng/), [Pratik Jawanpuria](https://pratikjawanpuria.com/publications/) Last page update: October 10, 2022 Latest version: 1.0.4 (see Release notes for more info)
Intdocution ---------- Let f: M -> R be a smooth real-valued function on a **[Riemannian manifold](https://en.wikipedia.org/wiki/Riemannian_manifold) M**. The target problem concerns a given model variable w on M, and is expressed as min_{w in M} f(w) := 1/n sum_{i=1}^n f_i(w), where n is the total number of the elements. This problem has many applications; for example, in [principal component analysis](https://en.wikipedia.org/wiki/Principal_component_analysis) (PCA) and the subspace tracking problem, which is the set of r-dimensional linear subspaces in R^d. The low-rank [matrix comletion](https://en.wikipedia.org/wiki/Matrix_completion) problem and tensor completion problem are promising applications concerning the manifold of fixed-rank matrices/tensors. The [linear regression](https://en.wikipedia.org/wiki/Linear_regression) problem is also defined on the manifold of fixed-rank matrices. A popular choice of algorithms for solving this probem is the Riemannian gradient descent method, which calculates the Riemannian full gradient estimation for every iteration. However, this estimation is computationally costly when n is extremely large. A popular alternative is the **Riemannian stochastic gradient descent algorithm (R-SGD)**, which extends the **[stochastic gradient descent algorithm](https://en.wikipedia.org/wiki/Stochastic_gradient_descent) (SGD)** in the Euclidean space to the Riemannian manifold. As R-SGD calculates only one gradient for the i-th sample, the complexity per iteration is independent of the sample size n. Although R-SGD requires retraction and vector transport operations in every iteration, those calculation costs can be ignored when they are lower than those of the stochastic gradient; this applies to many important Riemannian optimization problems, including the low-rank tensor completion problem and the Riemannian centroid problem. Similar to SGD, R-SGD is hindered by a slow convergence rate due to a **decaying step size** sequence. To accelerate the rate of R-SGD, the **Riemannian stochastic variance reduced gradient algorithm (R-SVRG)** has been proposed; this technique reduces the variance of the stochastic gradient exploiting the finite-sum based on recent progress in **variance reduction** methods in the Euclidean space . One distinguished feature is reduction of the variance of noisy stochastic gradients by periodical full gradient estimations, which yields a linear convergence rate. **Riemannian stochastic quasi-Newton algorithm with variance reduction algorithm (R-SQN-VR)** has also recently been proposed, where a stochastic quasi-Newton algorithm and the variance reduced methods are mutually combined. Furthermore, the **Riemannian stochastic recursive gradient algorithm (R-SRG)** has recently been also proposed to accelerate the convergence rate of R-SGD. This RSOpt package provides the MATLAB implementation codes dedicated to those **stochastic** algorithms above. Note that various manifold algrithms on various manifolds are implemented in MATLAB toolbox [manopt](https://manopt.org/). The RSOpt codes are compliant to manopt. Also, please see [here](https://press.princeton.edu/titles/8586.html) for more comprehensive explanation of **optimization algorithms on matrix manifolds**.
Algorithms ---------- - **R-SGD (Riemannian stochastic gradient descent)** algorithm - S.Bonnabel, "[Stochastic gradient descent on Riemannian manifolds](https://ieeexplore.ieee.org/document/***87381/)," IEEE Trans. on Auto. Cont., 2013. - **R-SVRG (Riemannian stochastic variance reduced gradient)** algorithm - H.Sato, H.Kasai and B.Mishra, "Riemannian stochastic variance reduced gradient with retration and vector transport," [SIOPT2019](https://epubs.siam.org/doi/10.1137/17M1116787), [arXiv2017](https://arxiv.org/abs/1702.05594). - H.Kasai, H.Sato and B.Mishra, "[Riemannian stochastic variance reduced gradient on Grassmann manifold](http://opt-ml.org/papers/OPT2016_paper_13.pdf)," NIPS workshop OPT2016, 2016. - H.Zhang, S.J.Reddi and S.Sra, "[Fast stochastic optimization on Riemannian manifolds](http://papers.nips.cc/paper/6515-riemannian-svrg-fast-stochastic-optimization-on-riemannian-manifolds)," NIPS2016, 2016. - **R-SRG (Riemannian stochastic recursive gradient)** algorithm - H.Kasai, H.Sato and B.Mishra, "[Riemannian stochastic recursive gradient algorithm](http://proceedings.mlr.press/v80/kasai18a.html)," ICML2018, 2018. - **R-SQN-VR (Riemannian stochastic quasi-Newton algorithm with variance reduction)** (Not yet included) - H.Kasai, H.Sato and B.Mishra, "[Riemannian stochastic quasi-Newton algorithm with variance reduction and its convergence analysis](http://proceedings.mlr.press/v84/kasai18a.html)," AISTATS2018, 2018. - **RASA** (**R**iemannian **A**daptive **S**tochastic gradient **a**lgorithm on matrix manifolds) (Coming soon!) - H.Kasai, P.Jawanpuria and B.Mishra, "[Riemannian adaptive stochastic gradient algorithms on matrix manifolds](http://proceedings.mlr.press/v97/kasai19a.html)," ICML2019, 2019. - **Sub-RTR** (**Sub**sampled **R**iemannian **t**rust-**r**egion (RTR) algorithms) - H.Kasai and B.Mishra, "[Inexact trust-region algorithms on Riemannian manifolds](https://proceedings.neurips.cc/paper/2018/hash/3e9e39fed3b8369ed940f52cf300cf88-Abstract.html)," NeurIPS2018, 2018. - The code is available at [here](https://github.com/hiroyuki-kasai/Subsampled-RTR).
R-SVRG vs. R-SRG ---------- |Item|R-SVRG| R-SRG| |---|---|---| |Need no transport vectors from previous iterate| ☐ (Rrequire existence of inverse of retraction for vector transport) | ☑| |Need no inverse of retraction|☐| ☑ (Computationally efficient, Applicable to a wider range of manifolds)| |Accelerated variant|☐| ☑ (See *More plots* below)|
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. 
|solvers/               - Contains various Riemannian stochastic optimization algorithms.
|tool/                  - Some auxiliary tools for this project.
|manopt/                - Contains manopt toolbox.

First to do ---------------------------- Run `run_me_first` for path configurations. ```Matlab %% First run the setup script run_me_first; ```
Demonstration script ---------------------------- Run `demo` for computing the Riemannian centroid of **N** symmetric positive-definite (SPD) matrices of size **dxd**. This problem frequently appears in computer vision problems such as visual object categorization and pose categorization. This demonstation handles N=500 and d=3. ```Matlab demo; ```

More plots ---------------------------- Run `show_centroid_plots` for the same Riemannian centroid problem. This scripts compares R-SGD, R-SVRG, R-SRG and R-SRG+ as well as batch algorithms including R-SD and R-CG. This scripts handles N=5000 and d=10. ```Matlab show_centroid_plots; ```

License --------------------- - The code is free and open source. - The code should only be used for academic/research purposes.
Notes --------------------- - The code is compliant to MATLAB toolbox [manopt](https://manopt.org/).
Problems or questions --------------------- If you have any problems or questions, please contact the author: [Hiroyuki Kasai](http://kasai.comm.waseda.ac.jp/kasai/) (email: hiroyuki **dot** kasai **at** waseda **dot** jp)
Release Notes -------------- * Version 1.0.4 (Oct. 10, 2022) - Readme file is updated. * Version 1.0.3 (May 31, 2019) - Some paper informaiton are updated. * Version 1.0.2 (Sep. 13, 2018) - MC problem (with Jester dataset) example is added. * Version 1.0.1 (July 20, 2018) - Initial codes are available. * Version 1.0.0 (July 12, 2018) - Initial version.

近期下载者

相关文件


收藏者