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

Baseline method for rating prediction

Uses the average rating value, plus a regularized user and item bias for prediction.

The method was described in section 2.1 of the paper below. One difference is that we support several iterations of alternating optimization, instead of just one.

The optimization problem solved by the Train() method is the following: \f[ \min_{\mathbf{a}, \mathbf{b}} \sum_{(u, i, r) \in R} (r - \mu_R - a_u - b_i)^2 + \lambda_1 \|\mathbf{a}\|^2 + \lambda_2 \|\mathbf{b}\|^2, \f] where \f$R\f$ are the known ratings, and \f$\lambda_1\f$ and \f$\lambda_2\f$ are the regularization constants RegU and RegI. The sum represents the least squares error, while the two terms starting with \f$\lambda_1\f$ and \f$\lambda_2\f$, respectively, are regularization terms that control the parameter sizes to avoid overfitting. The optimization problem is solved an alternating least squares method.

Literature: Yehuda Koren: Factor in the Neighbors: Scalable and Accurate Collaborative Filtering, Transactions on Knowledge Discovery from Data (TKDD), 2009. http://public.research.att.com/~volinsky/netflix/factorizedNeighborhood.pdf

This recommender supports incremental updates.

Наследование: MyMediaLite.RatingPrediction.IncrementalRatingPredictor, IIterativeModel
Показать файл Открыть проект Примеры использования класса

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

Метод Описание
AddRating ( int user_id, int item_id, double rating ) : void
ComputeFit ( ) : double
Iterate ( ) : void
LoadModel ( string filename ) : void
Predict ( int user_id, int item_id ) : double
RemoveRating ( int user_id, int item_id ) : void
SaveModel ( string filename ) : void
ToString ( ) : string
Train ( ) : void
UpdateRating ( int user_id, int item_id, double rating ) : void
UserItemBaseline ( ) : System

Default constructor

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

Метод Описание
AddItem ( int item_id ) : void
AddUser ( int user_id ) : void
RetrainItem ( int item_id ) : void
RetrainUser ( int user_id ) : void

Приватные методы

Метод Описание
OptimizeItemBiases ( ) : void
OptimizeUserBiases ( ) : void

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

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

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

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

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

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

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

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

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

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

public Iterate ( ) : void
Результат 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

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

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

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

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

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

protected 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

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

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

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

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