一、什么是推荐系统?
概念:一种自动化的工具,可以分析你的历史兴趣,从庞大的库中推荐出喜欢的物品。
基本任务:联系用户和物品,解决信息过载的问题。
诞生:早在很多年前,科学家门就提出了很多解决方案,代表性的就是分类目录和搜索引擎。雅虎,谷歌。其中分类目录网站:能方便用户根据类别查找网站,但是只能覆盖少量的热门网站,越来越不能满足客户的需求。因此,搜索引擎诞生了。可以让用户根据搜索关键词来找到自己需要的信息。但是,搜索引擎需要用户主动提供准确的关键词。如果用户不明确,就无能为力了。——>推荐系统,也是一种帮助用户快速发现有用信息的工具,但不同的是,不需要用户提供明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动的给用户推荐能够满足他们兴趣和需求的信息。
推荐系统算法通常是某类推荐模型的实现,它负责获取数据,例如用户的喜好和可推荐项的描述,以及预测给定的用户组会对哪些选项感兴趣。通常分为四大类:基于内容、协同过滤、混合、流行度。
步骤:1)以机器学习的方法,生成“用户预测模型”,这一步骤叫:信息学习器;
2)将 结构化过的物品 通过“信息学习器”进行比对,预测用户是否会感兴趣;
3)将用户 可能感兴趣的物品TopN 生成推荐结果集;
/*-------------------------1、基于内容的推荐------------------------------*/
(可理解成建立在用户兴趣正例和负例文本训练集上的“文本分类器”,准确率依赖于大量的训练样本,样本的好坏又依赖于对用户兴趣的句法分析。)
(1)简介:向用户推荐和其过去喜欢项的内容相似的项。(用户喜欢和自己关注过的商品类似的商品。)
(2)输入:仅仅依赖于项和用户的 内容/描述(除了惯用数据)
(3)类型:信息检索,机器学习(朴素贝叶斯、支持向量机、决策树等)
(4)步骤:1)对于要推荐的物品建立一份特征;2)对于用户喜欢的物品建立一份特征;
3)计算相似度;(例如:余弦相似度)
优点:
a)避免冷启动问题(新物品无评分也能获得推荐机会,但协同不能);
b) 不需要惯用数据 ,仅需要基于用户喜欢的物品的属性/内容进行推荐。
c)没有流行度偏见,可以推荐有罕见性质的项 (协同有)
d)用户独立性:仅需分析内容,无需考虑用户与用户之间的关联。(基于自己的喜好构建自己的信息,而协同是获得邻居的喜好物品。)