Linear model optimized for BPR. More...
Public Member Functions | |
| virtual void | AddFeedback (int user_id, int item_id) |
| virtual bool | CanPredict (int user_id, int item_id) |
| Check whether a useful prediction can be made for a given user-item combination. | |
| Object | Clone () |
| create a shallow copy of the object | |
| double | ComputeFit () |
| Compute the fit (RMSE) on the training data. | |
| void | Iterate () |
| Perform one iteration of stochastic gradient ascent over the training data. One iteration is iteration_length * number of entries in the training matrix. | |
| override void | LoadModel (string filename) |
| Get the model parameters from a file. | |
| override double | Predict (int user_id, int item_id) |
| Predict rating or score for a given user-item combination. | |
| virtual void | RemoveFeedback (int user_id, int item_id) |
| virtual void | RemoveItem (int item_id) |
| virtual void | RemoveUser (int user_id) |
| override void | SaveModel (string filename) |
| Save the model parameters to a file. | |
| override string | ToString () |
| Return a string representation of the recommender. | |
| override void | Train () |
| Learn the model parameters of the recommender from the training data. | |
Protected Member Functions | |
| virtual void | AddItem (int item_id) |
| virtual void | AddUser (int user_id) |
| void | SampleItemPair (int u, out int i, out int j) |
| Sample a pair of items, given a user. | |
| void | SampleTriple (out int u, out int i, out int j) |
| Sample a triple for BPR learning. | |
| int | SampleUser () |
| Sample a user that has viewed at least one and not all items. | |
| virtual void | UpdateFeatures (int u, int i, int j) |
| Modified feature update method that exploits attribute sparsity. | |
Protected Attributes | |
| int | iteration_length = 5 |
| One iteration is iteration_length * number of entries in the training matrix. | |
Properties | |
| int | FastSamplingMemoryLimit [get, set] |
| Fast sampling memory limit, in MiB. | |
| virtual IPosOnlyFeedback | Feedback [get, set] |
| the feedback data to be used for training | |
| double | InitMean [get, set] |
| mean of the Gaussian distribution used to initialize the features | |
| double | InitStdev [get, set] |
| standard deviation of the normal distribution used to initialize the features | |
| SparseBooleanMatrix | ItemAttributes [get, set] |
| double | LearnRate [get, set] |
| Learning rate alpha. | |
| int | MaxItemID [get, set] |
| Maximum item ID. | |
| int | MaxUserID [get, set] |
| Maximum user ID. | |
| int | NumItemAttributes [get, set] |
| uint | NumIter [get, set] |
| Number of iterations over the training data. | |
| double | Regularization [get, set] |
| Regularization parameter. | |
Linear model optimized for BPR.
This recommender does NOT support incremental updates.
| virtual bool CanPredict | ( | int | user_id, | |
| int | item_id | |||
| ) | [virtual, inherited] |
Check whether a useful prediction can be made for a given user-item combination.
| user_id | the user ID | |
| item_id | the item ID |
Implements IRecommender.
| Object Clone | ( | ) | [inherited] |
create a shallow copy of the object
| double ComputeFit | ( | ) |
Compute the fit (RMSE) on the training data.
Implements IIterativeModel.
| void Iterate | ( | ) |
Perform one iteration of stochastic gradient ascent over the training data. One iteration is iteration_length * number of entries in the training matrix.
Implements IIterativeModel.
| override void LoadModel | ( | string | filename | ) | [virtual] |
Get the model parameters from a file.
| filename | the name of the file to read from |
Implements ItemRecommender.
| override double Predict | ( | int | user_id, | |
| int | item_id | |||
| ) | [virtual] |
Predict rating or score for a given user-item combination.
| user_id | the user ID | |
| item_id | the item ID |
Implements ItemRecommender.
| void SampleItemPair | ( | int | u, | |
| out int | i, | |||
| out int | j | |||
| ) | [protected] |
Sample a pair of items, given a user.
| u | the user ID | |
| i | the ID of the first item | |
| j | the ID of the second item |
| void SampleTriple | ( | out int | u, | |
| out int | i, | |||
| out int | j | |||
| ) | [protected] |
Sample a triple for BPR learning.
| u | the user ID | |
| i | the ID of the first item | |
| j | the ID of the second item |
| int SampleUser | ( | ) | [protected] |
Sample a user that has viewed at least one and not all items.
| override void SaveModel | ( | string | filename | ) | [virtual] |
Save the model parameters to a file.
| filename | the name of the file to write to |
Implements ItemRecommender.
| override string ToString | ( | ) |
Return a string representation of the recommender.
The ToString() method of recommenders should list the class name and all hyperparameters, separated by space characters.
Implements IRecommender.
| virtual void UpdateFeatures | ( | int | u, | |
| int | i, | |||
| int | j | |||
| ) | [protected, virtual] |
Modified feature update method that exploits attribute sparsity.
int iteration_length = 5 [protected] |
One iteration is iteration_length * number of entries in the training matrix.
int FastSamplingMemoryLimit [get, set] |
Fast sampling memory limit, in MiB.
virtual IPosOnlyFeedback Feedback [get, set, inherited] |
the feedback data to be used for training
double InitMean [get, set] |
mean of the Gaussian distribution used to initialize the features
double InitStdev [get, set] |
standard deviation of the normal distribution used to initialize the features
SparseBooleanMatrix ItemAttributes [get, set] |
The binary item attributes
Implements IItemAttributeAwareRecommender.
double LearnRate [get, set] |
Learning rate alpha.
int MaxItemID [get, set, inherited] |
Maximum item ID.
int MaxUserID [get, set, inherited] |
Maximum user ID.
int NumItemAttributes [get, set] |
an integer stating the number of attributes
Implements IItemAttributeAwareRecommender.
uint NumIter [get, set] |
Number of iterations over the training data.
Implements IIterativeModel.
double Regularization [get, set] |
Regularization parameter.
1.6.3