问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Word2vec算法原理详解:从one-hot到词向量

创作时间:
2025-03-11 14:56:56
作者:
@小白创作中心

Word2vec算法原理详解:从one-hot到词向量

引用
CSDN
1.
https://m.blog.csdn.net/weixin_38232619/article/details/138038474

Word2vec是一种将单词转换为向量形式的工具,通过将文本处理简化为向量空间中的运算,可以计算出词向量间的相似度,从而表示文本语义上的相似度。本文将详细介绍Word2vec算法的原理,特别是CBOW模型的结构和实现细节。

一、背景知识:one-hot向量

独热向量(one-hot vector)是指使用N位0或1来对N个状态进行编码,每个状态都有它独立的表示形式,并且其中只有一位为1,其他位都为0。

例如,编码单词"apple"、"bag"、"cat"、"dog"、"elephant",可以使用5位向量:

apple [1 0 0 0 0]
bag [0 1 0 0 0]
cat [0 0 1 0 0]
dog [0 0 0 1 0]
elephant [0 0 0 0 1]

使用独热向量虽然能够很好地对各种内容进行编码,但存在以下问题:

  1. 没有考虑编码内容之间的关联性
  2. 特征矩阵非常稀疏,占用空间大

二、Word2vec的核心思想

Word2vec的核心思想是:上下文语境相似的词,其语义也相似。它采用n元语法模型(n-gram model),假设一个词只与周围n个词有关,而与文本中的其他词无关。通过将这n个词映射到K维向量空间,可以为文本数据寻求更深层次的特征表示。

三、CBOW模型结构

CBOW模型分为三层:输入层、隐藏层和输出层。其主要特点如下:

  1. 输入层到隐藏层的映射:采用简单的对所有输入词向量求和并取平均的方法。例如,输入三个4维词向量(1,2,3,4)、(9,6,11,8)、(5,10,7,12),映射后的词向量为(5,6,7,8)。

  2. 隐藏层到输出层的改进:为了避免计算所有词的softmax概率,Word2vec使用霍夫曼树(Huffman Tree)来优化计算。

霍夫曼树的构造方法

霍夫曼树是一种带权路径最短的二叉树,构造方法如下:

  1. 先用权重最小的两个作为最底层叶子结点
  2. 然后权重次小的,以此类推
  3. 保证权重越大的越早被遍历到,节省时间和空间
  4. 遍历叶子结点的路径可以用哈夫曼编码表示,例如左节点是0,右节点是1

使用霍夫曼树的好处:

  1. 计算量从V减少到log2V
  2. 高频词靠近树根,减少查找时间

四、算法核心:最大化预测词的哈夫曼编码概率

以简单的文档{I drink coffee everyday}为例,选"coffee"作为中心词,根据单词"I"、"drink"和"everyday"来预测单词。将这三个单词的one-hot向量作为输入层的输入。

输入层到隐藏层的计算

  1. 将输入向量x与初始权重w相乘:w*x=v
  2. 将向量v求和并平均得到隐藏层的输出向量c

隐藏层到输出层的计算

使用逻辑回归二分类算法判断走左子树还是右子树的概率。逻辑回归的sigmoid函数及其导数如下:

输出层的哈夫曼树可以表示为:

假设目标词是"足球",其哈夫曼编码是1001。这里我们指定负例是1,正例是0,那么可以得到如下结果:

目标词的概率可以写成如下似然函数p:

通过求偏导数得到参数c的更新公式,同样可以得到x的更新公式。

五、负采样优化

负采样是一种提升训练速度的方法,其核心思想是不直接让模型从整个词表中找最可能的词,而是给定这个词(正例)和几个随机采样的噪声词(负例),只要模型能从这里面找出正确的词就认为完成目标。

常用的负采样策略包括均匀负采样和按词频率采样。比较常用的是基于一元分布模型的3/4次幂采样方法,该方法中一个词被采样的概率取决于其在语料中的词频,满足一元分布模型。

例如,对于三个词"我"、"和平"、"觊觎",其权重分别为0.9、0.01、0.003,经过3/4幂后:

  • "我": 0.9^3/4 = 0.92
  • "和平": 0.01^3/4 = 0.03
  • "觊觎": 0.003^3/4 = 0.012

通过这种方式,适当提升了低频词、罕见词被抽到的概率。

最终的优化目标是最大化g函数:

通过求偏导数得到更新的步长。

总结

本文详细介绍了Word2vec算法的原理,特别是CBOW模型的结构和实现细节。从one-hot向量的局限性引入,逐步讲解了Word2vec的核心思想、CBOW模型的三层结构、霍夫曼树的应用、逻辑回归在预测中的作用,以及负采样的优化方法。这些内容对于理解和应用Word2vec算法具有重要参考价值。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号