zoonono / sparsenet

Sparse dictionary learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python implementation of sparse dictionary learning. Trains on Van Hateran's or David Field's natural image datasets. Based upon Sparsenet algorithm (1996 Olshausen & Field). Standard stochastic gradient descent to learn dictionary and multiple algorithms to infer coefficients. Minimizes the following objective function:

min_{\Phi, s} || I - \Phi*s ||^2 + || s ||_1

I: Data Phi: Learned dictionary s: Coefficients

L1 optimization LCA: Locally Competitive Algorithm (2006 Rozell et al.)
FISTA: Fast Iterative Shrinkage and Thresholding Algorithm (2009 Beck & Teboulle)
L0 optimization L1 Initialization and IHT: Iterative Hard Thresholding (2008 Blumensath & Davies)

To run: sparsenet(inference='fista')

2x Overcomplete Dictionary 2x Overcomplete Dictionary Trained on Natural Image Patches

About

Sparse dictionary learning


Languages

Language:C 63.1%Language:MATLAB 30.6%Language:Python 5.0%Language:Tcl 0.7%Language:Makefile 0.6%