2 research outputs found
Fast Monte Carlo Algorithms for Computing a Low-Rank Approximation to a Matrix
Many of today\u27s applications deal with big quantities of data; from DNA analysis algorithms, to image processing and movie recommendation algorithms. Most of these systems store the data in very large matrices. In order to perform analysis on the collected data, these big matrices have to be stored in the RAM (random-access memory) of the computing system. But this is a very expensive process since RAM is a scarce computational resource. Ideally, one would like to be able to store most of the data matrices on the memory disk (hard disk drive) while loading only the necessary parts of the data in the RAM. In order to do so, the data matrix has to be decomposed into smaller matrices. Singular value decomposition (SVD) is an algorithm that can be used to find a low-rank approximation of the input matrix, creating thus an approximation of smaller sizes. Methods like SVD require memory and time that are super-linear (increase at a rate higher than linear) in the sizes of the input matrix. This constraint is a burden for many of the applications that analyze large quantities of data. In this thesis we are presenting a more efficient algorithm based on Monte Carlo methods, LinearTimeSVD, that achieves a low-rank approximation of the input matrix while maintaining memory and time requirements that are only linear in regards to the sizes of the original matrix. Moreover, we will prove that the errors associated to this new construction method are bounded in terms of properties of the input matrix. The main idea behind the algorithm is a sampling step that will construct a lower size matrix from a subset of the columns of the input matrix. Using SVD on this new matrix (that has a constant number of columns with respect to the sizes of the input matrix), the method presented will generate approximations of the top k singular values and corresponding singular vectors of A, where k will denote the rank of the approximated matrix. By sampling enough columns, it can be shown that the approximation error can be decreased
Construction Algorithms for Expander Graphs
Graphs are mathematical objects that are comprised of nodes and edges that connect them. In computer science they are used to model concepts that exhibit network behaviors, such as social networks, communication paths or computer networks. In practice, it is desired that these graphs retain two main properties: sparseness and high connectivity. This is equivalent to having relatively short distances between two nodes but with an overall small number of edges. These graphs are called expander graphs and the main motivation behind studying them is the efficient network structure that they can produce due to their properties. We are specifically interested in the study of k-regular expander graphs, which are expander graphs whose nodes are each connected to exactly k other nodes. The goal of this project is to compare explicit and random methods of generating expander graphs based on the quality of the graphs they produce. This is done by analyzing the graphs’ spectral property, which is an algebraic method of comparing expander graphs. The explicit methods we are considering are due to G. A. Margulis (for 5-regular graphs) and D. Angluin (for 3-regular graphs) and they are algebraic ways of generating expander graphs through a series of rules that connect initially disjoint nodes. The authors proved that these explicit methods would construct expander graphs. Moreover, the random methods generate random graphs that, experimentally, are proven to be just as good expanders as the ones constructed by these explicit methods. This project’s approach to the random methods was influenced by a paper of K. Chang where the author evaluated the quality of 3 and 7-regular expander graphs resulted from random methods by using their spectral property. Therefore, our project implements these methods and provides a unified, experimental comparison between 3 and 5-regular expander graphs generated through explicit and random methods, by evaluating their spectral property. We conclude that even though the explicit methods produce better expanders for graphs with a small number of nodes, they stop producing them as we increase the number of nodes, while the random methods still generate reasonably good expander graphs