C# Класс MyMediaLite.RatingPrediction.BiasedMatrixFactorization

Matrix factorization with explicit user and item bias, learning is performed by stochastic gradient descent

Per default optimizes for RMSE. Alternatively, you can set the Loss property to MAE or LogisticLoss. If set to log likelihood and with binary ratings, the recommender implements a simple version Menon and Elkan's LFL model, which predicts binary labels, has no advanced regularization, and uses no side information.

This recommender makes use of multi-core machines if requested. Just set MaxThreads to a large enough number (usually multiples of the number of available cores). The parallelization is based on ideas presented in the paper by Gemulla et al.

Literature: Ruslan Salakhutdinov, Andriy Mnih: Probabilistic Matrix Factorization. NIPS 2007. http://www.mit.edu/~rsalakhu/papers/nips07_pmf.pdf Steffen Rendle, Lars Schmidt-Thieme: Online-Updating Regularized Kernel Matrix Factorization Models for Large-Scale Recommender Systems. RecSys 2008. http://www.ismll.uni-hildesheim.de/pub/pdfs/Rendle2008-Online_Updating_Regularized_Kernel_Matrix_Factorization_Models.pdf Aditya Krishna Menon, Charles Elkan: A log-linear model with latent features for dyadic prediction. ICDM 2010. http://cseweb.ucsd.edu/~akmenon/LFL-ICDM10.pdf Rainer Gemulla, Peter J. Haas, Erik Nijkamp, Yannis Sismanis: Large-Scale Matrix Factorization with Distributed Stochastic Gradient Descent. KDD 2011. http://www.mpi-inf.mpg.de/~rgemulla/publications/gemulla11dsgd.pdf

This recommender supports incremental updates. See the paper by Rendle and Schmidt-Thieme.

Наследование: MatrixFactorization
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
item_bias double[]
user_bias double[]

Открытые методы

Метод Описание
BiasedMatrixFactorization ( ) : System

Default constructor

ComputeLoss ( ) : double
Iterate ( ) : void
LoadModel ( string filename ) : void
Predict ( int user_id, int item_id ) : double
RemoveItem ( int item_id ) : void
RemoveUser ( int user_id ) : void
RetrainItem ( int item_id ) : void
RetrainUser ( int user_id ) : void
SaveModel ( string filename ) : void
ToString ( ) : string
Train ( ) : void

Защищенные методы

Метод Описание
AddItem ( int item_id ) : void
AddUser ( int user_id ) : void
InitModel ( ) : void
Iterate ( IList rating_indices, bool update_user, bool update_item ) : void
IterateMAE ( IList rating_indices, bool update_user, bool update_item ) : void
IterateRMSE ( IList rating_indices, bool update_user, bool update_item ) : void

Описание методов

AddItem() защищенный Метод

protected AddItem ( int item_id ) : void
item_id int
Результат void

AddUser() защищенный Метод

protected AddUser ( int user_id ) : void
user_id int
Результат void

BiasedMatrixFactorization() публичный Метод

Default constructor
public BiasedMatrixFactorization ( ) : System
Результат System

ComputeLoss() публичный Метод

public ComputeLoss ( ) : double
Результат double

InitModel() защищенный Метод

protected InitModel ( ) : void
Результат void

Iterate() публичный Метод

public Iterate ( ) : void
Результат void

Iterate() защищенный Метод

protected Iterate ( IList rating_indices, bool update_user, bool update_item ) : void
rating_indices IList
update_user bool
update_item bool
Результат void

IterateMAE() защищенный Метод

protected IterateMAE ( IList rating_indices, bool update_user, bool update_item ) : void
rating_indices IList
update_user bool
update_item bool
Результат void

IterateRMSE() защищенный Метод

protected IterateRMSE ( IList rating_indices, bool update_user, bool update_item ) : void
rating_indices IList
update_user bool
update_item bool
Результат void

LoadModel() публичный Метод

public LoadModel ( string filename ) : void
filename string
Результат void

Predict() публичный Метод

public Predict ( int user_id, int item_id ) : double
user_id int
item_id int
Результат double

RemoveItem() публичный Метод

public RemoveItem ( int item_id ) : void
item_id int
Результат void

RemoveUser() публичный Метод

public RemoveUser ( int user_id ) : void
user_id int
Результат void

RetrainItem() публичный Метод

public RetrainItem ( int item_id ) : void
item_id int
Результат void

RetrainUser() публичный Метод

public RetrainUser ( int user_id ) : void
user_id int
Результат void

SaveModel() публичный Метод

public SaveModel ( string filename ) : void
filename string
Результат void

ToString() публичный Метод

public ToString ( ) : string
Результат string

Train() публичный Метод

public Train ( ) : void
Результат void

Описание свойств

item_bias защищенное свойство

the item biases
protected double[] item_bias
Результат double[]

user_bias защищенное свойство

the user biases
protected double[] user_bias
Результат double[]