1、什么是推荐系统?
推荐系统是信息过滤系统的一个子类,种利用用户的历史行为数据、个人兴趣和其他相关信息,通过分析和预测用户的偏好,向用户提供个性化的推荐内容或建议的系统。
2、为什么需要推荐系统?
用户角度:推荐系统能根据用户的兴趣和偏好,提供个性化的推荐内容,使用户能够快速找到符合其喜好的物品、服务或信息,从而节省时间和精力。
资源角度:推荐系统可以根据用户的需求和偏好,合理分配资源,提高资源的利用效率。
3、推荐系统的类型
- 基于内容的推荐系统
- 协同过滤推荐系统
- 混合推荐系统
- 深度学习推荐系统
4、推荐系统的评估?
准确度
覆盖率
多样性
实时性
商业目标
5、推荐系统的挑战
数据稀疏性
在大规模推荐系统中,用户和物品之间的交互数据通常是非常稀疏的,即大多数用户只与少数物品有交互行为。
冷启动问题
冷启动问题指的是推荐系统在面对新用户或新物品时的困境。
实时性要求
某些应用场景对实时推荐要求较高,即需要在用户产生行为之后立即生成和呈现推荐结果。
6、推荐系统的应用
亚马逊的图书、网易云音乐、Youtube视频、淘宝商品等

7、如何搭建推荐系统
Netfilx的推荐系统架构

Step1:数据收集-》Step2:数据处理-〉Step3:特征工程
Step4:算法选择
使用余弦相似度来计算物品之间的相似度。余弦相似度度量了两个向量之间的夹角,值越接近1表示两个向量越相似。向量的概念,可以形象化地表示为带箭头的线段。二维空间向量表示方法为 r(x1,x2),多维空间向量表示为r(x1,x2,…xn)向量是描述事物一种很好模型。
假设5个维度:对服装的喜欢程度(1~5分),对家居的喜欢程度(1~5分),对3C的喜欢程度(1~5分),对图书的喜欢程度(1~5分),对化妆品的喜欢程度(1~5分)。一个用户A:对服装的喜欢程度3,对家居的喜欢程度1,对3C的喜欢程度4,对图书的喜欢程度5,对化妆品的喜欢程度0,用户A可以用向量表示为Ra(3,1,4,5,0)一个用户B:对服装的喜欢程度3,对家居的喜欢程度4,对3C的喜欢程度5,对图书的喜欢程度0,对化妆品的喜欢程度2,用户B可以用向量表示为Rb(3,4,5,0,2)
对于向量Ra(A1,A2,A3,A4,…An)和Rb(B1,B2,B3…Bn)而言,他们的在多维空间的夹角可以用向量余弦公式计算,这两个向量的夹角。夹角越小,则相似度越大。刚才用户A和用户B的例子:计算出来结果等于0.64

Step5:生成推荐内容,并对结果排序
Step6:评估和优化
——————————
参考资料
wiki:Recommender system
推荐系统参考资料:github链接
亚马逊官方博客:推荐系统系列之推荐系统概览
极客时间推荐系列
推荐系统实践英伟达官方博客:推荐系统

