Skip to content

Commit

Permalink
Add docs for SepNMF
Browse files Browse the repository at this point in the history
  • Loading branch information
marinkaz committed Jun 22, 2016
1 parent b1e917f commit 6e818ba
Show file tree
Hide file tree
Showing 8 changed files with 68 additions and 120 deletions.
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Cite
License
-------

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

This program is free software: you can redistribute it and/or modify
Expand Down
12 changes: 6 additions & 6 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@

# General information about the project.
project = 'Nimfa'
copyright = '2015, Marinka Zitnik'
copyright = '2016, Marinka Zitnik'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '1.2'
version = '1.3'
# The full version, including alpha/beta/rc tags.
release = '1.2.0'
release = '1.3.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -184,7 +184,7 @@
#html_file_suffix = None

# Output file base name for HTML help builder.
htmlhelp_basename = 'nimfa-APythonLibraryforNonnegativeMatrixFactorizationTechniquesdoc'
htmlhelp_basename = 'nimfa-APythonLibraryforNonnegativeMatrixFactorizationdoc'


# -- Options for LaTeX output --------------------------------------------------
Expand All @@ -198,7 +198,7 @@
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'nimfa-APythonLibraryforNonnegativeMatrixFactorizationTechniques.tex', 'nimfa - A Python Library for Nonnegative Matrix Factorization Techniques Documentation',
('index', 'nimfa-APythonLibraryforNonnegativeMatrixFactorization.tex', 'nimfa - A Python Library for Nonnegative Matrix Factorization',
'Marinka Zitnik', 'manual'),
]

Expand Down Expand Up @@ -231,7 +231,7 @@
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'nimfa-APythonLibraryforNonnegativeMatrixFactorizationTechniques', 'nimfa - A Python Library for Nonnegative Matrix Factorization Techniques Documentation',
('index', 'nimfa-APythonLibraryforNonnegativeMatrixFactorization', 'nimfa - A Python Library for Nonnegative Matrix Factorization',
['Marinka Zitnik'], 1)
]

Expand Down
4 changes: 3 additions & 1 deletion docs/source/content-factorization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@

* **SNMNMF** - Sparse network-regularized multiple nonnegative matrix factorization [Zhang2011]_

* **PMFCC** - Penalized Matrix Factorization for Constrained Clustering [FWang2008]_
* **PMFCC** - Penalized matrix factorization for constrained clustering [FWang2008]_

* **SepNMF** - Separable nonnegative matrix factorization [Gillis2014]_, [Kumar2013]_, [Tepper2015]_, [Kapralov2016]_
152 changes: 46 additions & 106 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Welcome to Nimfa
================

Nimfa is a Python library for nonnegative matrix factorization. It includes implementations of several factorization methods, initialization approaches, and quality scoring.
`Nimfa`_ is a Python library for nonnegative matrix factorization. It includes implementations of several factorization methods, initialization approaches, and quality scoring.
Both dense and sparse matrix representation are supported.

The sample script using Nimfa on medulloblastoma gene expression data is given below. It uses alternating least squares nonnegative matrix
Expand All @@ -19,17 +19,16 @@ runs can be attributed to randomness of the Random Vcol initialization method::
K-L divergence: 38.8744
Sparseness, W: 0.7297, H: 0.8796

....

See also `Examples`_, `sample scripts on this page`_ and `a short presentation about nimfa.`_

.. _A Python Library for Nonnegative Matrix Factorization, Journal of Machine Learning Research: http://jmlr.csail.mit.edu/papers/v13/zitnik12a.html
****

.. _Examples: nimfa.examples.html
An IPython notebook shows how to `use Nimfa to analyze breast cancer transcriptome
data sets`_ from The International Cancer Genome Consortium (`ICGC`_). The analysis of cancer data was highlighted in the `ACM XRDS magazine`_.

.. _sample scripts on this page: http://nimfa.biolab.si/#usage
.. _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
.. _Nimfa: http://jmlr.csail.mit.edu/papers/v13/zitnik12a.html

.. _a short presentation about nimfa.: http://helikoid.si/mf/GSoC_MF.pdf

###################
Scripting Reference
Expand All @@ -56,15 +55,15 @@ Scripting Reference
Content
#######

****************************
Matrix Factorization Methods
****************************
************************
Factorization Algorithms
************************

.. include:: /content-factorization.rst

**********************
Initialization Methods
**********************
*************************
Initialization Algorithms
*************************

.. include:: /content-initialization.rst

Expand Down Expand Up @@ -164,131 +163,72 @@ 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.
.. [Damle2014] Anil Damle, Sun Yuekai . A geometric approach to archetypal analysis and non-negative matrix factorization. arXiv preprint arXiv:1405.4275, 2014.
.. [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.
.. [Benson2014] 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.
.. [Kumar2013] 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.
.. [Gillis2014] Gillis, Nicolas, and Stephen A. Vavasis. Fast and robust recursive algorithms for separable nonnegative matrix factorization. IEEE TPAMI, 36(4): 698-714, 2014.
.. [Tepper2015compressed] Mariano Tepper, Guillermo Sapiro. Compressed nonnegative matrix
factorization is fast and accurate. IEEE TSP, 64(9): 2269-2283, 2016
.. [Tepper2015] Mariano Tepper, Guillermo Sapiro. Compressed nonnegative matrix factorization is fast and accurate. IEEE TSP, 64(9): 2269-2283, 2016
.. [Kapralov2016fake] Michael, Kapralov, Vamsi Potluru, David Woodruff. How to fake multiply by a
Gaussian Matrix. ICML, 2101-2110. 2016.
.. [Kapralov2016] Michael, Kapralov, Vamsi Potluru, David Woodruff. How to fake multiply by a Gaussian Matrix. ICML, 2101-2110. 2016.
########
Expand Down Expand Up @@ -319,7 +259,7 @@ risk!
License
#######

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

This program is free software: you can redistribute it and/or modify
Expand Down
1 change: 1 addition & 0 deletions docs/source/nimfa.methods.factorization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@ Factorization (``methods.factorization``)

nimfa.methods.factorization.pmfcc

nimfa.methods.factorization.sepnmf
5 changes: 5 additions & 0 deletions docs/source/nimfa.methods.factorization.sepnmf.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.. automodule:: nimfa.methods.factorization.sepnmf
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
8 changes: 4 additions & 4 deletions nimfa/methods/factorization/sepnmf.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
SepNmf (``methods.factorization.sepnmf``)
#########################################
**Separable Nonnegative Matrix Factorization (SepNMF)** [Damle2014random]_, [Benson2014scalable]_,
[Kumar2013fast]_, [Gillis2014fast]_, [Tepper2015compressed]_, [Kapralov2016fake]_
**Separable Nonnegative Matrix Factorization (SepNMF)** [Damle2014]_, [Benson2014]_,
[Kumar2013]_, [Gillis2014]_, [Tepper2015]_, [Kapralov2016]_
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 [Gillis2014]_, SPA [Kumar2013]_ and more recently SC
[Tepper2015]_ and CG [Kapralov2016]_ have been proposed.
SepNMF can be used for problems which satisfy the ``pure-pixel'' assumption which occurs in
hyper-spectral imaging and document analysis settings.
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
URL = 'http://nimfa.biolab.si'
DOWNLOAD_URL = 'http://github.com/marinkaz/nimfa'
KEYWORDS = ['matrix factorization', 'nonnegative matrix factorization',
'bioinformatics', 'data mining']
'bioinformatics', 'data mining', 'machine learning']
LICENSE = 'GPLv3'
VERSION = '1.2.3'
VERSION = '1.3.0'
ISRELEASED = True

INSTALL_REQUIRES = (
Expand Down

0 comments on commit 6e818ba

Please sign in to comment.