K-SVD is a dictionary learning algorithm from applied mathematics. Its job is to build a dictionary that lets data be written as a sparse combination of a few of its entries, called atoms, and it does this with a singular value decomposition approach. It generalizes the k-means clustering method: where k-means lets each sample use exactly one dictionary column, K-SVD relaxes that limit so each sample may use several atoms, up to a chosen bound on the number of nonzero entries, and the fit is measured with the Frobenius norm of the reconstruction error. The method alternates two steps. First it sparse-codes the input data against the current dictionary, then it updates the atoms one at a time so the dictionary fits the data better, applying a singular value decomposition to the residual of only those examples that actually use the atom being updated. It is structurally related to the expectation-maximization algorithm. K-SVD is widely used in image processing, audio processing, biology and document analysis. Its limits are stated plainly: choosing a dictionary is a non-convex problem and the iterative update does not guarantee the global optimum, although it works fairly well in practice.
Facts
Problem SolvedDictionary learning for sparse representations 1 Connections
Sources
1. K-SVD (Wikipedia)
Lead
k-SVD is a dictionary learning algorithm for creating a dictionary for sparse representations
Uses Design Technique: Iterative Refinement, Lead, alternating steps
it works by iteratively alternating between sparse coding the input data based on the current dictionary, and updating the atoms in the dictionary to better fit the data
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.