ALS BiasedMF

This page analyzes the hyperparameter tuning results for biased matrix factorization with ALS.

Parameter Search Space

Parameter Type Distribution Values Selected
embedding_size Integer LogUniform 4 ≤ \(x\) ≤ 512 463
regularization.user Float LogUniform 1e-05 ≤ \(x\) ≤ 1 0.795
regularization.item Float LogUniform 1e-05 ≤ \(x\) ≤ 1 0.00163
damping.user Float LogUniform 1e-12 ≤ \(x\) ≤ 100 1.39e-05
damping.item Float LogUniform 1e-12 ≤ \(x\) ≤ 100 0.0001

Final Result

Searching selected the following configuration:

{
    'embedding_size': 463,
    'regularization': {'user': 0.794561339814651, 'item': 0.0016328354077841572},
    'damping': {'user': 1.3883981307883882e-05, 'item': 0.0001001999405830748},
    'epochs': 4
}

With these metrics:

{
    'RBP': 0.0024019779168073098,
    'LogRBP': -2.2372227792637425,
    'NDCG': 0.16224796648514012,
    'RecipRank': 0.018987143653207823,
    'RMSE': 0.8154530812992363,
    'TrainTask': '669d34df-2c9b-41f6-997c-2b85b63c4612',
    'TrainTime': None,
    'TrainCPU': None,
    'max_epochs': 30,
    'done': False,
    'training_iteration': 4,
    'trial_id': '5766e_00042',
    'date': '2025-05-05_15-47-06',
    'timestamp': 1746474426,
    'time_this_iter_s': 6.127040147781372,
    'time_total_s': 26.42900252342224,
    'pid': 223993,
    'hostname': 'CCI-ws21',
    'node_ip': '10.248.127.152',
    'config': {
        'embedding_size': 463,
        'regularization': {'user': 0.794561339814651, 'item': 0.0016328354077841572},
        'damping': {'user': 1.3883981307883882e-05, 'item': 0.0001001999405830748},
        'epochs': 4
    },
    'time_since_restore': 26.42900252342224,
    '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:

/home/mde48/lenskit/lenskit-codex/.venv/lib/python3.12/site-packages/plotnine/layer.py:364: PlotnineWarning: geom_point : Removed 42 rows containing missing values.

Learning Parameters

/home/mde48/lenskit/lenskit-codex/.venv/lib/python3.12/site-packages/plotnine/layer.py:364: PlotnineWarning: geom_point : Removed 42 rows containing missing values.

/home/mde48/lenskit/lenskit-codex/.venv/lib/python3.12/site-packages/plotnine/layer.py:364: PlotnineWarning: geom_point : Removed 42 rows containing missing values.

/home/mde48/lenskit/lenskit-codex/.venv/lib/python3.12/site-packages/plotnine/layer.py:364: PlotnineWarning: geom_point : Removed 42 rows containing missing values.

/home/mde48/lenskit/lenskit-codex/.venv/lib/python3.12/site-packages/plotnine/layer.py:364: PlotnineWarning: geom_point : Removed 42 rows containing missing values.

Iteration Completion

How many iterations, on average, did we complete?

/home/mde48/lenskit/lenskit-codex/.venv/lib/python3.12/site-packages/plotnine/layer.py:284: PlotnineWarning: stat_bin : Removed 42 rows containing non-finite values.

How did the metric progress in the best result?

How did the metric progress in the longest results?