Download Fast Monte-Carlo Algorithms for Matrix Multiplication

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Linear regression wikipedia , lookup

Data assimilation wikipedia , lookup

Least squares wikipedia , lookup

Time series wikipedia , lookup

Transcript
Randomized algorithms for matrices and data
Michael W. Mahoney
Stanford University
November 2011
(For more info, see: http://cs.stanford.edu/people/mmahoney)
Matrix computations
Eigendecompositions, QR, SVD, least-squares, etc.
Traditional algorithms:
• compute “exact” answers to, say, 10 digits as a black box
• assume the matrix is in RAM and minimize flops
But they are NOT well-suited for:
• with missing or noisy entries
• problems that are very large
• distributed or parallel computation
• when communication is a bottleneck
• when the data must be accessed via “passes”
Why randomized matrix algorithms?
• Faster algorithms: worst-case theory and/or numerical code
• Simpler algorithms: easier to analyze and reason about
• More-interpretable output: useful if analyst time is expensive
• Implicit regularization properties: and more robust output
• Exploit modern computer architectures: by reorganizing steps of alg
• Massive data: matrices that they can be stored only in slow
secondary memory devices or even not at all
Today, focus on low-rank matrix approximation and leastsquares approximation: ubiquitous, fundamental, and at the
center of recent developments
The general idea ...
• Randomly sample columns/rows/entries of the matrix, with
carefully-constructed importance sampling probabilities, to
form a randomized sketch
• Preprocess the matrix with random projections, to form a
randomized sketch by sampling columns/rows uniformly
• Use the sketch to compute an approximate solution to the
original problem w.h.p.
• Resulting sketches are “similar” to the original matrix in
terms of singular value and singular vector structure, e.g.,
w.h.p. are bounded distance from the original matrix
The devil is in the details ...
Decouple the randomization from the linear algebra:
• originally within the analysis, then made explicit
• permits much finer control in application of randomization
Importance of statistical leverage scores:
• historically used in regression diagnostics to identify outliers
• best random sampling algorithms use them as importance sampling
distribution
• best random projection algorithms go to a random basis where they
are roughly uniform
Couple with domain expertise—to get best results!
History of NLA
≤ 1940s: Prehistory
• Close connections to data analysis, noise, statistics, randomization
1950s: Computers
• Banish randomness & downgrade data (except scientific computing)
1980s: NLA comes of age - high-quality codes
• QR, SVD, spectral graph partitioning, etc. (written for HPC)
1990s: Lots of new DATA
• LSI, PageRank, NCuts, etc., etc., etc. used in ML and Data Analysis
2000s: New data problems force new approaches ...
History of Randomized Matrix Algs
Theoretical origins
Practical applications
• theoretical computer
science, convex analysis, etc.
• NLA, ML, statistics, data
analysis, genetics, etc
• Johnson-Lindenstrauss
• Fast JL transform
• Additive-error algs
• Relative-error algs
• Good worst-case analysis
• Numerically-stable algs
• No statistical analysis
• Good statistical properties
How to “bridge the gap”?
• decouple randomization from linear algebra
• importance of statistical leverage scores!
Statistical leverage, coherence, etc.
Definition: Given a “tall” n x d matrix A, i.e., with n > d, let U
be the n x d matrix of left singular vectors, and let the dvector U(i) be the ith row of U. Then:
• the statistical leverage scores are i = ||U(i)||22 , for i  {1,…,n}
• the coherence is  = maxi  {1,…,n} i
• the (i,j)-cross-leverage scores are U(i)T U(j) = <U(i) ,U(j)>
Note: There are extension of this to:
• “fat” matrices A, with n, d are large and low-rank parameter k
• L1 and other p-norms
Algorithmic vs. Statistical Perspectives
Lambert (2000)
Computer Scientists
• Data: are a record of everything that happened.
• Goal: process the data to find interesting patterns and associations.
• Methodology: Develop approximation algorithms under different
models of data access since the goal is typically computationally hard.
Statisticians (and Natural Scientists)
• Data: are a particular random instantiation of an underlying process
describing unobserved patterns in the world.
• Goal: is to extract information about the world from noisy data.
• Methodology: Make inferences (perhaps about unseen events) by
positing a model that describes the random variability of the data
around the deterministic model.
Human genetics
Single Nucleotide Polymorphisms: the most common type of genetic variation in the
genome across different individuals.
They are known locations at the human genome where two alternate nucleotide bases
(alleles) are observed (out of A, C, G, T).
SNPs
individuals
… AG CT GT GG CT CC CC CC CC AG AG AG AG AG AA CT AA GG GG CC GG AG CG AC CC AA CC AA GG TT AG CT CG CG CG AT CT CT AG CT AG GG GT GA AG …
… GG TT TT GG TT CC CC CC CC GG AA AG AG AG AA CT AA GG GG CC GG AA GG AA CC AA CC AA GG TT AA TT GG GG GG TT TT CC GG TT GG GG TT GG AA …
… GG TT TT GG TT CC CC CC CC GG AA AG AG AA AG CT AA GG GG CC AG AG CG AC CC AA CC AA GG TT AG CT CG CG CG AT CT CT AG CT AG GG GT GA AG …
… GG TT TT GG TT CC CC CC CC GG AA AG AG AG AA CC GG AA CC CC AG GG CC AC CC AA CG AA GG TT AG CT CG CG CG AT CT CT AG CT AG GT GT GA AG …
… GG TT TT GG TT CC CC CC CC GG AA GG GG GG AA CT AA GG GG CT GG AA CC AC CG AA CC AA GG TT GG CC CG CG CG AT CT CT AG CT AG GG TT GG AA …
… GG TT TT GG TT CC CC CG CC AG AG AG AG AG AA CT AA GG GG CT GG AG CC CC CG AA CC AA GT TT AG CT CG CG CG AT CT CT AG CT AG GG TT GG AA …
… GG TT TT GG TT CC CC CC CC GG AA AG AG AG AA TT AA GG GG CC AG AG CG AA CC AA CG AA GG TT AA TT GG GG GG TT TT CC GG TT GG GT TT GG AA …
Matrices including thousands of individuals and hundreds of thousands if SNPs are available.
HGDP data
• 1,033 samples
• 7 geographic regions
• 52 populations
The Human Genome Diversity Panel (HGDP)
Cavalli-Sforza (2005) Nat Genet Rev
Rosenberg et al. (2002) Science
Li et al. (2008) Science
HGDP data
CEU
• 1,033 samples
• 7 geographic regions
• 52 populations
TSI
JPT, CHB, & CHD
HapMap Phase 3 data
MEX
GIH
• 1,207 samples
• 11 populations
ASW, MKK,
LWK, & YRI
HapMap Phase 3
The Human Genome Diversity Panel (HGDP)
Apply SVD/PCA on the
(joint) HGDP and HapMap
Phase 3 data.
Matrix dimensions:
2,240 subjects (rows)
447,143 SNPs (columns)
Dense matrix:
Cavalli-Sforza (2005) Nat Genet Rev
Rosenberg et al. (2002) Science
Li et al. (2008) Science
The International HapMap Consortium
(2003, 2005, 2007) Nature
over one billion entries
The Singular Value Decomposition (SVD)
The formal definition:
Given any m x n matrix A, one can decompose it as:
: rank of A
U (V): orthogonal matrix containing the left (right) singular vectors of A.
S: diagonal matrix containing 1  2  …  , the singular values of A.
SVD is the “the Rolls-Royce and the Swiss Army Knife of Numerical Linear Algebra.”*
*Dianne O’Leary, MMDS 2006
Rank-k approximations (Ak)
Truncate the SVD at the top-k terms:
Keep the “most
important” k-dim
subspace.
Uk (Vk): orthogonal matrix containing the top k left (right) singular vectors of A.
Sk: diagonal matrix containing the top k singular values of A.
Important: Keeping top k singular vectors provides “best” rank-k
approximation to A (w.r.t. Frobenius norm, spectral norm, etc.):
Ak = argmin{ ||A-X||2,F : rank(X)  k }.
Singular values, intuition
Blue circles are m data points in a 2-D space.
5
2
2nd (right)
singular vector
The SVD of the m-by-2 matrix of the data
will return …
V(1): 1st (right) singular vector: direction of
maximal variance,
4
1: how much of data variance is explained by
the first singular vector.
3
V(2): 2nd (right) singular vector: direction of
maximal variance, after removing projection
of the data along first singular vector.
1
1st (right)
singular vector
2
4.0
4.5
2: measures how much of the data variance
is explained by the second singular vector.
5.0
5.5
6.0
Paschou, Lewis, Javed, & Drineas (2010) J Med Genet
Europe
Middle East
Gujarati
Indians
Africa
Mexicans
Oceania
South Central
Asia
America
East Asia
• Top two Principal Components (PCs or eigenSNPs)
(Lin and Altman (2005) Am J Hum Genet)
• The figure renders visual support to the “out-of-Africa” hypothesis.
• Mexican population seems out of place: we move to the top three PCs.
Paschou, Lewis, Javed, & Drineas (2010) J Med Genet
Africa
Middle East
S C Asia &
Gujarati
Oceania
Europe
East Asia
America
Not altogether satisfactory: the principal components are linear combinations
of all SNPs, and – of course – can not be assayed!
Can we find actual SNPs that capture the information in the singular vectors?
Formally: spanning the same subspace.
Issues with eigen-analysis
• Computing large SVDs: computational time
• In commodity hardware (e.g., a 4GB RAM, dual-core laptop), using MatLab 7.0 (R14), the
computation of the SVD of the dense 2,240-by-447,143 matrix A takes about 20 minutes.
• Computing this SVD is not a one-liner, since we can not load the whole matrix in RAM
(runs out-of-memory in MatLab).
• Instead, compute the SVD of AAT.
• In a similar experiment, compute 1,200 SVDs on matrices of dimensions (approx.)
1,200-by-450,000 (roughly, a full leave-one-out cross-validation experiment).
(e.g., Drineas, Lewis, & Paschou (2010) PLoS ONE)
• Selecting actual columns that “capture the structure” of the top PCs
• Combinatorial optimization problem; hard even for small matrices.
• Often called the Column Subset Selection Problem (CSSP).
• Not clear that such “good” columns even exist.
• Avoid “reification” problem of “interpreting” singular vectors!
SVD decomposes a matrix as…
The SVD has very strong
optimality properties., e.g.
the matrix Uk is the “best”
in many ways.
Top k left singular vectors
 Note that, given Uk, the best X = UkTA = SVT.
 SVD can be computed fairly quickly.
 The columns of Uk are linear combinations of up to all columns of A.
CX (and CUR) matrix decompositions
Mahoney and Drineas (2009, PNAS); Drineas, Mahoney, and Muthukrishnan (2008, SIMAX)
Carefully
chosen X
Goal: choose actual columns C to make
(some norm) of A-CX small.
c columns of A
Why?
If A is an subject-SNP matrix, then selecting representative columns is
equivalent to selecting representative SNPs to capture the same structure
as the top eigenSNPs.
Note: To make C small, we want c as small as possible!
CX (and CUR) matrix decompositions
Mahoney and Drineas (2009, PNAS); Drineas, Mahoney, and Muthukrishnan (2008, SIMAX)
Easy to see optimal X = C+A.
Hard to find good columns (e.g., SNPs)
of A to include in C.
c columns of A
This Column Subset Selection Problem
(CSSP), heavily studied in N LA, is a
hard combinatorial problem.
Two issues are connected
• There exist “good” columns in any matrix that contain information about the
top principal components.
• We can identify such columns via a simple statistic: the leverage scores.
• This does not immediately imply faster algorithms for the SVD, but, combined
with random projections, it does!
• Analysis (almost!) boils down to understanding least-squares approximation ...
Least Squares (LS) Approximation
We are interested in over-constrained Lp regression problems, n >> d.
Typically, there is no x such that Ax = b.
Want to find the “best” x such that Ax ≈ b.
Ubiquitous in applications & central to theory:
Statistical interpretation: best linear unbiased estimator.
Geometric interpretation: orthogonally project b onto span(A).
Exact solution to LS Approximation
Cholesky Decomposition:
If A is full rank and well-conditioned,
decompose ATA = RTR, where R is upper triangular, and
solve the normal equations: RTRx=ATb.
QR Decomposition:
Slower but numerically stable, esp. if A is rank-deficient.
Projection of b on
the subspace spanned
by the columns of A
Write A=QR, and solve Rx = QTb.
Singular Value Decomposition:
Most expensive, but best if A is very ill-conditioned.
Write A=USVT, in which case: xOPT = A+b = VS-1kUTb.
Complexity is O(nd2) for all of these, but
constant factors differ.
Pseudoinverse
of A
Modeling with Least Squares
Assumptions underlying its use:
• Relationship between “outcomes” and “predictors is (roughly) linear.
• The error term  has mean zero.
• The error term  has constant variance.
• The errors are uncorrelated.
• The errors are normally distributed (or we have adequate sample size to
rely on large sample theory).
Should always check to make sure these assumptions have not
been (too) violated!
Statistical Issues and Regression Diagnostics
Model: b = Ax+
b = response; A(i) = carriers;
 = error process s.t.: mean zero, const. varnce, (i.e., E(e)=0
and Var(e)=2I), uncorrelated, normally distributed
xopt = (ATA)-1ATb
(what we computed before)
b’ = Hb
H = A(ATA)-1AT = “hat” matrix
Hij - measures the leverage or influence exerted on b’i by bj,
regardless of the value of bj (since H depends only on A)
e’ = b-b’ = (I-H)b
vector of residuals - note: E(e’)=0, Var(e’)=2(I-H)
Trace(H)=d
Diagnostic Rule of Thumb: Investigate if Hii > 2d/n
H=UUT
U is from SVD (A=USVT), or any orthogonal matrix for span(A)
Hii = |U(i)|22
leverage scores = row “lengths” of spanning orthogonal matrix
Hat Matrix and Regression Diagnostics
See: “The Hat Matrix in Regression and ANOVA,” Hoaglin and Welsch (1978)
Examples of things to note:
• Point 4 is a bivariate outlier - and H4,4 is largest, just exceeds 2p/n=6/10.
• Points 1 and 3 have relatively high leverage - extremes in the scatter of points.
• H1,4 is moderately negative - opposite sides of the data band.
• H1,8 and H1,10 moderately positive - those points mutually reinforce.
• H6,6 is fairly low - point 6 is in central position.
A “classic” randomized algorithm (1of3)
Over-constrained least squares (n x d matrix A,n >>d)
• Solve:
• Solution:
Randomized Algorithm:
• For all i  {1,...,n}, compute
• Randomly sample O(d log(d)/ ) rows/elements fro A/b, using
{pi} as importance sampling probabilities.
• Solve the induced subproblem:
A “classic” randomized algorithm (2of3)
Theorem: Let
. Then:
•
•
This naïve algorithm runs in O(nd2) time
• But it can be improved !!!
This algorithm is bottleneck for Low Rank Matrix Approximation
and many other matrix problems.
A “classic” randomized algorithm (3of3)
Sufficient condition for relative-error approximation.
For the “preprocessing” matrix X:
• Important: this condition decouples the randomness from the
linear algebra.
• Random sampling algorithms with leverage score probabilities
and random projections satisfy it!
Random projections: the JL lemma
Johnson & Lindenstrauss (1984)
• We can represent S by an m-by-n matrix A, whose rows correspond to points.
• We can represent all f(u) by an m-by-s Ã.
• The “mapping” corresponds to the construction of an n-by-s matrix  and computing
Ã=A
Different constructions for  matrix
“Slow” Random Projections (O(nd2) time to implement in RAM model):
• JL (1984): random k-dimensional space
• Frankl & Maehara (1988): random orthogonal matrix
• DasGupta & Gupta (1999): random matrix with entries from N(0,1), normalized
• Indyk & Motwani (1998): random matrix with entries from N(0,1), normalized
• Achlioptas (2003): random matrix with entries in {-1,0,+1}, normalized
• Alon (2003): optimal dependency on n, and almost optimal dependency on 
“Fast” Random Projections (o(nd2) time to implement in RAM model):
• Ailon and Chazelle (2006,2009); Matousek (2008); and many variants more recently.
Fast Johnson-Lindenstrauss Transform
Facts implicit or explicit in: Ailon & Chazelle (2006), Ailon and Liberty (2008), and Matousek(2008).
Normalized Hadamard-Walsh transform matrix
(if n is not a power of 2, add all-zero columns to A; or use other
related Hadamard-based methods)
Diagonal matrix with Dii set to +1 or -1 w.p. 1/2.
• P can also be a matrix representing the “uniform sampling” operation.
• In both cases, the O(n log (n)) running time is computational bottleneck.
Randomized Hadamard preprocessing
Facts implicit or explicit in: Ailon & Chazelle (2006), Ailon and Liberty (2008), and Matousek(2008).
Let Hn be an n-by-n deterministic Hadamard matrix, and
Let Dn be an n-by-n random diagonal matrix with +1/-1 chosen u.a.r. on the diagonal.
Fact 1: Multiplication by HnDn doesn’t change the solution:
(since Hn and Dn are orthogonal matrices).
Fact 2: Multiplication by HnDn is fast - only O(n log(r)) time, where r is the number of
elements of the output vector we need to “touch”.
Fact 3: Multiplication by HnDn approximately uniformizes all leverage scores:
Theoretically “fast” algorithms
Drineas, Mahoney, Muthukrishnan, and Sarlos (2007); Drineas, Magdon-Ismail, Mahoney, and Woodruff (2011)
Algorithm 1: Fast Random Projection Algorithm for LS Problem
• Preprocess input (in o(nd2)time) with Fast-JL transform, uniformizes
leverage scores, and sample uniformly in the randomly-rotated space
• Solve the induced subproblem
Algorithm 2: Fast Random Sampling Algorithm for LS Problem
• Compute 1 approximation to statistical leverage scores (in
o(nd2)time), and use them as importance sampling probabilities
• Solve the induced subproblem
Main theorem: For both of these randomized algorithms, we get:
• (1)-approximation
• in roughly
time!!
Fast approximation of statistical
leverage and matrix coherence (1 of 4)
Drineas, Magdon-Ismail, Mahoney, and Woodruff (2011, arXiv)
Simple (deterministic) algorithm:
• Compute a basis Q for the left singular subspace, with QR or SVD.
• Compute the Euclidean norms of the rows of Q.
Running time is O(nd2), if n >> d, O(on-basis) time otherwise.
We want faster!
• o(nd2) or o(on-basis), with no assumptions on input matrix A.
• Faster in terms of flops of clock time for not-obscenely-large input.
• OK to live with -error or to fail with overwhelmingly-small  probability
Fast approximation of statistical
leverage and matrix coherence (2 of 4)
Drineas, Magdon-Ismail, Mahoney, and Woodruff (2011, arXiv)
View the computation of leverage scores i.t.o an
under-constrained LS problem
Recall (A is n x d, n » d):
•
But:
•
Leverage scores are the norm of a min-length solution
of an under-constrained LS problem!
Fast approximation of statistical
leverage and matrix coherence (3 of 4)
Drineas, Magdon-Ismail, Mahoney, and Woodruff (2011, arXiv)
• This is simpler than for the full under-constrained LS solution since only
need the norm of the solution.
• This is essentially using R-1 from QR of subproblem as preconditioner for
original problem.
• I.e., 1 A is a randomized “sketch” of A; QR = 1 A is QR decomposition
of this sketch; and evaluate row norms of X≈ A R-1., but need 2, a second
projection, to make it “fast.”
Fast approximation of statistical
leverage and matrix coherence (4 of 4)
Drineas, Magdon-Ismail, Mahoney, and Woodruff (2011, arXiv)
Theorem: Given an n x d matrix A, with n >> d, let PA be the
projection matrix onto the column space of A. Then , there is a
randomized algorithm that w.p. ≥ 0.999:
• computes all of the n diagonal elements of PA (i.e., leverage
scores) to within relative (1±) error;
• computes all the large off-diagonal elements of PA to within
additive error;
• runs in o(nd2)* time.
*Running time is basically O(n d log(n)/), i.e., same as DMMS
fast randomized algorithm for over-constrained least squares.
Practically “fast” implementations
Use “randomized sketch” to construct preconditioner
for traditional iterative methods:
• RT08: preconditioned iterative method improves 1/
dependence to log(1/), important for high precision
• AMT10: much more detailed evaluation, different Hadamardtype preconditioners, etc.
• CRT11: use Gaussian projections to compute orthogonal
projections with normal equations
• MSM11: use Gaussian projections and LSQR or Chebyshev semiiterative method to minimize communication, e.g., for parallel
computation in Amazon EC2 clusters!
LSRN: a fast parallel implementation (1 of 4)
Meng, Saunders, and Mahoney (2011, arXiv)
A parallel iterative solver based on normal random
projections
• computes unique min-length solution to minx ||Ax-b||2
• very over-constrained or very under-constrained A
• full-rank or rank-deficient A
• A can be dense, sparse, or a linear operator
• easy to implement using threads or with MPI, and scales well
in parallel environments
LSRN: a fast parallel implementation (2 of 4)
Meng, Saunders, and Mahoney (2011, arXiv)
Algorithm:
• Generate a n x m matrix with i.i.d. Gaussian entries G
• Let N be R-1 or V S-1 from QR or SVD of GA
• Use LSQR or Chebyshev Semi-Iterative (CSI) method to
solve the preconditioned problem miny ||ANy-b||2
Things to note:
• Normal random projection: embarassingly parallel
• Bound (A): strong control on number of iterations
• CSI particularly good for parallel environments: doesn’t have
vector inner products that need synchronization b/w nodes
LSRN: a fast parallel implementation (3 of 4)
Meng, Saunders, and Mahoney (2011, arXiv)
LSRN: a fast parallel implementation (4 of 4)
Meng, Saunders, and Mahoney (2011, arXiv)
Low-rank approximation algorithms
Many randomized algorithms for low-rank matrix
approximation use extensions of these basic leastsquares ideas:
• Relative-error random sampling CX/CUR algorithms (DMM07)
• Relative-error random projection algorithms (S08)
• Column subset selection problem (exactly k columns) (BMD09)
• Numerical implementations, with connections to interpolative
decomposition (LWMRT07,WLRT08,MRT11)
• Numerical implementations for slower spectral decay (RST09)
Selecting PCA SNPs for individual assignment to four continents
(Africa, Europe, Asia, America)
Africa
Europe
Asia
America
Africa
Europe
Asia
America
PCA-scores
* top 30 PCA-correlated SNPs
SNPs by chromosomal order
Paschou et al (2007; 2008) PLoS Genetics
Paschou et al (2010) J Med Genet
Drineas et al (2010) PLoS One
Javed et al (2011) Annals Hum Genet
An interesting observation
Sampling w.r.t. to leverage scores results in redundant columns being selected.
(Almost) identical columns have (almost) the same leverage scores and thus might be all selected, even
though they do not really add new “information.”
First Solution:
Apply a “redundancy removal” step, e.g., a deterministic CSSP algorithm on the sampled columns.
Very good empirically, even with “naïve” CSSP algorithms (such as the pivoted QR factorization).
Conjecture:
The “leverage scores” filter out relevant columns, so deterministic methods do a better job later.
Paschou et al. (2007,2008) for population genetics applications; and Boutsidis et al. (2009, 2010) for theory.
Second Solution:
Apply clustering to the sampled columns and then return a representative column from each cluster.
Very good empirically, since it permits clustering of SNPs that have similar functionalities and thus allows
better understanding of the proposed ancestry-informative panels.
Statistical Leverage and DNA Microarray data
Mahoney and Drineas, PNAS (2009)
Statistical Leverage and Large Internet Data
Future directions?
Lots of them:
• Other traditional NLA and large-scale optimization problems
• Parallel and distributed computational environments
• Sparse graphs, sparse matrices, and sparse projections
• Laplacian matrices and large informatics graphs
• Randomized algorithms and implicit regularization
• ...
“New data and new problems are forcing us to reconsider the
algorithmic and statistical basis of large-scale data analysis.”
For more info ...
Two very good recent reviews:
• "Finding structure with randomness: Probabilistic algorithms
for constructing approximate matrix decompositions,” by N.
Halko, P. G. Martinsson, J. Tropp, SIAM Review, 53(2), 2011.
(Also available at arXiv:0909.4061).
• "Randomized Algorithms for Matrices and Data,” M. W.
Mahoney, In press in NOW Publishers' Foundations and
Trends in Machine Learning series. (Also available at
arXiv:1104.5557).
And no doubt more to come ...