1. Embedding

1 概念:Embedding就是用一个低维稠密的向量表示一个对象,该向量能够表达对象的某些特征。
2 Embedding是深度学习的基础核心操作,原因:

  1. 1. 推荐场景大量使用one-hot编码(还有离散化),导致样本特征向量极度稀疏,而深度学习的结构特点决定其不利于稀疏特征向量的处理(一方面会产生大量参数,另一方面参数训练缓慢),将稀疏特征embedding成稠密低维向量极有必要;
  2. 1. Embedding本身就是极其重要特征,可将各种特征分别Embedding后与其他特征连接后一同组成新的特征;
  3. 1. Embedding对物品、用户相似度的计算是常用的召回技术.

2. Word2Vec

1 概念:通过语句序列将单词转化为稠密向量,包括CBOW、Skip-gram
2 目标函数:基于极大似然估计,Embedding - 图1
3 定义概率函数Embedding - 图2Embedding - 图3
4 负采样:原始Word2Vec每次都要计算语料中所有单词概率,反向传播时要更新隐藏层到输出层所有参数,计算量太大,考虑使用负采样。

3. Item2Vec

1 概念:既然Word2Vec可以对词序列中的词进行Embedding,那么对于用户购买序列中的一个商品,用户观看序列中的一个电影,也应该存在相应的Embedding方法,就是Item2Vec。
2 区别:Item2Vec摒弃了时间窗口的概念,认为序列中任意两个物品都相关,目标函数为:
Embedding - 图4
3 优点:理论上可以利用任何序列型数据生成物品的Embedding向量,大大拓展了Word2Vec的应用场景。
4 局限:只能利用序列型数据,在处理网络化数据时显得捉襟见肘。

4. Graph Embedding

1 特点:数据对象之间更多呈现的是图结构,以及由属性和实体组成的知识图谱。
2 DeepWalk:在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入Word2Vec进行训练,得到物品的Embedding。
3 Node2Vec:通过调整随机游走权重的方法使Embedding结果倾向于体现网络的同质性(DFS:距离相近节点的Embedding相似)或者结构性(BFS:结构相似节点的Embedding相似)。
4 EGES

5. 局部敏感哈希

1 概念:传统Embedding用于召回,计算相似度的方法是向量间的内积计算,时间复杂度Embedding - 图5,通过降维分桶极大降低时间复杂度。
2 原理:将高维空间的点映射到低维空间,原本相近的点在低维空间中肯定依然相近。