深度学习推荐系统——Embedding
Embedding概述
Embedding操作的主要作用是将稀疏向量转换成稠密向量,向量之间的距离反映了对象之间的相似性。从另一空间表达物品,同时揭示物品之间潜在关系的。
1、负责将发哦为稀疏特征向量转换成稠密低维特征向量
2、Embedding本身就是极其重要的特征向量。
3、Embedding对物品、用户相似度的计算是常用的推荐系统召回层技术。
Word2vec
CBOW模型的输人是
w
t
w_t
wt周边的词,预测的输出是
w
t
w_t
wt, 而 Skip-gram则相反。经验上讲,Skip-gram 的效果较好。
Word2vec的目标函数如下:
1
T
∑
t
=
1
T
∑
−
c
⩽
j
⩽
c
,
j
≠
0
log
p
(
w
t
+
j
∣
w
t
)
p
(
W
o
∣
W
I
)
=
exp
(
V
w
0
′
T
V
w
1
)
∑
w
=
1
W
exp
(
V
w
′
V
w
1
)
\frac { 1 } { T } \sum _ { t = 1 } ^ { T } \sum _ { - c \leqslant j \leqslant c , j \neq 0 } \log p \left( w _ { t + j } \mid w _ { t } \right) \\ p \left( \mathcal { W } _ { \mathrm { o } } \mid \mathcal { W } _ { \mathrm { I } } \right) = \frac { \exp \left( \boldsymbol { V } _ { w _ { 0 } } ^ { \prime } { } ^ { \mathrm { T } } \boldsymbol { V } _ { w _ { 1 } } \right) } { \sum _ { w = 1 } ^ { W } \exp \left( \boldsymbol { V } _ { w } ^ { \prime { } } \boldsymbol { V } _ { w _ { 1 } } \right) }
T1t=1∑T−c⩽j⩽c,j=0∑logp(wt+j∣wt)p(Wo∣WI)=∑w=1Wexp(Vw′Vw1)exp(Vw0′TVw1)
为了减轻Word2vec的训练负担,往往采用负采样的方法进行训练。相比原来需要计算所有字典中所有词的预测误差,负采样方法只需要对采样出的几个负样本计算预测误差。
Item2vec
Item2vec利用的“物品序列”是由特定用户的浏览、购买等行为产生的历史行为记录序列。Item2vec抛弃了时间窗口的概念,认为序列中任意两个物品都相关。