zoukankan      html  css  js  c++  java
  • [DeeplearningAI笔记]序列模型2.8 GloVe词向量

    5.2自然语言处理

    觉得有用的话,欢迎一起讨论相互学习~

    我的微博我的github我的B站

    吴恩达老师课程原地址

    2.8 GloVe word vectors GloVe词向量

    Pennington J, Socher R, Manning C. Glove: Global Vectors for Word Representation[C]// Conference on Empirical Methods in Natural Language Processing. 2014:1532-1543.

    • 示例 I want a glass of orange juice to go along with my cereal

    • 定义 (X_{ij}) 表示单词i在单词j上下文中出现的次数。其中i相当于Context,而j相当于Target.

      • 当定义目标单词出现在上下文单词的左或右十个单词数时,此时i和j是一种对称的关系。即有(X_{ij}=X_{ji})
      • 因此根据此定义,得知(X_{ij})就是一个能够获取单词i和单词j出现位置相近时或彼此接近是的频率的计数器
    • 目的 Glove算法的目的就是优化

      • 此式中( heta^{T}_{i}e_{j})负采样中的式子( heta_{t}^{T}e_c)意义相同
      • 为了解决(X_{ij})可能为0的问题(因为(log0))的值为负无穷,引进了(f(X_{ij}))使得当(X_{ij}=0时,f(X_{ij})=0),并且会使用规定(0log0=0).
      • 并且 ,引入的(f(X_{ij}))可以解决有些词语例如 this, is, of, a... 等词语出现频率过高而有些名词出现频率过低导致的不平衡问题--即(f(X_{ij}))相当于一个加权因子,对于不常用的词汇也能给予大量有意义的运算,而对于出现频率过高的词汇更大而不至于过分的权重。 对于此函数的具体细节,参考标题下的参考论文。
      • Note ( heta和e)现在是完全对称的,因此一种训练参数的方法是 一致的初始化( heta)和e 然后使用梯度下降来最小化输出,当每个词都处理完了之后取平均值。(e_w^{final}=frac{e_{w}+ heta_{w}}{2})

    词嵌入向量解释

    • 因为即使每行表示单词向量独特的特征,但是对于学习到的 词嵌入矩阵 其每行表示的意义不一定是 正交的 ,而是多行特征的线性表征。例如定义的第一行表示Gender,第二行表示Royal,第三行表示Age,第四行表示Food,但是实际学到的是这些特征的 使用平行四边形方法得到的线性表出 所以单独理解学到的 词嵌入矩阵 是十分困难的。
  • 相关阅读:
    聊聊Flame Graph(火焰图)的那些事
    Dynamometer:HDFS性能扩展测试工具
    论分布式系统中单一锁控制的优化
    聊聊磁盘数据的损坏
    分级副本存储:一种更具效益成本的数据容错策略
    分布式存储系统中的Data Scrubbing机理
    论一个成熟分布式系统的工具类设计
    聊聊Raft一致性协议以及Apache Ratis
    ListenableFuture的状态同步和原子更新
    2018-9-1-win10-uwp-轻量级-MVVM-框架入门-2.1.5.3199
  • 原文地址:https://www.cnblogs.com/cloud-ken/p/9556975.html
Copyright © 2011-2022 走看看