Skip to content

IshitaTakeshi/KSVD.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KSVD.jl

K-SVD is an algorithm for creating overcomplete dictionaries for sparse representations.

This package implements:

Installation

Launch Julia and type

Pkg.add("KSVD")

Usage

Assume that each column of Y represents a feature vector (or an input signal from some system).
D is a dictionary. Each column of D represents an atom.
K-SVD derives D and X such that DX ≈ Y from only Y.

D, X = ksvd(
    Y,
    256,  # the number of atoms in D
    max_iter = 200,  # max iterations of K-SVD
    max_iter_mp = 40,  # max iterations of matching pursuit called in K-SVD
    sparsity_allowance = 0.96  # stop iteration when more than 96% of elements in X become zeros
)

Matching Pursuit derives X from D and Y such that DX = Y in constraint that X be as sparse as possible.

X_sparse = matching_pursuit(Y, D, max_iter = 200)

Example

Samples of the digits dataset in scikit-learn and the obtained dictionary of 256 atoms.

images digits256

See examples for more details.

Provided functions

Only a few functions are provided: ksvd and matching_pursuit. See the documentation.

About

K-SVD in Julia

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy