GloVe模型公式推导
时间: 2024-03-20 16:37:30 浏览: 93
GloVe(Global Vectors for Word Representation)是一种用于生成词向量的模型,它结合了全局语义信息和局部上下文信息。下面是GloVe模型的公式推导:
假设我们有一个词汇表大小为V的语料库,其中每个词都有一个对应的词向量表示。我们定义两个词i和j之间的共现概率为X_ij,表示在给定的上下文窗口内,词i和词j同时出现的概率。
GloVe模型的目标是通过最小化以下损失函数来学习词向量:
J = ∑∑ f(X_ij) * (w_i^T * w_j + b_i + b_j - log(X_ij))^2
其中,w_i和w_j分别表示词i和词j的词向量,b_i和b_j分别表示词i和词j的偏置项。f(X_ij)是一个权重函数,用于平衡不同共现概率的重要性。
为了推导出GloVe模型的公式,我们首先对损失函数进行简化。我们使用一个共现矩阵X来存储所有词对之间的共现概率。然后,我们引入两个词向量的差异向量:
diff = w_i - w_j
接下来,我们对损失函数进行求导,并使用随机梯度下降法来更新词向量。最终,我们得到了GloVe模型的公式:
w_i = w_i - η * (∑∑ f(X_ij) * (w_i^T * w_j + b_i + b_j - log(X_ij)) * diff)
w_j = w_j - η * (∑∑ f(X_ij) * (w_i^T * w_j + b_i + b_j - log(X_ij)) * (-diff))
b_i = b_i - η * (∑∑ f(X_ij) * (w_i^T * w_j + b_i + b_j - log(X_ij)))
b_j = b_j - η * (∑∑ f(X_ij) * (w_i^T * w_j + b_i + b_j - log(X_ij)))
其中,η是学习率,用于控制参数更新的步长。
阅读全文