Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Code for "Solving the Cold Start Problem on One's Own as an End User via Preference Transfer" (TMLR 2025)

License

joisino/pretender

Repository files navigation

Solving the Cold Start Problem on One's Own as an End User via Preference Transfer (TMLR 2025)

We propose a new approach that enables end users to directly solve the cold start problem by themselves. The cold start problem is a common issue in recommender systems, and many methods have been proposed to address the problem on the service provider's side. However, when the service provider does not take action, users are left with poor recommendations and no means to improve their experience. We propose an algorithm, Pretender, that allows end users to proactively solve the cold start problem on their own. Pretender does not require any special support from the service provider and can be deployed independently by users.

Paper: https://arxiv.org/abs/2502.12398

🗃️ Download

You can download the datasets used in the experiments by

$ bash download.sh

🧪 Experiments

MMD as a function of the number of selected items K

$ python plot.py

MMD as a function of K

MMD as a function of the number of selected items K. The optimal value of the combinatorial optimization problem is intractable but is guaranteed to lie somewhere between the red and blue lines. We can see that the difference between the proposed method and the optimal value decreases as K increases. As we discussed in Section 4.2, the optimal value is not monotonic in K, and the sweet spots lie around 32 to 64 in both cases. We can also see that the optimal values get worse more quickly in (a) because the source data contain fewer items, the relevant items in the target set are exhausted more quickly, and we are forced to select less relevant items when we increase K.

Performance

$ python evaluate.py

Performance

Performance Comparison. Each value represents the average MMD across all users. Lower is better. The standard deviation is computed across users. The proposed method is much better than the baseline methods and is close to the optimal continuous solution.

Case Study

$ python casestudy.py

Case Study

Case Study. The source items the user interacted and the K = 20 target items selected by Pretender. Pretender selects the very items that the user interacted with in the source service as shown in red. The user interacted with movies in 1996 and 1997, and Pretender mostly selects movies in 1996 and 1997. Notable exceptions are Alice in Wonderland (1951) and Fantasia (1940) selected by Pretender, as shown in blue. We hypothesis that this reflects the fact that the user thumbed down Cats Don’t Dance (1997), which is an animated movie for children. Since Cats Don’t Dance (1997) is not in the source service, Pretender selects similar movies from the target service and sends a signal that the user does not like this type of movies.

🖋️ Citation

@inproceedings{sato2025solving,
  author    = {Ryoma Sato},
  title     = {Solving the Cold Start Problem on One's Own as an End User via Preference Transfer},
  booktitle = {Transactions on Machine Learning Research (TMLR)},
  year      = {2025},
}

About

Code for "Solving the Cold Start Problem on One's Own as an End User via Preference Transfer" (TMLR 2025)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published