Glove算法是一种基于全局词频统计的回归算法。它不是基于神经网络的,而是基于最小二乘原理的回归方法。
它的算法的核心就是损失函数:
对于Glove 算法的理解
通过这个函数可以计算出词向量。推导的过程不是严格基于数学的。我尝试反向推导一下,看看能否让大家更容易理解。正规的推导除了看原文之外,可以参考NLP学习(1)—Glove模型—词向量模型

上面的损失函数是基于i,j统计的,因此可以得出Glove的算法复杂度是N*N。
f(xij)是一个权重函数,其目的是防止某些取值过大,而某些取值又过小。词函数的定义如下:
对于Glove 算法的理解
第二部分,就是大家很熟悉的最小二乘法公式:
对于Glove 算法的理解
log(Xij)是单词j在单词i的上下文中出现的次数,是个确定值。
而前面的部分bi,bj是偏置项,相当于起调节作用的,可以通过误差反传算法调节。
最重要的就是ViTVj,这就是我们要求解的词向量。而Vi和Vj可以通过误差反传计算。最后得到的就是词向量。
在Mittens的实现中,梯度带求导就是使用的这4个变量。

相关文章:

  • 2021-07-12
  • 2021-05-22
  • 2021-11-21
  • 2022-12-23
  • 2021-12-22
  • 2021-10-09
  • 2021-10-31
  • 2021-04-19
猜你喜欢
  • 2021-06-03
  • 2021-09-15
  • 2021-09-10
  • 2022-12-23
  • 2022-02-15
  • 2021-05-07
  • 2021-12-09
相关资源
相似解决方案