word2vec原理理解(最简单,最详细结合生活,结合原理,结合推理)讲解

生活例子理解:
CBOW(Continuous Bag of Words): 想象一下,你在一个餐厅点餐。当你看到菜单上的各种菜肴时,你可能会根据菜单上的描述和图片来猜测某个菜肴的味道。这里,菜单上的描述和图片就是上下文信息,而你想要猜测的菜肴就是中心单词。CBOW模型就像你一样,通过分析上下文信息(菜肴的描述和图片)来预测中心单词(菜肴的味道)。
Skip-Gram: 再想象一下,你是一个厨师,你在制作一道菜肴。当你的菜肴做好后,你想要描述它的味道。你可能会说:“这道菜味道鲜美,口感浓郁,非常适合搭配米饭。”这里,你描述的菜肴就是中心单词,而你用来描述它的词汇(如“味道鲜美”、“口感浓郁”)就是上下文信息。Skip-Gram模型就像厨师一样,通过分析中心单词(菜肴的味道)来预测上下文信息(菜肴的描述)。
总结来说,CBOW和Skip-Gram模型都旨在学习单词的分布式表示,即词向量。它们的主要区别在于输入和输出单词的方式不同。CBOW通过预测中心单词的上下文单词来学习词汇之间的关系,而Skip-Gram通过预测上下文单词的中心单词来学习词汇之间的关系。

CBOW与Skip-Gram区别:
CBOW(Continuous Bag of Words):
● 原理:CBOW模型通过计算中心单词的上下文单词的加权平均来预测中心单词。它假设上下文单词能够提供关于中心单词的信息,从而学习单词之间的关系。
● 计算过程:CBOW首先将上下文单词的词向量输入到神经网络中,通过神经网络的计算,得到一个上下文向量,然后使用这个上下文向量来预测中心单词。
● 适用场景:CBOW适用于那些上下文信息比较丰富、中心单词比较难于预测的情况。
Skip-Gram:
● 原理:Skip-Gram模型通过计算上下文单词的加权平均来预测中心单词。它假设中心单词能够提供关于上下文单词的信息,从而学习单词之间的关系。
● 计算过程:Skip-Gram首先将中心单词的词向量输入到神经网络中,通过神经网络的计算,得到一个上下文向量,然后使用这个上下文向量来预测上下文单词。
● 适用场景:Skip-Gram适用于那些中心单词信息比较丰富、上下文单词比较难于预测的情况。

原理:
Word2Vec模型使用的是神经网络,但它与传统的全连接神经网络不同,它采用了一种特殊的结构,即CBOW(Continuous Bag of Words)和Skip-Gram。这两种结构都是为了解决单词的分布式表示而设计的,即学习单词的词向量表示。
CBOW(Continuous Bag of Words):
CBOW模型通过计算中心单词的上下文单词的加权平均来预测中心单词。具体计算过程如下:

  1. 输入层:将中心单词的上下文单词的词向量作为输入。
  2. 嵌入层:上下文单词的词向量被输入到嵌入层,其中每个单词都映射到一个固定维度的向量。
  3. 平均池化层:将嵌入层的输出向量(即上下文单词的词向量)进行平均池化,得到一个平均向量。
  4. 隐藏层:平均向量被输入到隐藏层,隐藏层包含多个神经元,可以学习到上下文单词和中心单词之间的关系。
  5. 输出层:隐藏层的输出被输入到输出层,输出层包含一个神经元,用于预测中心单词的概率。
    在训练过程中,网络会不断调整隐藏层和输出层之间的权重,以便更好地预测中心单词的概率。通过这种方式,CBOW模型可以学习到词汇之间的关系,并将每个词汇映射到一个固定大小的向量。
    Skip-Gram:
    Skip-Gram模型通过计算上下文单词的加权平均来预测中心单词。具体计算过程如下:
  6. 输入层:将上下文单词的词向量作为输入。
  7. 嵌入层:上下文单词的词向量被输入到嵌入层,其中每个单词都映射到一个固定维度的向量。
  8. 隐藏层:嵌入层的输出向量(即上下文单词的词向量)被输入到隐藏层,隐藏层包含多个神经元,可以学习到上下文单词和中心单词之间的关系。
  9. 输出层:隐藏层的输出被输入到输出层,输出层包含一个神经元,用于预测中心单词的概率。
    在训练过程中,网络会不断调整隐藏层和输出层之间的权重,以便更好地预测中心单词的概率。通过这种方式,Skip-Gram模型可以学习到词汇之间的关系,并将每个词汇映射到一个固定大小的向量。
    这两种结构都旨在学习单词的分布式表示,即词向量。它们的主要区别在于输入和输出单词的方式不同。CBOW通过预测中心单词的上下文单词来学习词汇之间的关系,而Skip-Gram通过预测上下文单词的中心单词来学习词汇之间的关系。

个人理解:
在Word2Vec的CBOW模型中,预测矩阵并不是初始化设定的一个值,而是通过神经网络的训练过程自动学习得到的。预测矩阵的大小取决于词向量的维度和词汇表的大小。
具体来说,在CBOW模型中,我们首先将窗口中词的one-hot编码与变换矩阵相乘,然后将这些乘积相加,得到一个上下文向量。这个上下文向量代表了窗口中词的组合信息。
接下来,我们将这个上下文向量与预测矩阵相乘,以预测目标词。预测矩阵是一个二维数组,其中包含了神经网络的参数。这个矩阵的大小取决于词向量的维度和词汇表的大小。例如,如果词向量维度为5,词汇表中有10个单词,那么预测矩阵的大小可能是5x10。
将上下文向量与预测矩阵相乘后,我们得到一个预测向量。这个预测向量是一个长度为词汇表大小的向量,其中每个元素表示预测模型认为该单词出现的概率。为了得到概率分布,我们需要对预测向量进行softmax归一化,使得所有概率值之和为1。
最后,我们选择概率最大的词作为预测结果。这个预测结果是基于神经网络的训练过程自动学习得到的预测矩阵,它能够捕捉单词的语义信息,并为各种NLP任务提供强大的工具。
因此,预测矩阵并不是通过one-hot编码与变换矩阵运算得到的值与预测矩阵相乘得到的概率值,而是通过神经网络的训练过程自动学习得到的。预测矩阵的作用是生成一个概率分布,其中每个单词的概率对应于预测矩阵中的一个元素。

整体理解:
CBOW模型:

  1. 选择窗口:从训练文本中选择一个窗口,窗口的大小决定了预测的上下文范围。
  2. one-hot编码:将窗口中的每个词转换为one-hot编码。
  3. 变换矩阵:有一个变换矩阵,它是一个二维数组,包含神经网络的参数。
  4. 乘法和加法:将one-hot编码的窗口词与变换矩阵相乘,然后将这些乘积相加,得到一个上下文向量。
  5. 预测矩阵:还有一个预测矩阵,它也是一个二维数组,包含神经网络的参数。
  6. 预测:将上下文向量与预测矩阵相乘,得到一个预测向量。这个预测向量是一个长度为词汇表大小的向量,其中每个元素表示预测模型认为该单词出现的概率。为了得到概率分布,我们需要对预测向量进行softmax归一化,使得所有概率值之和为1。最后,我们选择概率最大的词作为预测结果。
    Skip-Gram模型:
  7. 选择窗口:从训练文本中选择一个窗口,窗口的大小决定了预测的上下文范围。
  8. one-hot编码:将窗口中的每个词转换为one-hot编码。
  9. 变换矩阵:有一个变换矩阵,它是一个二维数组,包含神经网络的参数。
  10. 乘法和加法:将one-hot编码的窗口词与变换矩阵相乘,然后将这些乘积相加,得到一个上下文向量。
  11. 预测矩阵:还有一个预测矩阵,它也是一个二维数组,包含神经网络的参数。
  12. 预测:将上下文向量与预测矩阵相乘,得到一个预测向量。这个预测向量是一个长度为词汇表大小的向量,其中每个元素表示预测模型认为该单词出现的概率。为了得到概率分布,我们需要对预测向量进行softmax归一化,使得所有概率值之和为1。最后,我们选择概率最大的词作为预测结果。
    在CBOW模型中,我们使用上下文单词的one-hot编码与变换矩阵相乘,然后将这些乘积相加,得到一个上下文向量。这个上下文向量代表了窗口中词的组合信息。接下来,我们将这个上下文向量与预测矩阵相乘,以预测中心单词。
    在Skip-Gram模型中,我们使用中心单词的one-hot编码与变换矩阵相乘,然后将这些乘积相加,得到一个上下文向量。这个上下文向量代表了中心单词的信息。接下来,我们将这个上下文向量与预测矩阵相乘,以预测与中心单词相关的其他词。
    因此,在CBOW模型中,预测矩阵用于预测中心单词,而在Skip-Gram模型中,预测矩阵用于预测与中心单词相关的其他词
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai玩家hly

年少且带锋芒,擅行侠仗义之事

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值