显示标签为“time”的博文。显示所有博文
显示标签为“time”的博文。显示所有博文

2009年3月28日星期六

TimeSVD

最近一直在写一篇关于如何使用时间信息的论文,准备投4月份的WI,今天将论文中的一些结果加入到以前的预测器集合中,RMSE从0.8770降到了0.8761。以前的预测器集合中已经有了很多考虑时间信息的预测器,不过这个这个预测器效果是最好的。

根据我的估计,时间信息对最终结果的影响大概在0.007 - 0.01之间,在我的论文中将会阐述这个结果的由来。

2009年3月11日星期三

时间信息在推荐系统中的作用

今天加入了UserTimeSVD模型,目前的RMSE = 0.8874

根据我的研究,时间对于用户的影响超过了时间对于电影的影响。我计算了一些用户每个月的平均评分,发现用户在某些时间喜欢对他们喜欢的电影评分,而在另一些时间喜欢对不喜欢的电影评分。

而对于电影来说,一部电影会被很多用户评分,所以平均意义上,电影的评分不会有太大变化。不过我还发现一个现象,就是当电影刚出现时,他的评分在最初的几个月会有比较大的波动,但经过大概半年之后,他的评分就不会有变化了。

目前我正在写这方面的论文。如果我们用SVD分解,用50个latent factor,在Probe上的RMSE是0.908,但考虑了用户兴趣随时间变化后,可以得到更精确的RMSE为0.903

2009年3月6日星期五

考虑用户时间因素的SVD模型(TimeSVD02Model)

这个模型中,考虑了user评分的时间变化因素,在基本的SVD模型中加入了一项,变为

r(u,i,t) = mean + b(u) + b(i) + b(t) + dot(p(u),q(i)) + dot(x(u),y(t))

其中p(u),q(i)是一个d1维的向量,x(u),y(t)是一个d2维的向量

考虑电影的时间因素(ItemKNN3Model)

在item-basedKNN中,可以考虑电影的时间因素。

电影i,j的相似度为s(i,j),考虑时间因素后,定义为

s(i,j) = s(i,j) * exp(-k * |t(i) - t(j)|)