Dictionary Learning¶
The dictlrn.dictlrn module includes the DictLearn
class that supports dictionary learning via alternation between
user-specified sparse coding and dictionary update steps, each of
which is based on an ADMM algorithm. This is a very flexible framework
that supports constucting a wide variety of dictionary learning
algorithms based on the different sparse coding and dictionary update
methods provided in SPORCO; some examples are provided below.
The standard dictionary learning classes in dictlrn.bpdndl and
the convolutional dictionary learning classes in
dictlrn.cbpdndl and dictlrn.cbpdndlmd are both derived
from DictLearn. These two classes provide less flexibility
– the sparse coding methods are fixed – but are somewhat simpler to
use.
A usage example is available.