Skip to content

Commit

Permalink
Add manuscript citation (#10)
Browse files Browse the repository at this point in the history
  • Loading branch information
timholy authored Aug 21, 2024
1 parent b43dd3e commit 5740eb0
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 3 deletions.
37 changes: 37 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: 'GSVD-NMF: Recovering Missing Features in Non-negative Matrix Factorization'
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Youdong
family-names: Guo
orcid: 'https://orcid.org/0009-0007-7787-3722'
- given-names: Timothy E.
family-names: Holy
orcid: 'https://orcid.org/0000-0002-2429-1071'
identifiers:
- type: url
value: 'https://arxiv.org/abs/2408.08260'
description: The ArXiv deposit of the encompassing paper.
doi: 'https://doi.org/10.48550/arXiv.2408.08260'
repository-code: 'https://github.com/HolyLab/GsvdInitialization.jl'
abstract: >-
Non-negative matrix factorization (NMF) is an important
tool in signal processing and widely used to separate
mixed sources into their components. However, NMF is
NP-hard and thus may fail to discover the ideal
factorization; moreover, the number of components may not
be known in advance and thus features may be missed or
incompletely separated. To recover missing components from
under-complete NMF, we introduce GSVD-NMF, which proposes
new components based on the generalized singular value
decomposition (GSVD) between preliminary NMF results and
the SVD of the original matrix. Simulation and
experimental results demonstrate that GSVD-NMF often
recovers missing features from under-complete NMF and
helps NMF achieve better local optima.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
[![CI](https://github.com/HolyLab/GsvdInitialization.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/HolyLab/GsvdInitialization.jl/actions/workflows/CI.yml)
[![codecov](https://codecov.io/gh/HolyLab/GsvdInitialization.jl/graph/badge.svg?token=LxqRCsZIvn)](https://codecov.io/gh/HolyLab/GsvdInitialization.jl)

This package implements the technique in the paper 'GSVD-NMF: Recovering Missing Features in
Non-negative Matrix Factorization`.
This package implements the technique in the paper [GSVD-NMF: Recovering Missing Features in
Non-negative Matrix Factorization](https://arxiv.org/abs/2408.08260).
It is used to recover Non-negative matrix factorization(NMF) components from an initial lower-rank factorization by exploiting the generalized singular value decomposition (GSVD) between existing NMF results and the SVD of X.
This method allows the incremental expansion of the number of components, which can be convenient and effective for interactive analysis of large-scale data.

Expand Down Expand Up @@ -145,4 +145,4 @@ Arguments:

## Citation

If you find this package useful please cite:
Thanks for citing this work! See the "Cite this repository" link in the "About" bar for format options.

2 comments on commit 5740eb0

@timholy
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/113565

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v1.0.0 -m "<description of version>" 5740eb03e9d8e8c3c9d04219a40c237796adb48a
git push origin v1.0.0

Please sign in to comment.