Applications
Download
Report
Transcript Applications
Randomized Algorithms for Linear
Algebraic Computations & Applications
Petros Drineas
Rensselaer Polytechnic Institute
Computer Science Department
To access my web page:
drineas
Matrices and network applications
Matrices represent networks …
Graphs are often used in network applications.
(e.g., network traffic monitoring, web structure analysis,
social network mining, protein interaction networks, etc.)
Graphs are represented by matrices.
(e.g., adjacency matrices, edge-incidence matrices, etc.)
More recently: time-evolving graphs, represented by tensors – multi-mode arrays – in
recent literature.
Goal: discover patterns and anomalies in spite of the high dimensionality of data.
Matrices and network applications
Matrices represent networks …
Graphs are often used in network applications.
(e.g., network traffic monitoring, web structure analysis,
social network mining, protein interaction networks, etc.)
Graphs are represented by matrices.
(e.g., adjacency matrices, edge-incidence matrices, etc.)
More recently: time-evolving graphs, represented by tensors – multi-mode arrays – in
recent literature.
Goal: discover patterns and anomalies in spite of the high dimensionality of data.
Linear algebra and numerical analysis provide the fundamental mathematical and
algorithmic tools to deal with matrix and tensor computations.
Randomized algorithms
Randomization and sampling allow us to design provably accurate algorithms for
problems that are:
Massive
(e.g., matrices (graphs) so large that can not be stored at all, or can only be stored in slow,
secondary memory devices)
Computationally expensive or even NP-hard
(e.g., combinatorial problems such as the Column Subset Selection Problem)
Example: monitoring IP flows
Network administrator monitoring the (source, destination) IP flows over time:
n destinations
Tasks
- Find patterns, summaries,
anomalies, etc. in the static
setting, or
m sources
Aij = count of exchanged
flows between i-th source
and j-th destination
- in the dynamic setting
(tensor representation).
Interplay
Applications
Data mining & information retrieval (e.g., human genetics,
internet data, electronic circuit testing data, etc.)
Theoretical Computer Science
Randomized and approximation
algorithms
Numerical Linear Algebra
Matrix computations and Linear
Algebra (ie., perturbation theory)
Students and collaborators
Students
Collaborators
Asif Javed (PhD, graduated)
M.W. Mahoney (Stanford U)
Christos Boutsidis (PhD, 3rd year)
J. Sun (IBM T.J. Watson Research Center)
Jamey Lewis (PhD, 2nd year)
S. Muthu (Google)
Elena Sebe (undergrad, now at RPI)
E. Ziv (UCSF, School of Medicine)
John Payne (undergrad, now at CMU)
K. K. Kidd (Yale U, Dept. of Genetics)
Richard Alimi (undergrad, now at Yale)
P. Paschou (Democritus U., Greece, Genetics)
Our group keeps close ties with:
Yahoo! Research
Sandia National Laboratories
Funding from NSF and Yahoo! Research.
Overview
From the Singular Value Decomposition (SVD) to CUR-type decompositions
Additive and relative error CUR-type decompositions
Future directions
The Singular Value Decomposition (SVD)
n features
Matrix rows: points (vectors) in a Euclidean space,
m
objects
Two objects are “close” if the angle between their
corresponding vectors is small.
feature 2
e.g., given 2 objects (x & d), each described with
respect to two features, we get a 2-by-2 matrix.
Object d
(d,x)
Object x
feature 1
SVD, intuition
Let the blue circles represent m
data points in a 2-D Euclidean space.
5
2nd (right)
singular vector
Then, the SVD of the m-by-2 matrix
of the data will return …
4
1st (right) singular vector:
direction of maximal variance,
3
2nd (right) singular vector:
1st (right)
singular vector
2
4.0
4.5
5.0
5.5
6.0
direction of maximal variance, after
removing the projection of the data
along the first singular vector.
Singular values
5
2
2nd (right)
singular vector
1: measures how much of the data variance
is explained by the first singular vector.
4
2: measures how much of the data variance
is explained by the second singular vector.
3
1
1st (right)
singular vector
2
4.0
4.5
5.0
5.5
6.0
SVD: formal definition
0
0
: rank of A
U (V): orthogonal matrix containing the left (right) singular vectors of A.
S: diagonal matrix containing the singular values of A.
Let 1 ¸ 2 ¸ … ¸ be the entries of S.
Exact computation of the SVD takes O(min{mn2 , m2n}) time.
The top k left/right singular vectors/values can be computed faster using
Lanczos/Arnoldi methods.
Rank-k approximations via the SVD
A
=
U
S
VT
features
objects
noise
=
significant
sig.
significant
noise
noise
Rank-k approximations (Ak)
Uk (Vk): orthogonal matrix containing the top k left (right) singular vectors of A.
S k: diagonal matrix containing the top k
singular values of A.
Principal Components Analysis (PCA) essentially
amounts to the computation of the Singular Value
Decomposition (SVD) of a covariance matrix.
SVD is “the Rolls-Royce and the Swiss Army Knife of
Numerical Linear Algebra.”*
*Dianne O’Leary, MMDS ’06
feature 2
PCA and SVD
Object d
(d,x)
Object x
feature 1
Uk solves an optimization problem…
Given an m£n matrix A, we seek an m-by-k matrix C that minimizes the residual
Frobenius norm:
(1) It turns out that C = Uk is (one of many) solutions to the above problem.
(2) The minimal residual error is equal to the Frobenius norm of A-Ak.
(3) The above observations hold for any unitarily invariant norm (e.g., the spectral
norm).
Notation: PCA is the projection of A on the subspace spanned by the columns of C.
SVD issues …
SVD and PCA are often used to summarize and approximate matrices and they
have enjoyed enormous success in data analysis.
BUT
SVD issues …
SVD and PCA are often used to summarize and approximate matrices and they
have enjoyed enormous success in data analysis.
BUT
- For large sparse graphs they require large amounts of memory, exactly
because the resulting matrices are not sparse any more.
(Common networks such as the web, the Internet topology graph, the who-trusts-whom
social network are all large and sparse.)
- Running time becomes an issue.
- Assigning “meaning” to the singular vectors (reification) is tricky …
Alternative: CUR-type decompositions
1.
A “sketch” consisting of a few rows/columns of the matrix may replace the SVD.
2.
Rows/columns are drawn randomly, using various importance sampling schemes.
3.
The choice of the sampling probabilities is critical for the accuracy of the
approximation.
Carefully
chosen U
Create an approximation to
the original matrix which can
be stored in much less space.
O(1) columns
O(1) rows
Advantages
In applications where large, sparse matrices appear we can design
algorithms for CUR-type decompositions that
• are computable after two “passes” (sequential READS) through the
matrices,
• require O(m+n) RAM space (compare to O(mn) for the SVD),
• can be computed very fast (extra O(m+n) time after the two passes), and
• preserve sparsity.
Advantages
In applications where large, sparse matrices appear we can design
algorithms for CUR-type decompositions that
• are computable after two “passes” (sequential READS) through the
matrices,
• require O(m+n) RAM space (compare to O(mn) for the SVD),
• can be computed very fast (extra O(m+n) time after the two passes), and
• preserve sparsity.
Caveat: accuracy loss.
Some notation…
Given an m£n matrix A:
(i) A(i) denotes the i-th column of the matrix as a
column vector,
(ii) A(i) denotes the i-th row of the matrix as a row
vector,
(iii) |A(i)| or |A(i)| denotes the Euclidean norm of
the corresponding row or column,
(iv)
Finally, will be an accuracy parameter in (0,1) and a failure probability.
Computing CUR
(Drineas & Kannan SODA ’03, Drineas, Kannan, & Mahoney SICOMP ’06)
C consists of c = O(1/ε2) columns of A and R consists of r = O(1/ε2)
rows of A.
Computing CUR
(Drineas & Kannan SODA ’03, Drineas, Kannan, & Mahoney SICOMP ’06)
C consists of c = O(1/ε2) columns of A and R consists of r = O(1/ε2)
rows of A.
C (and R) is created using importance sampling, e.g. columns (rows)
are picked in i.i.d. trials with respect to probabilities
Computing U
Intuition:
The CUR algorithm essentially expresses every row of the matrix A as a
linear combination of a small subset of the rows of A.
•
This small subset consists of the rows in R.
Computing U
Intuition:
The CUR algorithm essentially expresses every row of the matrix A as a
linear combination of a small subset of the rows of A.
•
This small subset consists of the rows in R.
•
Given a row of A – say A(i) – the algorithm computes a good fit for
the row A(i) using the rows in R as the basis, by approximately solving
Notice that only c = O(1) element of the i-th row are given as input.
However, a vector of coefficients u can still be computed.
Computing U
Given c elements of A(i) the algorithm computes a good fit for the row
A(i) using the rows in R as the basis, by approximately solving:
In the process of computing U , we fix its rank to be a positive constant k,
which is part of the input.
Computing U
Given c elements of A(i) the algorithm computes a good fit for the row
A(i) using the rows in R as the basis, by approximately solving:
In the process of computing U , we fix its rank to be a positive constant k,
which is part of the input.
Note: Since CUR is of rank k, ||A-CUR||2,F > ||A-Ak||2,F.
Thus, we should choose a k such that ||A-Ak||2,F is small.
Error bounds (Frobenius norm)
Assume Ak is the “best” rank k approximation to A (through SVD). Then
We need to pick O(k/ε2) rows and O(k/ε2) columns.
Error bounds (2-norm)
Assume Ak is the “best” rank k approximation to A (through SVD). Then
We need to pick O(1/ε2) rows and O(1/ε2) columns and set k = (1/ε)-1.
Application to network flow data
(Sun, Xie, Zhang, & Faloutsos SDM ’07)
The data:
- A traffic trace consisting of TCP flow records collected at the backbone router of a class-B
university network.
- Each record in the trace corresponds to a directional TCP flow between two hosts; timestamps
indicate when the flow started and finished.
- Approx. 22,000 hosts/destinations; approx. 800,000 packets per hour between all hostdestination pairs.
Application to network flow data
(Sun, Xie, Zhang, & Faloutsos SDM ’07)
The data:
- A traffic trace consisting of TCP flow records collected at the backbone router of a class-B
university network.
- Each record in the trace corresponds to a directional TCP flow between two hosts; timestamps
indicate when the flow started and finished.
- Approx. 22,000 hosts/destinations; approx. 800,000 packets per hour between all hostdestination pairs.
Data from 10am-11am
on January 6, 2005
Application to network flow data
(Sun, Xie, Zhang, & Faloutsos SDM ’07)
Goal:
- Detect abnormal (anomalous) hosts by measuring the reconstruction error for each host!
- In other words, if a host can not be accurately expressed as a linear combination of a small set
of other hosts, then it potentially represents an anomaly and should be flagged.
Application to network flow data
(Sun, Xie, Zhang, & Faloutsos SDM ’07)
Goal:
- Detect abnormal (anomalous) hosts by measuring the reconstruction error for each host!
- In other words, if a host can not be accurately expressed as a linear combination of a small set
of other hosts, then it potentially represents an anomaly and should be flagged.
Simulation experiments:
- Starting with real flow matrices, abnormalities are injected in the data by inserting:
Abnormal source hosts: A source host is randomly selected and all the corresponding row
entries are set to 1 (scanner host that sends flows to every other destination in the network)
Abnormal destination hosts: A destination is randomly picked, and 90% of its corresponding
column entries are set to 1 (denial of service attack from a large number of hosts).
Application to network flow data
(Sun, Xie, Zhang, & Faloutsos SDM ’07)
Goal:
- Detect abnormal (anomalous) hosts by measuring the reconstruction error for each host!
- In other words, if a host can not be accurately expressed as a linear combination of a small set
of other hosts, then it potentially represents an anomaly and should be flagged.
Simulation experiments:
- Starting with real flow matrices, abnormalities are injected in the data by inserting:
Abnormal source hosts: A source host is randomly selected and all the corresponding row
entries are set to 1 (scanner host that sends flows to every other destination in the network)
Abnormal destination hosts: A destination is randomly picked, and 90% of its corresponding
column entries are set to 1 (denial of service attack from a large number of hosts).
Results:
By applying a variant of CUR (removing duplicate rows/columns) and by keeping about 500
columns and rows, recall is close to 100% and precision is close to 97%.
More accurate CUR decompositions?
An alternative perspective:
Q. Can we find the “best” set of
columns and rows to include in C and R?
Optimal U
Randomized and/or deterministic
strategies are acceptable, even at the
loss of efficiency (running time,
memory, and sparsity).
More accurate CUR decompositions?
An alternative perspective:
Q. Can we find the “best” set of
columns and rows to include in C and R?
Optimal U
Randomized and/or deterministic
strategies are acceptable, even at the
loss of efficiency (running time,
memory, and sparsity).
Prior results by E. E. Tyrtyrshnikov and collaborators (LAA ’97) implied rather weak error bounds
if we choose the columns and rows of A that define a parallelpiped of maximal volume.
Relative-error CUR-type decompositions
Carefully
chosen U
Goal: make (some norm) of A-CUR small.
O(1) columns
O(1) rows
For any matrix A, we can find C, U and R such that the
norm of A – CUR is almost equal to the norm of A-Ak.
From SVD to relative error CUR
Exploit structural properties of CUR to analyze data:
n features
m objects
Instead of reifying the Principal Components:
• Use PCA (a.k.a. SVD) to find how many Principal Components are needed to “explain”
the data.
• Run CUR and pick columns/rows instead of eigen-columns and eigen-rows!
• Assign meaning to actual columns/rows of the matrix! Much more intuitive!
From SVD to relative error CUR
Exploit structural properties of CUR to analyze data:
n features
m objects
Caveat:
Relative-error CUR-type decompositions
retain sparsity, but necessitate the
same amount of time as the computation
of Ak and O(mn) memory.
Instead of reifying the Principal Components:
• Use PCA (a.k.a. SVD) to find how many Principal Components are needed to “explain”
the data.
• Run CUR and pick columns/rows instead of eigen-columns and eigen-rows!
• Assign meaning to actual columns/rows of the matrix! Much more intuitive!
Theorem: relative error CUR
(Drineas, Mahoney, & Muthukrishnan SIMAX ’08)
For any k, O(SVDk(A)) time suffices to construct C, U, and R s.t.
holds with probability at least .7, by picking
O( k log k / 2 ) columns, and
O( k log2k / 6 ) rows.
O(SVDk(A)): time to compute the top k left/right singular vectors and values of A.
Comparison with additive error CUR
Let Ak be the “best” rank k approximation to A. Then, after two passes through
A, we can pick O(k/4) rows and O(k/4) columns, such that
Additive error might prohibitively large in many applications!
This “coarse” CUR might not capture the relevant structure in the data.
A constant factor CUR construction
(Mahoney and Drineas, PNAS, to appear)
For any k, O(SVDk(A)) time suffices to construct C, U, and R s.t.
holds with probability at least .7, by picking
O( k log k / 2 ) columns and O( k log k / 2 ) rows.
Relative-error CUR decomposition
Carefully
chosen U
Create an approximation
to A, using rows and
columns of A
O(1) columns
Goal:
O(1) rows
Provide very good bounds for some norm of A – CUR.
1.
How do we draw the columns and rows of A to include in C and R?
2.
How do we construct U?
Step 1: subspace sampling for C
INPUT: matrix A, rank parameter k, number of columns c
OUTPUT: matrix of selected columns C
• Compute the probabilities pi;
• For each j = 1,2,…,n, pick the j-th column of A with probability min{1,cpj}
• Let C be the matrix containing the sampled columns;
(C has · c columns in expectation)
Subspace sampling (Frobenius norm)
Vk: orthogonal matrix containing the top
k right singular vectors of A.
S k: diagonal matrix containing the top k
singular values of A.
Remark: The rows of VkT are orthonormal vectors, but its columns (VkT)(i) are not.
Subspace sampling
Normalization s.t. the
pj sum up to 1
Subspace sampling (Frobenius norm)
Vk: orthogonal matrix containing the top
k right singular vectors of A.
S k: diagonal matrix containing the top k
singular values of A.
Remark: The rows of VkT are orthonormal vectors, but its columns (VkT)(i) are not.
Subspace sampling
Leverage scores
(many references in the
statistics community)
Normalization s.t. the
pj sum up to 1
Step 1: subspace sampling for R
INPUT: matrix A, rank parameter k, number of rows r
OUTPUT: matrix of selected rows R
• Compute the probabilities pi;
• For each j = 1,2,…,m, pick the j-th row of A with probability min{1,rpj}.
• Let R be the matrix containing the sampled rows.
(R has · r rows in expectation)
Subspace sampling (Frobenius norm)
Uk: orthogonal matrix containing the top
k left singular vectors of A.
S k: diagonal matrix containing the top k
singular values of A.
Remark: The columns of Uk are orthonormal vectors, but its rows (Uk)(i) are not.
Subspace sampling
Leverage scores
(many references in the
statistics community)
Normalization s.t. the
pi sum up to 1
Leverage
(rows)
42
33
ColumnSelect
on AT
10
Leverage
(columns)
U = C+AR+
7 14
43
ColumnSelect
on A
Algorithm CUR
C contains columns 7, 14, and 43 of A
R contains rows 10, 33, and 42 of A
U = C+AR+
(c = r = O(k log(k) /2) in worst case)
Computing subspace probabilities faster
Subspace sampling
(expensive)
Open problem: Is it possible to compute/approximate the subspace sampling
probabilities faster?
Computing subspace probabilities faster
Subspace sampling
(expensive)
Open problem: Is it possible to compute/approximate the subspace sampling
probabilities faster?
Partial answer: Assuming k is O(1), it is known that by leveraging the Fast
Johnson-Lindenstrauss transform of (Ailon & Chazelle STOC ’06) the singular
vectors of a matrix can be approximated very accurately in O(mn) time.
(Sarlos FOCS ’06, Drineas, Mahoney, Muthukrishnan, & Sarlos ’07, as well as work by Tygert,
Rokhlin, and collaborators in PNAS)
Computing subspace probabilities faster
Subspace sampling
(expensive)
Open problem: Is it possible to compute/approximate the subspace sampling
probabilities faster?
Partial answer: Assuming k is O(1), it is known that by leveraging the Fast
Johnson-Lindenstrauss transform of (Ailon & Chazelle STOC ’06) the singular
vectors of a matrix can be approximated very accurately in O(mn) time.
(Sarlos FOCS ’06, Drineas, Mahoney, Muthukrishnan, & Sarlos ’07, as well as work by Tygert,
Rokhlin, and collaborators in PNAS)
Problem: To the best of my knowledge, this does not immediately imply an
algorithm to (provably) approximate the subspace sampling probabilities.
CUR decompositions: a summary
G.W. Stewart
(Num. Math. ’99, TR ’04 )
C: variant of the QR algorithm
R: variant of the QR algorithm
U: minimizes ||A-CUR||F
No a priori bounds
Solid experimental performance
Goreinov, Tyrtyshnikov, &
Zamarashkin
(LAA ’97, Cont. Math. ’01)
C: columns that span max volume
U: W+
R: rows that span max volume
Existential result
Error bounds depend on ||W+||2
Spectral norm bounds!
C: uniformly at random
U: W+
R: uniformly at random
Experimental evaluation
A is assumed PSD
Connections to Nystrom method
Drineas and Kannan
(SODA ’03, SICOMP ’06)
C: w.r.t. column lengths
U: in linear/constant time
R: w.r.t. row lengths
Randomized algorithm
Provable, a priori, bounds
Explicit dependency on A – Ak
Drineas, Mahoney, &
Muthukrishnan
(SODA ’06, SIMAX ’08)
C: depends on singular vectors of A.
U: (almost) W+
R: depends on singular vectors of C
(1+) approximation to A – Ak
Computable in O(mnk2) time
(experimentally)
Mahoney & Drineas
(PNAS, to appear)
C: depends on singular vectors of A.
U: C+AR+
R: depends on singular vectors of A
(2+) approximation to A – Ak
Computable in O(mnk2) time
(experimentally)
Williams & Seeger
(NIPS ’01)
Future directions
Faster algorithms
Leveraging preprocessing tools (i.e., the Fast Johnson-Lindenstrauss Transform, Ailon-Chazelle ’06)
Deterministic variants
Upcoming work by C. Boutsidis
Matching lower bounds
Implementations and widely disseminated software
Similar results for non-linear dimensionality reduction techniques: kernel-PCA.