CUR Matrix Decomposition via Safe Screening
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The coordinate descent algorithm for CUR matrix decomposition is slow for large-scale data due to its time complexity, particularly when the number of rows and columns that can be deleted by safe screening is small, making it difficult to apply to large datasets.
Innovation Solution
A data processing method that calculates norms of rows or columns of a gram matrix to determine a lower and upper bound for parameter vector convergence, allowing for the efficient extraction of important rows or columns by omitting unnecessary calculations and prioritizing updates for non-zero vectors, thereby accelerating the coordinate descent process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If coordinate descent is applied to CUR matrix decomposition, then important rows and columns can be extracted with convergence guarantee, but calculation speed becomes slow for large-scale data
Solution Approach 1:
The patent performs preliminary classification of parameter vectors into zero vectors and non-zero vectors before the main coordinate descent computation. By calculating a threshold value and comparing it with norms of parameter vectors, the method identifies which vectors will become zero vectors in advance, allowing the algorithm to skip unnecessary updates and focus computational resources only on non-zero vectors, thereby significantly improving calculation speed while maintaining convergence properties.
2Productivity
If safe screening is used to delete rows and columns, then calculation speed increases, but the speed increase is limited when the number of deletable rows and columns is small
Solution Approach 1:
The patent extends safe screening by performing preliminary classification of all parameter vectors, not just deleting a few rows and columns. By computing thresholds and comparing with norms, the method identifies zero vectors and non-zero vectors before the main computation, enabling more aggressive optimization when few rows/columns can be deleted by traditional safe screening.
Solution Approach 2:
The patent segments the parameter vectors into two distinct groups: zero vectors and non-zero vectors. This segmentation allows the algorithm to apply different processing strategies to each group - skipping updates for zero vectors and focusing computational effort on non-zero vectors - thereby achieving significant speedup even when the proportion of deletable rows and columns is small.
3Measurement precision
If all parameter vectors are updated in coordinate descent, then accurate solution is obtained, but computational complexity increases to O(p2) or O(np)
Solution Approach 1:
The patent extracts and identifies zero vectors from the set of all parameter vectors by comparing threshold values with norms. Once identified, these zero vectors are excluded from subsequent update operations. This extraction reduces the number of parameter vectors that require expensive O(p) or O(n) update calculations, thereby reducing overall computational complexity while maintaining solution accuracy for the remaining non-zero vectors.
Solution Approach 2:
Instead of updating all parameter vectors, the patent applies partial action by updating only the non-zero vectors identified through preliminary classification. This selective updating approach performs fewer operations than the full O(p2) or O(np) complexity would require, yet still achieves accurate solutions for the important rows and columns that correspond to non-zero vectors.
Data Source
AI summary
A data processing apparatus includes a lower bound calculation unit that calculates, in search of a hyperparameter, based on a norm of each row or column of a gram matrix to be processed, a lower bound of an optimal condition value when a solution of a parameter vector corresponding to the row or column is a zero vector, and an important matrix determination unit that determines whether the row or column is important. Further, there is an important matrix extraction unit that extracts the row or column determined to be important, an important matrix updating unit that updates a parameter corresponding to the row or column determined to be important. Also, there is an upper bound calculation unit that calculates an upper bound of the optimal condition value corresponding to the rows or columns to be processed, a calculation omission determination unit, and an updating calculation unit.


