Microblogging and Advertisting Data Mining Challenge

Completed • $8,000 • 657 teams

KDD Cup 2012, Track 1

Mon 20 Feb 2012
– Fri 1 Jun 2012 (2 years ago)

When the competition is over, can anybody tell that how to achieve a score larger than 0.42?

« Prev
Topic
» Next
Topic

Steffen said that he used a single FM model to achieve a score 0.41509 on track1. I wonder how to do that.

What does your best single model score in the leaderboard?

Which are the most useful information or rules in the dataset?

My approach is based on Factorization Machines with MCMC inference. I didn't really use ensembles, but tried to develop a single stand-alone model. Besides the obvious features of user and item id, user attributes helped a lot (especially keywords and followers from the social graph). The third kind of features that were very important for my approach are sequential features, e.g. duration of a session, session index, etc.

A single FM model (no ensemble) with the above mentioned features scored 0.42833 (public score) / 0.41582 (private score). My final score uses an ensemble of two variants of this model. Due to MCMC inference, I didn't had to search for regularization parameters or learning rates. The model mentioned above was computed in about a day -- I used an improved MCMC algorithm for speeding up the Gibbs sampler of libFM 1.3.

It's quite interesting that ensemble methods do not work in our experiments as well, indicating something special about this dataset.

the results are awesome!

1) Can you tell us how the factor model is trained? How many epochs?

2) Do you just use stochastic gradient descent on the raw target values?

3) Do you minimize the MSE during training?

We use SGD for our factorization model, an expotentially decayed learning rate is used. We use a validation set to get the best round, and seems it works consistent on test set.

Directly optimize pairwise rank will be a better choice than MSE optimization. We also tried to directly optimize MAP using LambdaRank .

Factorization models are powerful, but are not perfect, so we do not use a purely factorization model approach.

Great post! We don't have ratings here, what was the target variable to run FM on? Thanks

Great post! We don't have ratings here, what was the target variable to run FM on? Thanks

Reply

Flag alert Flagging is a way of notifying administrators that this message contents inappropriate or abusive content. Are you sure this forum post qualifies?