Embedding技术在深度学习推荐系统中的应用

  Embedding译为“嵌入”,被翻译为“向量化”。主要作用:将稀疏向量转化为稠密向量,便于上层神经网络的处理。

  定义:用一个低维稠密的向量“表示”一个对象。 对象可以是一个词,一个商品,一部电影等等。“表示”:意味着Embedding向量能够表达相应对象的某些特征,向量之间的距离,反应对象之间的相似性。

Embedding对深度学习推荐系统的重要性:

  1. 使用Embedding层将高维稀疏特征向量转换成低维稠密特征向量。
  2. 可以引入任何信息进行编码,本身包含大量有价值的信息。
  3. Embedding对物品和用于相似度的计算是常用的推荐系统召回层技术。

Word2Vec——经典的Embedding方法

  Word2Vec:是word to vecor的简称,是一个生成对“词”向量的表达式的模型。

独热编码one-hot

  one-hot编码就是保证每个样本中的单个特征只有一位处于状态1,其他的都是0

  举例:

['male', 'female']
['C++', 'C', 'Java', 'python']

转变为独热编码为:

['10', '01']
['1000', '0100', '0010', '0001']

one-hot编码的优缺点分析:

  • 优点:将特征属性转换为离散数值型模型,解决了分类器的分类问题。在一定程度上起到了扩充特征的作用。
  • 缺点:不可避免的造成数据中大量0的特征维度,导致特征向量稀疏。

CBOW模型:

  含义: 输入 w t w_t wt周边的词,输出的是对词 w t w_t wt的预测。

  输入,映射,输出:

  CBOW训练的网络结构:
在这里插入图片描述

  训练过程:

  • 输入层:上下文单词的one-hot编码。
  • 所有one-hot编码乘以输入层到隐藏层的权重参数 w w w
  • 将所得到的新的向量求和作为下一层的向量。
  • 将隐层向量与隐层到输出层的权重参数 w ′ w^{\prime} w加权求和后最为输出向量。
  • 通过softmax函数做多分类任务,将输出向量投影为概率分布。
  • 概率中最大的index所指的单词,即为最终所预测的单词输出。
  • 与真实的one-hot向量所对应的标签做对比,定义损失函数(交叉熵损失),通过梯度下降法优化参数 w w w w ′ w^{\prime} w

  训练结束后,再有新的输入向量(单词)与训练好的参数矩阵 w w w做点积,得到的向量就是我们预测的词向量(word embedding),这个矩阵就是Word2Vec的查找表(lookup table),任何一个单词的one-hot表示乘以这个矩阵都将得到自己的word embedding

Skip-gram模型:

  含义:CBOW模型相反。是给定一输入单词 w t w_t wt来预测上下文单词。

  执行过程:

  • 选取好语料库,选取好句子,再选取一个长度为 2 C + 1 2C+1 2C+1的滑动窗口,也就是以目标单词为中心,前后各选 C C C个单词。每滑动一次,窗口中的词组,就形成一个训练样本。
  • 有了训练样本。因为每个单词 w t w_t wt都决定了其相邻单词 w t + j w_{t+j} wt+j,所以使用极大似然估计,使得样本的条件概率 p ( w t + j ∣ w t ) p(w_{t+j}|w_t) p(wt+jwt<
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值