A Practical Guide to Randomized Matrix Computations with MATLAB Implementations
A Practical Guide to Randomized Matrix Computations with MATLAB Implementations
Matrix operations such as matrix inversion, eigenvalue decomposition, singular value decomposition are ubiquitous in real-world applications. Unfortunately, many of these matrix operations so time and memory expensive that they are prohibitive when the scale of data is large. In real-world applications, since the data themselves are noisy, machine-precision matrix operations are not necessary at all, and one can sacrifice a reasonable amount of accuracy for computational efficiency.
In recent years, a bunch of randomized algorithms have been devised to make matrix computations more scalable. Mahoney (2011) and Woodruff (2014) have written excellent but very technical reviews of the randomized algorithms. Differently, the focus of this manuscript is on intuitions, algorithm derivation, and implementations, and should be accessible to those with knowledge in elementary matrix algebra. The algorithms introduced in this manuscript are all summarized in a user-friendly way, and they can be implemented in lines of MATLAB code. The readers can easily follow the implementations even if they do not understand the maths and algorithms.
This tutorial [matlab code] [pdf] [arXiv] covers the following topics:
basic random projection and column selection algorithms
fast algorithms for the least square regression when n is far greater than d
fast algorithms for rank k singular value decomposition
symmetric positive semidefinite matrix sketching and its applications in kernel approximation
(2540k)
Shusen Wang,
2015年6月5日 下午10:34
(977k)
Shusen Wang,
2015年6月5日 下午10:44