kakao / buffalo

TOROS Buffalo: A fast and scalable production-ready open source project for recommender systems
Apache License 2.0
575 stars 106 forks source link

Add Algorithm CML #33

Closed ita9naiwa closed 1 year ago

ita9naiwa commented 3 years ago

The model Collaborative Metric Learning is very similar to WARP and often outperforms WARP. It also works quite well for KNN tasks among items and users.

It seems not very tricky to implement this model using the existing WARP module in buffalo.

ummae commented 3 years ago

@ita9naiwa got it

ita9naiwa commented 3 years ago

Cogswell Regularization이라고, Embedding들을 batch 단위로 뽑아서 Covariance를 계산한 뒤에, 이를 줄이는 Regularization이 있는데 이것 때문에 SGD로 CML을 구현하기 어려웠습니당.

적당히 괜찮게 근사하는 방법이 생각나서 간단히 테스트해봤습니다. 깃헙 마크다운은 Latex가 안되서, 간단히 블로그에 적어봤어요