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
파일 보기 프로젝트 열기: zenogantner/MML-KDD 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
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[]