论文部分内容阅读
互联网技术的飞速发展使人类进入了大数据时代,“信息过载”成为亟待解决的问题之一。推荐系统作为一种解决“信息过载”问题的技术已被广泛应用于互联网应用。传统基于统计学习和深度学习的推荐技术通过定期更新模型来应对物品流行度的变化和候选集的更新,不能及时根据物品流行度的变化而更新推荐优先级,新物品加入时也不能迅速地完成冷启动。动态推荐算法(如多臂老虎机Bandit)能够一定程度上解决上述问题,但准确度有待提高,这是因为:1)它们的模型能力有限,以Contextual-Bandit类算法中的LinUCB为例,LinUCB算法采用线性模型拟合用户对特定物品的兴趣,表征能力有限,由此限制了算法性能;2)它们没有考虑用户特征分布的异质性,推荐效果不佳。针对以上两个问题,本文选定新闻推荐作为动态推荐算法的具体场景,基于一个大规模、真实的在线新闻系统的用户行为日志,测量了该新闻推荐系统中新闻流行度的动态变化、新闻上下架的模式,观察了用户特征分布。基于观察结果,提出了两个算法来分别改进上述问题,并基于实际数据对算法进行了评估。主要贡献如下:(1)针对现有模型表达能力欠佳的问题,本文提出使用神经网络代替常规数学模型来建模用户和期望回报之间的关系,解决了神经网络在线更新和损失函数选择的两个难题。具体来说,为解决神经网络的在线训练在样本不均衡的情况下难以收敛的问题,我们提出了用户反馈敏感的训练方法:根据不同的用户反馈采用不同迭代次数。该方法相对于传统的训练方式取得了近40%的增益。其次,本文将推荐问题建模为回归、分类和策略梯度问题,系统地尝试了分类、回归和策略梯度三种损失函数。通过实验发现:在合理的配置下,采用策略梯度的损失函数,我们的算法相较于LinUCB算法取得了 2.1%的性能增益,证明了算法的性能。(2)针对传统Contextual-Bandit算法没有考虑用户特征异质性的问题,本文创新性地提出了一种对用户特征敏感的分级推荐算法。该算法能够动态判别用户所属的类别,然后根据用户的类别,动态匹配合适的推荐器,来获得最佳的推荐性能。实验表明,该算法相较于传统的LinUCB推荐算法取得了 3.3%的性能增益,证明了算法的性能。本文在Contextual-Bandit动态推荐算法上的研究,进一步提高了当前主流动态推荐算法的性能,具有一定的理论价值和应用价值。