Embeding层与Word2Vec的区别?

在做nlp过程中,需要对单词或者句子用词向量进行表征。因此产生了像embedding、word2vec等词向量方法。

embedding层:embedding的本质是一个矩阵,单词的独热编码与该矩阵相乘,得到词向量模型,作为后续网络层对输入。它更像是一个基于神经网络层的encoding-decoding过程。它是一个网络层,跟随整个模型一起训练。从embedding的作用上理解,它是将原始词向量映射到一个低维空间中,这样在做相关处理过程中,可以去除文本的“一些噪声”,即减少了文本的数据量,从而计算的复杂度,用提高计算效率。下图为embedding层将原词向量映射到一个新的多维空间的表示过程。

详细请参考:https://www.cnblogs.com/pyclq/p/12405631.html

Word2Vec:它是google推出的一种算法,其本质是优化过的embedding,进行词向量的训练,而不像embedding那样是一层网络。Word2Vec有CBOW 和 Skip-gram两种方式。CBOW是通过周围单词预测中心单词,而Skip-gram是通过中心词预测周围词。

 详细请参考:https://blog.csdn.net/vincent_duan/article/details/117967110

Word2Ve参数讲解:

  1. vector_size (之前称为size): 这个参数决定了词向量的维度,即每个词将被表示为多少维的向量。较大的向量尺寸可以捕捉更多的信息,但也会增加模型的复杂性和训练时间。常见的值范围从50到300。

  2. window: 窗口大小决定了模型在学习词向量时考虑的上下文范围。对于CBOW架构,窗口大小是指当前词左右两侧的词的数量。对于Skip-gram架构,它是指当前词预测上下文中词的最大距离。较大的窗口尺寸意味着考虑更远的上下文,可能有助于捕捉更广泛的语义关系。

  3. min_count: 这个参数决定了词需要出现的最小频率才能被考虑。这有助于去除稀有词,从而减小模型的噪声并减少计算资源的需求。

  4. sg: 选择训练算法:sg=0表示使用CBOW模型,sg=1表示使用Skip-gram模型。Skip-gram倾向于处理较大的数据集,并且对罕见词汇的处理效果更好,但训练速度较慢。

  5. hs (hierarchical softmax): 是否使用层次softmax优化。如果设置为1,则使用层次softmax技术。如果训练数据较小或词汇较少,这可以加速训练并提高效率。

  6. negative: 负采样的数量。如果大于0,则会使用负采样。这个参数决定了在优化过程中将多少“负”词(即,非上下文词)纳入计算。使用负采样通常可以加速训练并提高较少频繁词的质量。

  7. iter: 训练迭代次数。较多的迭代次数可以提高模型的性能,但也会增加训练时间。

  8. alpha: 学习率的初始值。在训练过程中,学习率控制了权重调整的步长大小。较高的学习率可能会导致训练不稳定,而较低的学习率会增加收敛到最佳解的时间。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值