Le 13 mars 2012 02:32, Olivier Mangin <[email protected]> a écrit :
> Hello,
>
> Since I am currently using NMF for my robotics research, I have an
> implementation of some algorithms from [1]_ that could extend
> scikit-learn current implementation.
>
> More precisely the current implementation covers the Frobenius norm case
> (for measuring the reconstruction error), and the sparsity enforcement
> method introduced on [2]_. [1]_ describes algorithms that generalize to
> all the beta-divergences (Frobenius norm corresponds to beta = 2), and
> adaptation of some of these algorithms to L_1 regularization (amongst
> other things).
>
> My implementation covers algorithms for beta-divergence minimization
> based on three kind of approaches presented in [1]_:
> * gradient descent
> * maximization-minimization (that leads to multiplicative updates)
> * heuristic update (generalizes to all beta, multiplicative updates
> commonly used for NMF with Frobenius (beta = 2) norm, Kullback-Leibler
> (beta = 1) and Itakura-Saito (beta = 0) divergences)
>
> I was planning to integrate my code into a BetaNMF class in
> 'sklearn/decomposition/nmf.py' as an alternative to the existing
> ProjectedGradientNMF, and to enable access to the various algorithms
> through arguments to the fit and transform method (I think default
> should be heuristic multiplicative updates).
>
> Is this duplicated work ? Is it the right way to do it ?

Sounds interesting. I don't think this is duplicated work. Do you have
example scripts that shows how it performs on application tasks? AFAIK
the Itakura-Saito divergence is useful for audio signal analysis. How
does you implementation scale compared to the existing sklearn
implementation? What is the maximum number of samples / features /
extracted components that it can process in less than 1min on some
realistic datasets? Rough numbers no need to be specific.

-- 
Olivier
http://twitter.com/ogrisel - http://github.com/ogrisel

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Scikit-learn-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to