Class NMFNonsmoothUpdate encapulates an NMF update algorithm which
minimizes a cost functional designed to explicitly represent sparseness,
in the form on nonsmoothness, which is controlled by a single parameter.
Namespace:
CenterSpace.NMath.StatsAssembly: NMathStats (in NMathStats.dll) Version: 3.4.0.0
Syntax
| C# |
|---|
[SerializableAttribute] public class NMFNonsmoothUpdate : INMFUpdateAlgorithm, ICloneable |
| Visual Basic (Declaration) |
|---|
<SerializableAttribute> _ Public Class NMFNonsmoothUpdate _ Implements INMFUpdateAlgorithm, ICloneable |
| Visual C++ |
|---|
[SerializableAttribute] public ref class NMFNonsmoothUpdate : INMFUpdateAlgorithm, ICloneable |
Remarks
The Nonsmooth Nonnegative Matrix Factorization is defined as
V = WSHwhere V, W, and H are the same as in the original NMF model. The positive symmetric matrix S is a "smoothing" matrix defined as:
S = (1 - theta)I + (theta/q)11'
where I is the identity matrix, 1 is a vector of ones and the parameter theta
is between 0 and 1, inclusive.
The interpretation of theta as a smoothing parameter is as follows:
If x is a positive, nonzero, vector and y = Sx, then y = x when
theta = 0 and there is no smoothing. As theta -> 1, the vector
y tends to the constant vector with all elements equal to the
average of the elements of x. This is the smoothest possible
vector in the sense of nonsparseness because all the entries
are equal to the same nonzero value, instead of having values
close to zero and others clearly not zero.
See the paper
Nonsmooth Nonnegative Matrix Factorization (nsNMF)
Alberto Pascual-Montano, J.M Carazo, Kieko Kochi, Dietrich Lehmann, and
Roberto D. Pascual-Marui
IEEE Transactions on Pattern Analysis and Machine Intelligence
Vol. 28, No. 3, March 2006.