文章目录
- 1.架构
- 1.1 大数据框架:lambda 架构的
- 1.2.基本概念
- 2. 推荐模型构建流程
- 2.1 数据
- 2.1.1 数据来源
- 2.1.2 数据清洗、处理
- 2.2 特征工程
- 2.3 算法(机器学习)
- 来源
1.架构
- 推荐算法架构
- 召回
- 协同过滤
- 基于内容的
- 基于隐语义的
- 排序
- 召回决定了推荐的上限,排序逼近这个上限,体现推荐的效果
- CTR预估(点击率-用LR线性回归),估计用户是否点这个商品,需要用户的点击数据
- 策略调整
- 比如某个item出现在列表里五次,用户也没点它,这时候就应该删了
- 或者其他的商业需求
- 召回
数据
- 推荐系统业务架构图
1.1 大数据框架:lambda 架构的
lambda架构
- 离线计算
- hadoop
- hive
- spark core,spark sql
- 优点:能处理数据量大
- 缺点:速度慢,分钟级别延迟
- 在线(实时
- spark streaming
- storm
- flink
- 优点:实时,ms
- 缺点:处理数据量小
- 消息中间件
- flume日志采集系统
- kafka 消息队列
- 存储相关
- hbase:nosql数据库
- hive:sql操作hdfs数据
1.2.基本概念
- 基本概念解释
LTR 和 CTR 和 所谓的pointwise, pairwise, listwise的关系- LTR (learning to rank) 意思是 ‘学习排序’,就是排序的机器学习技术
- CTR (click through rate) 意思是‘点击率(预估)’,这个很常见的二分类问题(点击概率0-1)
- pointwise 含义是单点(单文档)角度
- pairwise 含义是文档对角度
- listwise 含义是(推荐)文档列表角度
2. 推荐模型构建流程
- 数据收集
- 显性评分
- 隐性数据
- 特征工程
- 协同过滤:用户-物品 评分矩阵
- 基于内容的推荐:分词/tf-idf,文本信息,word2vec
- 训练模型
- KNN
- 矩阵分解
- 评估、上线
数据->特征->机器学习算法->预测输出
算法以服务形式存在
- Cross Sell
- 电商
- eg:买了手机就推荐手机壳
- Up Sell
2.1 数据
2.1.1 数据来源
(js的点击事件。。。、业务数据、网上获取(基于内容的)
内容画像(从类似网站爬一下)、
用户画像(可以买一些。这个好像不合法)
- 显性数据
- 打分(Rating)
- 评论、评价(Comments)
- 隐形数据
- 历史订单(Order history
- 加购物车(cart events
- 页面浏览(page views
- 点击(Click-thru
- 搜索记录(Search log)
2.1.2 数据清洗、处理
- 数据清洗、处理
2.2 特征工程
- 协同过滤:用户-物品 评分矩阵
- 基于内容的推荐:分词/tf-idf,文本信息
- 从数据中筛选特征
- 商品,可能会被有类似的品味或需求的用户购买
- 使用用户的行为描述商品
- 用数据表示特征
- 用户的行为合并–》user-item矩阵
- 行:商品的向量
- 列:用户的向量
- 算向量间的相似度
- 皮尔逊相似度
- cos
- 。。。
- 拆矩阵,大矩阵拆成小的(SVD)
- 用户的行为合并–》user-item矩阵
2.3 算法(机器学习)
- 协同过滤(Collaborative Filtering)
来源
- http://www.ainilearn.com/ 基础:包含推荐系统算法、hadoop、Hbase、Hive、spark等项目:离线用户、实时计算业务、推荐业务与深度学习。
- https://www.bilibili.com/video/BV1qK4y1479r?p=8