|
Carrot2 v3.5.2
API Documentation |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.carrot2.matrix.factorization.NonnegativeMatrixFactorizationKL
public class NonnegativeMatrixFactorizationKL
Performs matrix factorization using the Non-negative Matrix Factorization by minimization of Kullback-Leibler divergence between A and UV' and multiplicative updating.
| Field Summary | |
|---|---|
protected org.apache.mahout.math.matrix.DoubleMatrix2D |
A
Input matrix |
protected double[] |
aggregates
Sorting aggregates |
protected double |
approximationError
Current approximation error |
protected double[] |
approximationErrors
Approximation errors during subsequent iterations |
protected static int |
DEFAULT_K
|
protected static int |
DEFAULT_MAX_ITERATIONS
|
protected static boolean |
DEFAULT_ORDERED
|
protected static ISeedingStrategy |
DEFAULT_SEEDING_STRATEGY
|
protected static double |
DEFAULT_STOP_THRESHOLD
|
protected int |
iterationsCompleted
Iteration counter |
protected int |
k
The desired number of base vectors |
protected int |
maxIterations
The maximum number of iterations the algorithm is allowed to run |
protected boolean |
ordered
Order base vectors according to their 'activity'? |
protected ISeedingStrategy |
seedingStrategy
Seeding strategy |
protected double |
stopThreshold
If the percentage decrease in approximation error becomes smaller than stopThreshold, the algorithm will stop. |
protected org.apache.mahout.math.matrix.DoubleMatrix2D |
U
Base vector result matrix |
protected org.apache.mahout.math.matrix.DoubleMatrix2D |
V
Coefficient result matrix |
| Constructor Summary | |
|---|---|
NonnegativeMatrixFactorizationKL(org.apache.mahout.math.matrix.DoubleMatrix2D A)
Creates the NonnegativeMatrixFactorizationKL object for matrix A. |
|
| Method Summary | |
|---|---|
void |
compute()
Computes the factorization. |
double[] |
getAggregates()
Returns column aggregates for a sorted factorization, and null for an
unsorted factorization. |
double |
getApproximationError()
Returns final approximation error or -1 if the approximation error calculation has been turned off (see setMaxIterations(int). |
double[] |
getApproximationErrors()
Returns an array of approximation errors during after subsequent iterations of the algorithm. |
int |
getIterationsCompleted()
Returns the number of iterations the algorithm has completed. |
int |
getK()
Returns the number of base vectors k . |
int |
getMaxIterations()
Returns the maximum number of iterations the algorithm is allowed to run. |
ISeedingStrategy |
getSeedingStrategy()
Returns current ISeedingStrategy. |
double |
getStopThreshold()
Returns the algorithms stopThreshold. |
org.apache.mahout.math.matrix.DoubleMatrix2D |
getU()
Returns the U matrix (base vectors matrix). |
org.apache.mahout.math.matrix.DoubleMatrix2D |
getV()
Returns the V matrix (coefficient matrix) |
boolean |
isOrdered()
Returns true when the factorization is set to generate an ordered
basis. |
protected void |
order()
Orders U and V matrices according to the 'activity' of base vectors. |
void |
setK(int k)
Sets the number of base vectors k . |
void |
setMaxIterations(int maxIterations)
Sets the maximum number of iterations the algorithm is allowed to run. |
void |
setOrdered(boolean ordered)
Set to true to generate an ordered basis. |
void |
setSeedingStrategy(ISeedingStrategy seedingStrategy)
Sets new ISeedingStrategy. |
void |
setStopThreshold(double stopThreshold)
Sets the algorithms stopThreshold. |
String |
toString()
|
protected boolean |
updateApproximationError()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.carrot2.matrix.factorization.IMatrixFactorization |
|---|
getU, getV |
| Field Detail |
|---|
protected int k
protected static int DEFAULT_K
protected int maxIterations
protected static final int DEFAULT_MAX_ITERATIONS
protected double stopThreshold
stopThreshold, the algorithm will stop. Note: calculation of
approximation error is quite costly. Setting the threshold to -1 turns off
approximation error calculation and hence makes the algorithm do the maximum number
of iterations.
protected static double DEFAULT_STOP_THRESHOLD
protected ISeedingStrategy seedingStrategy
protected static final ISeedingStrategy DEFAULT_SEEDING_STRATEGY
protected boolean ordered
protected static final boolean DEFAULT_ORDERED
protected double approximationError
protected double[] approximationErrors
protected int iterationsCompleted
protected double[] aggregates
protected org.apache.mahout.math.matrix.DoubleMatrix2D A
protected org.apache.mahout.math.matrix.DoubleMatrix2D U
protected org.apache.mahout.math.matrix.DoubleMatrix2D V
| Constructor Detail |
|---|
public NonnegativeMatrixFactorizationKL(org.apache.mahout.math.matrix.DoubleMatrix2D A)
compute() method.
A - matrix to be factorized| Method Detail |
|---|
public void compute()
public String toString()
toString in class Objectpublic void setK(int k)
k - the number of base vectorspublic int getK()
protected boolean updateApproximationError()
stopThresholdprotected void order()
public ISeedingStrategy getSeedingStrategy()
ISeedingStrategy.
public void setSeedingStrategy(ISeedingStrategy seedingStrategy)
ISeedingStrategy.
public int getMaxIterations()
public void setMaxIterations(int maxIterations)
public double getStopThreshold()
stopThreshold. If the percentage decrease in
approximation error becomes smaller than stopThreshold, the algorithm
will stop.
public void setStopThreshold(double stopThreshold)
stopThreshold. If the percentage decrease in
approximation error becomes smaller than stopThreshold, the algorithm
will stop.
Note: calculation of approximation error is quite costly. Setting the threshold to -1 turns off calculation of the approximation error and hence makes the algorithm do the maximum allowed number of iterations.
public double getApproximationError()
setMaxIterations(int).
getApproximationError in interface IIterativeMatrixFactorizationpublic double[] getApproximationErrors()
null if the approximation error calculation
has been turned off (see setMaxIterations(int).
public int getIterationsCompleted()
IIterativeMatrixFactorization
getIterationsCompleted in interface IIterativeMatrixFactorizationpublic boolean isOrdered()
true when the factorization is set to generate an ordered
basis.
public void setOrdered(boolean ordered)
true to generate an ordered basis.
public double[] getAggregates()
null for an
unsorted factorization.
public org.apache.mahout.math.matrix.DoubleMatrix2D getU()
IMatrixFactorization
getU in interface IMatrixFactorizationpublic org.apache.mahout.math.matrix.DoubleMatrix2D getV()
IMatrixFactorization
getV in interface IMatrixFactorization
|
Please refer to project documentation at
http://project.carrot2.org |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||