推荐系统小结
为何需要推荐系统 — 信息过载
随着互联网行业的井喷式发展,信息量也在以几何倍数式爆发增长,大数据带来了严重的“信息过载”问题,如何快速有效地从纷繁复杂的数据中获取有价值的信息成为了当前大数据发展的关键难题–因此推荐系统应运而生。推荐系统根据用户需求、兴趣等,通过推荐算法从海量数据中挖掘出用户感兴趣的项目(如信息、服务、物品等),并将结果以个性化列表的形式推荐给用户。
传统推荐算法
如上图所示,输入参数是用户和item的各种属性和特征,包括年龄、性别、地域、商品的类别、发布时间等等。经过推荐算法处理后,返回一个按照用户喜好度排序的item列表。
推荐算法的形式化定义如下:
用U表示所有用户(user)的集合,I表示所有项目(item)的集合,并定义一个函数S来计算项目i对用户u的推荐度,即:S:U×I= R。推荐算法的研究问题就是通过计算推荐度为每一个用户u∈U 找到其最感兴趣的项目i∈I,如下:
推荐系统中的用户和项 目都可以通过一组不同的属性或特征来进行表示推荐系统面临的一个关键问题是效用函数S通常定义在U×I的一个子空间上,推荐算法必须将S外推到整个U×I空间。例如,我们通常将推荐度定义为用户对项目的评分,但真实的推荐系统中,用户仅仅评分了一小部分项目,因此在选择推荐度最高的项目给用户之前,必须先根据已知的评分来实现对未知评分的预测,这就是外推的过程。推荐算法对未知评分的预测能够采用不同的方法,包括近似理论、机器学