Week1-GloVe概念
🌐 GloVe 词向量算法笔记
一、什么是 GloVe?
GloVe(Global Vectors for Word Representation)是斯坦福大学于 2014 年提出的一种用于学习词向量的算法,旨在结合:
- LSA 的全局共现统计
- Word2Vec 的预测式学习方法
它通过构建词对共现矩阵并对其进行建模,学习出语义相关的词向量表示。
二、GloVe 的核心思想
“词语之间的语义关系可以通过它们在大语料中共现的统计信息建模。”
GloVe 使用词对的共现频率来学习词向量,通过最小化以下目标函数来拟合共现概率的对数。
损失函数形式:
\[f(x) =
\begin{cases}
(x / x_{\text{max}})^\alpha & \text{if } x < x_{\text{max}} \\
1 & \text{otherwise}
\end{cases}
\]
- \( X_{ij} \):词 \( i \) 与词 \( j \) 的共现频率
- \( w_i, \tilde{w}_j \):词向量和上下文向量
- \( b_i, \tilde{b}_j \):偏置项
- \( f(x) \):权重函数(抑制高频词的影响)
常用的权重函数为:
\[f(x) =
\begin{cases}
(x / x_{\text{max}})^\alpha & \text{if } x < x_{\text{max}} \\
1 & \text{otherwise}
\end{cases}
\]
一般设定:\( \alpha = 0.75 \)
三、GloVe 的训练过程
- 构建词-词共现矩阵 \( X \)
- 计算 \(\log X_{ij}\),作为模型拟合目标
- 最小化损失函数,通过梯度下降更新词向量
- 组合最终词向量: \( w_i + \tilde{w}_i \)
四、GloVe 融合了 LSA 和 Word2Vec 的哪些思想?
| 维度 | LSA | Word2Vec | GloVe |
|---|---|---|---|
| 基础 | SVD 分解共现矩阵 | 局部上下文预测 | 模拟对数共现概率 |
| 信息来源 | 全局共现统计 | 局部窗口上下文 | 全局共现统计 |
| 模型形式 | 显式矩阵分解 | 神经网络预测 | 显式优化目标函数 |
| 优化方法 | 奇异值分解 | 最大化预测概率 | 最小化平方损失 |
| 是否学习词向量 | ✅ | ✅ | ✅ |
五、GloVe vs Word2Vec 对比总结
| 维度 | GloVe | Word2Vec |
|---|---|---|
| 模型类型 | 显式建模,共现矩阵分解 | 神经网络,预测式模型 |
| 信息利用 | 全局统计信息 | 局部上下文窗口 |
| 优化目标 | 拟合对数共现概率 | 最大化上下文预测概率 |
| 可扩展性 | 对共现矩阵依赖大,内存消耗高 | 在线训练,适合大规模语料 |
| 性能 | 语义关系表现好,稳定 | 快速,适配大语料,易捕捉复杂关系 |
六、一句话总结
GloVe 是一种结合了 LSA 的全局统计思想和 Word2Vec 的预测建模能力的词向量算法。
它用简单的线性模型在全局共现统计的基础上学习词向量,在捕捉语义关系、稳定性与解释性上表现出色。

浙公网安备 33010602011771号