prea.recommender.matrix
Class PMF

java.lang.Object
  extended by prea.recommender.matrix.MatrixFactorizationRecommender
      extended by prea.recommender.matrix.PMF
All Implemented Interfaces:
Recommender

public class PMF
extends MatrixFactorizationRecommender

This is a class implementing Probabilistic Matrix Factorization. Technical detail of the algorithm can be found in Ruslan Salakhutdinov and Andriy Mnih, Probabilistic Matrix Factorization, Advances in Neural Information Processing Systems 20, Cambridge, MA: MIT Press, 2008.

Since:
2012. 4. 20
Version:
1.1
Author:
Joonseok Lee

Field Summary
 
Fields inherited from class prea.recommender.matrix.MatrixFactorizationRecommender
featureCount, itemCount, itemFeatures, learningRate, maxIter, maxValue, minValue, momentum, offset, regularizer, showProgress, userCount, userFeatures
 
Constructor Summary
PMF(int uc, int ic, double max, double min, int fc, double lr, double r, double m, int iter, boolean verbose)
          Construct a matrix-factorization model with the given data.
 
Method Summary
 void buildModel(SparseMatrix rateMatrix)
          Build a model with given training set.
 
Methods inherited from class prea.recommender.matrix.MatrixFactorizationRecommender
evaluate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PMF

public PMF(int uc,
           int ic,
           double max,
           double min,
           int fc,
           double lr,
           double r,
           double m,
           int iter,
           boolean verbose)
Construct a matrix-factorization model with the given data.

Parameters:
uc - The number of users in the dataset.
ic - The number of items in the dataset.
max - The maximum rating value in the dataset.
min - The minimum rating value in the dataset.
fc - The number of features used for describing user and item profiles.
lr - Learning rate for gradient-based or iterative optimization.
r - Controlling factor for the degree of regularization.
m - Momentum used in gradient-based or iterative optimization.
iter - The maximum number of iterations.
verbose - Indicating whether to show iteration steps and train error.
Method Detail

buildModel

public void buildModel(SparseMatrix rateMatrix)
Build a model with given training set.

Specified by:
buildModel in interface Recommender
Overrides:
buildModel in class MatrixFactorizationRecommender
Parameters:
rateMatrix - Training data set.