Parameter | Type | Distribution | Values | Selected |
---|---|---|---|---|
embedding_size | Integer | LogUniform | 4 ≤ \(x\) ≤ 512 | 109 |
regularization | Float | LogUniform | 0.0001 ≤ \(x\) ≤ 10 | 0.405 |
learning_rate | Float | LogUniform | 0.001 ≤ \(x\) ≤ 0.1 | 0.00832 |
reg_method | Categorical | Uniform | L2, AdamW | AdamW |
negative_count | Integer | Uniform | 1 ≤ \(x\) ≤ 5 | 4 |
positive_weight | Float | Uniform | 1 ≤ \(x\) ≤ 10 | 4.05 |
user_bias | Categorical | Uniform | True, False | True |
item_bias | Categorical | Uniform | True, False | False |
FlexMF Logistic on ML1M
This page analyzes the hyperparameter tuning results for the FlexMF scorer in implicit-feedback mode with logistic loss (Logistic Matrix Factorization).
Parameter Search Space
Final Result
Searching selected the following configuration:
{ 'embedding_size': 109, 'regularization': 0.405361839333611, 'learning_rate': 0.008321602556951814, 'reg_method': 'AdamW', 'negative_count': 4, 'positive_weight': 4.048579386127648, 'user_bias': True, 'item_bias': False, 'epochs': 26 }
With these metrics:
{ 'RBP': 0.10479121677137343, 'NDCG': 0.35969290195214815, 'RecipRank': 0.35549524449671305, 'TrainTask': '1dcb5145-0753-458b-8733-38f5be0274d1', 'TrainTime': None, 'TrainCPU': None, 'max_epochs': 50, 'done': False, 'training_iteration': 26, 'trial_id': 'c9efa756', 'date': '2025-04-03_21-47-32', 'timestamp': 1743731252, 'time_this_iter_s': 1.3986763954162598, 'time_total_s': 42.324442625045776, 'pid': 1202393, 'hostname': 'CCI-ws21', 'node_ip': '10.248.127.152', 'config': { 'embedding_size': 109, 'regularization': 0.405361839333611, 'learning_rate': 0.008321602556951814, 'reg_method': 'AdamW', 'negative_count': 4, 'positive_weight': 4.048579386127648, 'user_bias': True, 'item_bias': False, 'epochs': 26 }, 'time_since_restore': 5.9172282218933105, 'iterations_since_restore': 4 }
Parameter Analysis
Embedding Size
The embedding size is the hyperparameter that most affects the model’s fundamental logic, so let’s look at performance as a fufnction of it:
Data Handling
Learning Parameters
Iteration Completion
How many iterations, on average, did we complete?
How did the metric progress in the best result?
How did the metric progress in the longest results?