读书笔记:推荐系统与深度学习-第四章-推荐系统的基础算法

前言:这本书是由清华大学出版社的《推荐系统与深度学习》,由黄昕、赵伟、王本友、吕慧伟、杨敏编著,前三章分别是对推荐系统的简单介绍、对深度学习的介绍以及对tensorflow的介绍,这里就不做笔记了。

这一章主要介绍了传统的一些推荐方法以及利用深度学习方法(CNN、自编码、node2vec)进行一些特征表征和提取。

1、基于内容的推荐算法

1.1 基于内容的推荐算法基本流程

  • 特征(内容)提取
    • 基础统计法(onehot)
    • 词频统计法(TF-IDF并进行归一化)
  • 用户偏好计算
  • 内容召回
  • 物品排序

2、协同的推荐算法

2.1-2.3 基于用户的协同算法,基于物品的协同算法以及两者的区别

可以参考读书笔记:推荐系统实践-第二章-利用用户行为数据 4.1-4.3 部分

2.4 基于矩阵分解的推荐方法

  • 基于SVD的方法
    • 加载用户对物品的评分矩阵
    • 矩阵分解,求奇异值,根据奇异值的能量占比确定降维至k的数值
    • 使用矩阵分解对物品评分矩阵进行降维
    • 使用降维以后的物品评分矩阵计算物品相似度,对用户未评分过的物品进行预测
    • 产生前n个评分值高的物品,返回物品编号以及预测评分值
  • LFM模型
    可以参考读书笔记:推荐系统实践-第二章-利用用户行为数据 5 部分

2.5 基于稀疏自编码的推荐方法

2.5.1 自编码介绍

最简单的自编码分为三层,输入层和输出层亦一样的,中间隐层的神经元个数要低于输入层和输出层,这样就可以得到压缩特征。
在这里插入图片描述

2.5.2 栈式自编码在推荐系统中的应用——以音乐推荐为例

使用逐层贪婪训练法进行训练。需要三个网络。

  • 第一个网络:输入和输出是歌曲被用户收藏的数据
    在这里插入图片描述
  • 第二个网络:输入层和输出层是第一个网络的隐层
    在这里插入图片描述
  • 第三个网络:输入层是第二个网络的隐层,输出层是softmax层,这里是音乐的流派。隐层是全连接层,这里的权重实际上是用户的低维特征。
    在这里插入图片描述

3 基于社交网络的推荐算法

3.1 基于用户的推荐在社交网络中的应用

可以参考读书笔记:推荐系统实践-第六章-利用社交网络数据的第四部分

3.2 node2vec技术在社交网络推荐中的应用

可以利用node2vec的技术将用户进行向量化的表征,从而方便计算相似对。node2vec的整体思路可以分为两个部分:

  • 随机游走(random walk),通过一定的规则随机抽取一些点的序列
  • 将点的序列输入到word2vec模型得到每个点的embedding向量

3.2.1 随机游走

实际上就是对以用户为节点,好友关系为边的社交网络关系图,进行随机游走,而获得一个用户序列。
在这里插入图片描述
对于游走的下一个节点的选择,遵循下面的α值选择概率,这样就可以通过控制p和q来控制广度优先或者深度优先:
在这里插入图片描述
当下一个节点的选择是上一个节点的时候,d=0;当下一个节点的选择和上一个节点以及目前的节点构成三角形时,d=1;其他的情况d=2。如果p大于max(q,1),则产生的序列与深度优先搜索类似;如果p小于min(q,1),产生的序列与宽度优先搜索类似。一般而言,会从每个点开始游走5-10次步长根据点的数量N游走根号N步。

3.2.2 word2vec

可以参考
斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第二课 词向量(word vector)
斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第三课 词向量(2)

4、推荐系统的冷启动问题

4.1 如何解决推荐系统冷启动问题

4.1.1 针对用户冷启动的解决方案

  • 有效利用用户的账号信息:当用户进行外部账户的登陆的时候,可以通过账户信息追溯用户在其他平台上的行为
  • 利用用户的手机IMEI号进行冷启动
  • 制造选项,让用户选择自己感兴趣的点后,即时生成粗粒度的推荐

4.1.2 针对物品冷启动的解决方案

  • 利用物品的内容信息
  • 利用专家的标注数据:专家的数据有以下的优点,数据集更加稠密,打分数据的一致性更强

4.2 深度学习技术在物品冷启动上的应用

案例一:CNN在音频流派分类上的应用

  • 将声音的立体声道丢弃,因为其包含了高度的冗余信息
  • 使用傅里叶变化将音频数据转化为频域,每秒50像素,取10s-15s片段
  • 使用CNN+LSTM模型进行分类模型构建(结构如下面第二个图)
    在这里插入图片描述
    在这里插入图片描述

案例二:人脸魅力值打分在视频推荐中的应用

  • 利用开源工具进行脸部位置截取,开源工具是face_recognition
  • 使用CNN网络进行魅力值测评,为了解决梯度消失的问题,使用残差网络结构
    在这里插入图片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章