论文部分内容阅读
推荐系统的主要作用是依据用户的兴趣特点,从推荐侯选池中为用户选择他们感兴趣的商品或者信息。推荐算法因具有广泛的应用场景和重要的理论价值所以一直备受关注。传统的推荐算法主要通过分析用户的历史行为来发掘这些用户的兴趣,在推荐池和用户相对静态的场景下有十分优秀的效果,但互联网技术的快速发展对推荐算法提出了很多新的挑战:首先,大量的新商品和新用户不断的涌现,使得传统的推荐方法会因为缺乏新用户的交互记录而无法进行准确的推荐。第二,互联网数据具有动态特性,传统的基于用户历史行为分析的推荐算法对数据在时间和空间上的动态性适应能力较弱。近年来上下文多臂赌博机模型(Contextual Multi-Armed Bandit,CMAB)被广泛应用于在线推荐应用中。相比于传统基于用户历史行为的推荐算法,基于CMAB的推荐算法能够使用连续的反馈信息不断更新推荐策略,动态的处理用户数据并有效缓解冷启动问题,所以更适合于大量新项目被连续不断的加入推荐池的场景。基于CMAB的推荐算法虽然具有优秀的理论支持与应用效果,但仍然存在着推荐反馈结果不可完全观测的问题,这种问题会降低算法对长尾数据的发掘能力,影响推荐算法的覆盖率。由于无休止多臂赌博机模型(Restless Multi-Armed Bandit,RMAB)具有对模型中所有项目潜在状态进行推断的能力,所以本文借鉴RMAB模型中对项目状态进行建模的思想,对上下文多臂赌博机模型(CMAB)进行改进,以解决CMAB模型中的推荐反馈结果不可完全观测的问题,将CMAB模型扩展为上下文无休止多臂赌博机模型(CRMAB)并应用于推荐算法中。本文主要由以下三部分工作构成:第一,提出结合协同信息的线性上下文收益方法。本文针对目前基于CMAB模型的推荐算法在计算预期收益时,不考虑用户间相互影响的问题,采用将上下文收益划分为独立部分和协同部分的方法,通过用户间的影响关系对协同上下文收益进行计算。第二,提出基于上下文无休止多臂赌博机模型的汤普森采样算法CRTS。由于LinTS算法具有较高的推荐精度和较低的计算复杂度,所以本文以LinTS算法作为基础。借鉴RMAB模型中对项目状态进行建模的思想对原算法进行改进,使得算法能够对没有观测到反馈信息的项目的状态和相应的期望收益进行估算,并且在计算每一个项目可能带来的期望收益时不仅依赖于上下文信息,还考虑项目的状态产生的影响,将原算法改进为基于上下文无休止赌博机模型(CRMAB)的汤普森采样算法(CRTS)。第三,在真实数据集上对CRTS算法进行实验。本文采用累计遗憾和覆盖率两个指标作为评价标准,在Movie Lens和Last FM两个数据集对CRTS,LinTS,LinUCB和RTS进行对比实验。实验结果表明,CRTS相比于LinTS,LinUCB和RTS算法具有相近或者更低的累计遗憾,而在覆盖率方面CRTS的表现优于LinTS,Lin UCB和RTS算法,符合我们对于改进后的算法在覆盖率方面有所提升的期望。