TIFUKNN学习周记3(2022暑期项目)

2022.9.23

学习总结

读完了TIFUKNN论文。

TIFUKNN论文学习总结

实验后,进入结果比较阶段。先上图:

比较结果

可见,最高频次(TopFreq)表现不理想,也就是说单纯看所有用户买的最多的物品并不能预测。个性化的最高频次(PersonTopFreq)却恰恰相反,一骑绝尘。说明用户真的会重复购买喜欢的物品,重复购买模式很重要。而且它在前三个数据集中比其他方法好出太多,说明捕获PIF,尤其是很好的捕获PIF很有效(甚至它微微超过了Sets2Sets这个能捕获PIF的方法,说明Sets2Sets在捕获PIF这方面做的还不够好)。

但同时,Sets2Sets也比改进后的top-n方法(userKNN)和改进后的基于会话方法(RepeatNet)领先的(包揽所有下划线)。原因是它很纯粹地、突出地捕获了PIF,没有夹杂不存在的信息。

而我们的主角TIFUKNN在绝大多数领域都比这些佼佼者还要好,但只是在Dunnhumby数据集上,NDCG微微落后于Sets2Sets。之前,分析过四个数据集,他们的两个模式(重复购买模式和协同购买模式)之间的四种指标的大小。对于Dunnhumby数据集,他的两模式之外的模式(看不见的模式)比其他三个数据集大多了,这就造成了这种结果。因为Sets2Sets有能力发现这些看不到的模式,所以在Dunnhumby数据集中胜过了TIFUKNN。

同样的,在时间动态性方面,rb、rg这两个比率就是体现时间动态性的参数。当它们设置为1的时候,乘以他们的不同幂次根本没有衰减,此时相当于不考虑时间动态性。在四个数据集上,rb、rg设置为1时都能检测出显著的看不见的模式。也就是说,有了时间动态性,就能更好地减少看不见的模式造成的影响,从而使得实验效率提高。

另外,实验也验证了使用两级衰减(rb和rg)比一级衰减更好,同时所有超参数都设置为合适的值较好(论文中表3)。

TUFUKNN论文结论

神经网络方法无法处理向量加法,也就是说对PIF捕捉不够,但是TIFUKNN的实验又证明了PIF对于下一篮子推荐很重要,能大大提高预测准确率。这也是TIFUKNN比其他现有方法好的原因。

在PIF的基础上,TIFUKNN强调购买模式,且实验中关注“重复购买模式”和“协同购买模式”两大模式。这两大模式都是围绕PIF的,但是却从两个方向(重复购买行为和协同过滤)讲明白如何才能更好地预测到下一个篮子。

综上,TIFUKNN的结论是,要想做好下一个篮子推荐,就要处理好个性化物品频次(PIF),并从重复购买行为和协同过滤两个角度发力,做出一个好的下一篮子推荐模型。

难题与解决思路

这一段论文有大量图表。这种图表读起来的难处在于,这些多是实验中直接生成的,比较晦涩,要想看懂这些图表,必须要联系论文的上下文看。

心得收获

这篇文章真是有别样的魅力。它没有展现出很高大上的感觉,而是像一个求学者一样自我分析毛病、自我纠正,最后呈现出的反思与总结一样。这真对我们的做学问态度有很大的启发。

另外,文章提出的通过集合之间取交集、取补集再取交集等手段去分别度量每个模式的影响这个方法很值得学习借鉴。

另外文章各个地方的解决问题的思路也很值得学习。比如由开头出现的召回率居高不下而推测是优化器出问题;由Sets2Sets在Dunnhumby数据集中NDCG胜过TIFUKNN推测出是由于Dunnhumby数据集看不见模式多等等。要想解决问题,就一定要了解相关内容的特点。

还有就是文章对图表的分析过程和分析结论也很值得借鉴。文章不仅横向纵向分别比较,还会分类比较,并在比较后详究其背后原因。

下周计划

看TIFUKNN代码。