Skip to content

Commit

Permalink
Revise docs, include refs
Browse files Browse the repository at this point in the history
  • Loading branch information
marinkaz committed Jun 22, 2016
1 parent c16974b commit b1e917f
Show file tree
Hide file tree
Showing 6 changed files with 120 additions and 58 deletions.
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2011-2015 Marinka Zitnik and Blaz Zupan.
Copyright (c) 2011-2016

All rights reserved.

Expand Down
10 changes: 5 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ To install for all users on Unix/Linux::
For more detailed installation instructions,
see the web page http://nimfa.biolab.si

Usage
-----
Use
---

Run alternating least squares nonnegative matrix factorization with projected gradients and Random Vcol initialization algorithm on medulloblastoma gene expression data::

Expand All @@ -69,8 +69,8 @@ Run alternating least squares nonnegative matrix factorization with projected gr
Sparseness, W: 0.7297, H: 0.8796


Citing
------
Cite
----

::

Expand All @@ -87,7 +87,7 @@ Citing
License
-------

nimfa - A Python Library for Nonnegative Matrix Factorization Techniques
Nimfa - A Python Library for Nonnegative Matrix Factorization Techniques
Copyright (C) 2011-2016

This program is free software: you can redistribute it and/or modify
Expand Down
144 changes: 102 additions & 42 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -164,87 +164,147 @@ Standard NMF - Euclidean update equations and fixed initialization (passed matri
.. literalinclude:: /code/usage6.py


****

We an IPython notebook showing how to `use Nimfa to analyze breast cancer transcriptome data sets`_
from The International Cancer Genome Consortium (`ICGC`_).

The analysis of cancer data using Nimfa was highlighted in the `ACM XRDS magazine`_.

.. _use Nimfa to analyze breast cancer transcriptome data sets: http://nbviewer.ipython.org/github/marinkaz/nimfa-ipynb/blob/master/ICGC%20and%20Nimfa.ipynb
.. _ICGC: https://dcc.icgc.org
.. _ACM XRDS magazine: http://dl.acm.org/citation.cfm?id=2809623.2788526&coll=portal&dl=ACM


##########
References
##########

.. [Schmidt2009] Mikkel N. Schmidt, Ole Winther, and Lars K. Hansen. Bayesian non-negative matrix factorization. In Proceedings of the 9th International Conference on Independent Component Analysis and Signal Separation, pages 540-547, Paraty, Brazil, 2009.
.. [Schmidt2009] Mikkel N. Schmidt, Ole Winther, and Lars K. Hansen. Bayesian non-negative
matrix factorization. In Proceedings of the 9th International Conference on Independent
Component Analysis and Signal Separation, pages 540-547, Paraty, Brazil, 2009.

.. [Zhang2007] Zhongyuan Zhang, Tao Li, Chris H. Q. Ding and Xiangsun Zhang. Binary Matrix Factorization with applications. In Proceedings of 7th IEEE International Conference on Data Mining, pages 391-400, Omaha, USA, 2007.
.. [Zhang2007] Zhongyuan Zhang, Tao Li, Chris H. Q. Ding and Xiangsun Zhang. Binary Matrix
Factorization with applications. In Proceedings of 7th IEEE International Conference on Data
Mining, pages 391-400, Omaha, USA, 2007.

.. [Wang2004] Yuan Wang, Yunde Jia, Changbo Hu and Matthew Turk. Fisher non-negative matrix factorization for learning local features. In Proceedings of the 6th Asian Conference on Computer Vision, pages 27-30, Jeju, Korea, 2004.
.. [Wang2004] Yuan Wang, Yunde Jia, Changbo Hu and Matthew Turk. Fisher non-negative matrix
factorization for learning local features. In Proceedings of the 6th Asian Conference on
Computer Vision, pages 27-30, Jeju, Korea, 2004.

.. [Li2001] Stan Z. Li, Xinwen Huo, Hongjiang Zhang and Qian S. Cheng. Learning spatially localized, parts-based representation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 207-212, Kauai, USA, 2001.
.. [Li2001] Stan Z. Li, Xinwen Huo, Hongjiang Zhang and Qian S. Cheng. Learning spatially
localized, parts-based representation. In Proceedings of the IEEE Conference on Computer Vision
and Pattern Recognition, pages 207-212, Kauai, USA, 2001.

.. [Lin2007] Chin J. Lin. Projected gradient methods for nonnegative matrix factorization. Neural Computation, 19(10): 2756-2779, 2007.
.. [Lin2007] Chin J. Lin. Projected gradient methods for nonnegative matrix factorization.
Neural Computation, 19(10): 2756-2779, 2007.

.. [Lee2001] Daniel D. Lee and H. Sebastian Seung. Algorithms for non-negative matrix factorization. In Proceedings of the Neural Information Processing Systems, pages 556-562, Vancouver, Canada, 2001.
.. [Lee2001] Daniel D. Lee and H. Sebastian Seung. Algorithms for non-negative matrix
factorization. In Proceedings of the Neural Information Processing Systems, pages 556-562,
Vancouver, Canada, 2001.

.. [Lee1999] Daniel D. Lee and H. Sebastian Seung. Learning the parts of objects by non-negative matrix factorization. Nature, 401(6755): 788-791, 1999.
.. [Lee1999] Daniel D. Lee and H. Sebastian Seung. Learning the parts of objects by non-negative
matrix factorization. Nature, 401(6755): 788-791, 1999.
.. [Brunet2004] Jean-P. Brunet, Pablo Tamayo, Todd R. Golub and Jill P. Mesirov. Metagenes and molecular pattern discovery using matrix factorization. In Proceedings of the National Academy of Sciences of the USA, 101(12): 4164-4169, 2004.
.. [Brunet2004] Jean-P. Brunet, Pablo Tamayo, Todd R. Golub and Jill P. Mesirov. Metagenes and
molecular pattern discovery using matrix factorization. In Proceedings of the National Academy
of Sciences of the USA, 101(12): 4164-4169, 2004.

.. [Montano2006] Alberto Pascual-Montano, J. M. Carazo, Kieko Kochi, Dietrich Lehmann and Roberto D. Pascual-Marqui. Nonsmooth nonnegative matrix factorization (nsnmf). In IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(3): 403-415, 2006.
.. [Montano2006] Alberto Pascual-Montano, J. M. Carazo, Kieko Kochi, Dietrich Lehmann and
Roberto D. Pascual-Marqui. Nonsmooth nonnegative matrix factorization (nsnmf). In IEEE
Transactions on Pattern Analysis and Machine Intelligence, 28(3): 403-415, 2006.

.. [Laurberg2008] Hans Laurberg, Mads G. Christensen, Mark D. Plumbley, Lars K. Hansen and Soren H. Jensen. Theorems on positive data: on the uniqueness of NMF. Computational Intelligence and Neuroscience, doi: 10.1155/2008/764206, 2008.
.. [Laurberg2008] Hans Laurberg, Mads G. Christensen, Mark D. Plumbley, Lars K. Hansen and Soren
H. Jensen. Theorems on positive data: on the uniqueness of NMF. Computational Intelligence and Neuroscience, doi: 10.1155/2008/764206, 2008.
.. [Hansen2008] Lars K. Hansen. Generalization in high-dimensional factor models. Web: http://www.stanford.edu/group/mmds/slides2008/hansen.pdf, 2008.
.. [Hansen2008] Lars K. Hansen. Generalization in high-dimensional factor models. Web:
http://www.stanford.edu/group/mmds/slides2008/hansen.pdf, 2008.

.. [Dueck2005] Delbert Dueck, Quaid D. Morris and Brendan J. Frey. Multi-way clustering of microarray data using probabilistic sparse matrix factorization. Bioinformatics, 21(Suppl 1): 144-151, 2005.
.. [Dueck2005] Delbert Dueck, Quaid D. Morris and Brendan J. Frey. Multi-way clustering of
microarray data using probabilistic sparse matrix factorization. Bioinformatics, 21(Suppl 1):
144-151, 2005.

.. [Dueck2004] Delbert Dueck and Brendan J. Frey. Probabilistic sparse matrix factorization. University of Toronto Technical Report PSI-2004-23, Probabilistic and Statistical Inference Group, University of Toronto, 2004.
.. [Dueck2004] Delbert Dueck and Brendan J. Frey. Probabilistic sparse matrix factorization.
University of Toronto Technical Report PSI-2004-23, Probabilistic and Statistical Inference
Group, University of Toronto, 2004.

.. [Srebro2001] Nathan Srebro and Tommi Jaakkola. Sparse matrix Factorization of gene expression data. Artificial Intelligence Laboratory, Massachusetts Institute of Technology, 2001.
.. [Srebro2001] Nathan Srebro and Tommi Jaakkola. Sparse matrix Factorization of gene expression
data. Artificial Intelligence Laboratory, Massachusetts Institute of Technology, 2001.
.. [Li2007] Huan Li, Yu Sun and Ming Zhan. The discovery of transcriptional modules by a two-stage matrix decomposition approach. Bioinformatics, 23(4): 473-479, 2007.
.. [Li2007] Huan Li, Yu Sun and Ming Zhan. The discovery of transcriptional modules by a
two-stage matrix decomposition approach. Bioinformatics, 23(4): 473-479, 2007.

.. [Park2007] Hyuonsoo Kim and Haesun Park. Sparse non-negative matrix factorizations via alternating non-negativity-constrained least squares for microarray data analysis. Bioinformatics, 23(12): 1495-1502, 2007.
.. [Park2007] Hyuonsoo Kim and Haesun Park. Sparse non-negative matrix factorizations via
alternating non-negativity-constrained least squares for microarray data analysis.
Bioinformatics, 23(12): 1495-1502, 2007.

.. [Zhang2011] Shihua Zhang, Qingjiao Li and Xianghong J. Zhou. A novel computational framework for simultaneous integration of multiple types of genomic data to identify microRNA-gene regulatory modules. Bioinformatics, 27(13): 401-409, 2011.
.. [Zhang2011] Shihua Zhang, Qingjiao Li and Xianghong J. Zhou. A novel computational framework
for simultaneous integration of multiple types of genomic data to identify microRNA-gene
regulatory modules. Bioinformatics, 27(13): 401-409, 2011.

.. [Boutsidis2007] Christos Boutsidis and Efstratios Gallopoulos. SVD-based initialization: A head start for nonnegative matrix factorization. Pattern Recognition, 41(4): 1350-1362, 2008.
.. [Boutsidis2007] Christos Boutsidis and Efstratios Gallopoulos. SVD-based initialization: A
head start for nonnegative matrix factorization. Pattern Recognition, 41(4): 1350-1362, 2008.

.. [Albright2006] Russell Albright, Carl D. Meyer and Amy N. Langville. Algorithms, initializations, and convergence for the nonnegative matrix factorization. NCSU Technical Report Math 81706, NC State University, Releigh, USA, 2006.
.. [Albright2006] Russell Albright, Carl D. Meyer and Amy N. Langville. Algorithms,
initializations, and convergence for the nonnegative matrix factorization. NCSU Technical Report
Math 81706, NC State University, Releigh, USA, 2006.

.. [Hoyer2004] Patrik O. Hoyer. Non-negative matrix factorization with sparseness constraints. Journal of Machine Learning Research, 5: 1457-1469, 2004.
.. [Hoyer2004] Patrik O. Hoyer. Non-negative matrix factorization with sparseness constraints.
Journal of Machine Learning Research, 5: 1457-1469, 2004.

.. [Hutchins2008] Lucie N. Hutchins, Sean P. Murphy, Priyam Singh and Joel H. Graber. Position-dependent motif characterization using non-negative matrix factorization. Bioinformatics, 24(23): 2684-2690, 2008.
.. [Hutchins2008] Lucie N. Hutchins, Sean P. Murphy, Priyam Singh and Joel H. Graber.
Position-dependent motif characterization using non-negative matrix factorization.
Bioinformatics, 24(23): 2684-2690, 2008.

.. [Frigyesi2008] Attila Frigyesi and Mattias Hoglund. Non-negative matrix factorization for the analysis of complex gene expression data: identification of clinically relevant tumor subtypes. Cancer Informatics, 6: 275-292, 2008.
.. [Frigyesi2008] Attila Frigyesi and Mattias Hoglund. Non-negative matrix factorization for the
analysis of complex gene expression data: identification of clinically relevant tumor subtypes.
Cancer Informatics, 6: 275-292, 2008.
.. [FWang2008] Fei Wang, Tao Li, Changshui Zhang. Semi-Supervised Clustering via Matrix Factorization. SDM 2008, 1-12, 2008.
.. [FWang2008] Fei Wang, Tao Li, Changshui Zhang. Semi-Supervised Clustering via Matrix
Factorization. SDM 2008, 1-12, 2008.

.. [Schietgat2010] Leander Schietgat, Celine Vens, Jan Struyf, Hendrik Blockeel, Dragi Kocev and Saso Dzeroski. Predicting gene function using hierarchical multi-label decision tree ensembles. BMC Bioinformatics, 11(2), 2010.
.. [Schietgat2010] Leander Schietgat, Celine Vens, Jan Struyf, Hendrik Blockeel, Dragi Kocev and
Saso Dzeroski. Predicting gene function using hierarchical multi-label decision tree ensembles.
BMC Bioinformatics, 11(2), 2010.
.. [Schachtner2008] R. Schachtner, D. Lutter, P. Knollmueller, A. M. Tome, F. J. Theis, G. Schmitz, M. Stetter, P. Gomez Vilda and E. W. Lang. Knowledge-based gene expression classification via matrix factorization. Bioinformatics, 24(15): 1688-1697, 2008.
.. [Schachtner2008] R. Schachtner, D. Lutter, P. Knollmueller, A. M. Tome, F. J. Theis, G.
Schmitz, M. Stetter, P. Gomez Vilda and E. W. Lang. Knowledge-based gene expression
classification via matrix factorization. Bioinformatics, 24(15): 1688-1697, 2008.

.. [Damle2014random] Anil Damle, Sun Yuekai . A geometric approach to archetypal analysis and
non-negative matrix factorization. arXiv preprint arXiv:1405.4275, 2014.

################
Acknowledgements
################
.. [Benson2014scalable] Austin R. Benson, Jason D. Lee, Bartek Rajwa, David F. Gleich.
Scalable methods for nonnegative matrix factorizations of near-separable tall-and-skinny
matrices. NIPS, 945-953, 2014.

.. [Kumar2013fast] Abhishek Kumar, Vikas Sindhwani, Prabhanjan Kambadur. Fast conical hull
algorithms for near-separable non-negative matrix factorization. ICML, 231-239, 2013.

.. [Gillis2014fast] Gillis, Nicolas, and Stephen A. Vavasis. Fast and robust recursive
algorithms for separable nonnegative matrix factorization. IEEE TPAMI, 36(4): 698-714, 2014.

We would like to acknowledge support for this project from the Google Summer of Code 2011 program and
from the Slovenian Research Agency grants P2-0209, J2-9699, and L2-1112.
.. [Tepper2015compressed] Mariano Tepper, Guillermo Sapiro. Compressed nonnegative matrix
factorization is fast and accurate. IEEE TSP, 64(9): 2269-2283, 2016

The nimfa - A Python Library for Nonnegative Matrix Factorization Techniques was part of the Google Summer of Code 2011. It is authored by `Marinka Zitnik`_ and `Blaz Zupan`_.
.. [Kapralov2016fake] Michael, Kapralov, Vamsi Potluru, David Woodruff. How to fake multiply by a
Gaussian Matrix. ICML, 2101-2110. 2016.
.. _Blaz Zupan: http://www.biolab.si/en/blaz/
.. _Marinka Zitnik: http://helikoid.si
########
Citation
########

.. code-block:: none
@article{ZitnikZ12,
author = {Marinka Zitnik and Blaz Zupan},
title = {NIMFA: A Python Library for Nonnegative Matrix Factorization},
journal = {Journal of Machine Learning Research},
volume = {13},
year = {2012},
pages = {849-853},
}
@article{Zitnik2012,
title = {Nimfa: A Python Library for Nonnegative Matrix Factorization},
author = {Zitnik, Marinka and Zupan, Blaz},
journal = {Journal of Machine Learning Research},
volume = {13},
pages = {849-853},
year = {2012}
}
##########
Expand All @@ -260,7 +320,7 @@ License
#######

nimfa - A Python Library for Nonnegative Matrix Factorization Techniques
Copyright (C) 2011-2015 Marinka Zitnik and Blaz Zupan.
Copyright (C) 2011-2016

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
4 changes: 2 additions & 2 deletions nimfa/methods/factorization/nmf.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
Nmf (``methods.factorization.nmf``)
###################################
**Standard Nonnegative Matrix Factorization (NMF)** [Lee2001]_, [Lee1999].
**Standard Nonnegative Matrix Factorization (NMF)** [Lee2001]_, [Lee1999]_.
Based on Kullback-Leibler divergence, it uses simple multiplicative updates
[Lee2001]_, [Lee1999], enhanced to avoid numerical underflow [Brunet2004]_.
[Lee2001]_, [Lee1999]_, enhanced to avoid numerical underflow [Brunet2004]_.
Based on Euclidean distance, it uses simple multiplicative updates [Lee2001]_.
Different objective functions can be used, namely Euclidean distance, divergence
or connectivity matrix convergence.
Expand Down
16 changes: 9 additions & 7 deletions nimfa/methods/factorization/sepnmf.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@

"""
###################################
Nmf (``methods.factorization.sepnmf``)
###################################
#########################################
SepNmf (``methods.factorization.sepnmf``)
#########################################
**Separable Nonnegative Matrix Factorization (NMF)** [damle2014random]_, [benson2014scalable], [kumar2013fast], [gillis2014fast], [tepper2015compressed],
[Kapralov2016fake]
**Separable Nonnegative Matrix Factorization (SepNMF)** [Damle2014random]_, [Benson2014scalable]_,
[Kumar2013fast]_, [Gillis2014fast]_, [Tepper2015compressed]_, [Kapralov2016fake]_
Separable NMF was introduced by Donoho and Stodden (2003) and polynomial time algorithms were given by Arora et al 2012.
Other algorithms such as XRAY [gillis2014fast], SPA [kumar2013fast] and more recently SC [tepper2015compressed and CG [Kapralov2016fake] have been proposed.
Other algorithms such as XRAY [Gillis2014fast]_, SPA [Kumar2013fast]_ and more recently SC
[Tepper2015compressed]_ and CG [Kapralov2016fake]_ have been proposed.
Can be used for problems which satisfy the ``pure-pixel'' assumption which occurs in hyper-spectral imaging and document analysis settings.
SepNMF can be used for problems which satisfy the ``pure-pixel'' assumption which occurs in
hyper-spectral imaging and document analysis settings.
"""
try:
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

DISTNAME = 'nimfa'
MAINTAINER = 'Marinka Zitnik'
MAINTAINER_EMAIL = 'marinka.zitnik@fri.uni-lj.si'
MAINTAINER_EMAIL = 'marinka@cs.stanford.edu'
DESCRIPTION = 'A Python module for nonnegative matrix factorization'
LONG_DESCRIPTION = open('README.rst').read()
URL = 'http://nimfa.biolab.si'
Expand Down

0 comments on commit b1e917f

Please sign in to comment.