美文网首页
知识累积

知识累积

作者: 竹生爱学习 | 来源:发表于2018-07-13 14:59 被阅读0次

    知识累积

    word2vec

    原理

    核心:将词变为向量,来源是网络中每个词的参数
    方法:hierarchic softmax,negative sample
    训练:逻辑回归+极大似然
    文本处理方式:CBOW多对一,Skip-gram一对多
    参考资料:
    比较详细的说明:
    https://www.cnblogs.com/peghoty/p/3857839.html
    我看这个看懂的:
    http://www.cnblogs.com/pinard/p/7243513.html

    源码阅读

    关于Word2vec的c源码,其中有一些细节,除了上面两篇,下面这个也有说明:

    文本词嵌入(Word Embeddings)的方法

    参见:https://www.analyticsvidhya.com/blog/2017/06/word-embeddings-count-word2veec/
    2.1 Frequency based Embedding
    2.1.1 Count Vectors
    2.1.2 TF-IDF
    2.1.3 Co-Occurrence Matrix
    关于这节将的不是特别清楚,参考另一篇文章,
    2.2 Prediction based Embedding
    2.2.1 CBOW
    2.2.2 Skip-Gram

    GloVe

    概览:作者想利用LSA中的全局矩阵信息和Word2Vec中的局部向量信息来得到每个word的向量表示v。作者首先假设得到了这个向量表示,然后通过开脑洞的方式想办法将这个向量中包含的规律与Ratio=\frac{P_{ij}}{P_{jk}}(共现概率比)保持一致来拼凑出函数表示。

    GloVe和其他方法的联系

    其他方法(Skip-gram)可以表示为一个softmax回归问题,对该公式进行修改后可以表示为P_{ij}和Q_{ij}的带权交叉熵,把交叉熵损失更换为均方损失就可以得到GloVe的优化公式

    共现矩阵权重计算方式

    对于窗口内的单词对,考虑利用两者的间隔距离来设置权重,如果两者相隔的距离远,那么共现次数就少于1,论文中按两个单词的间隔d来设置,若单词对中两个单词相隔d-1个单词,那么他们的权重计算为\frac1d

    NCE噪声对比估计

    fasttext

    概览:基于word2vec, 利用Word2vec原有的词袋特征,加上ngram特征,训练网络
    对句子的意思表示是通过所有的词向量的求和取平均。
    trick:
    利用hash减少n-gram的存储
    参考资料:

    1. 知乎
    2. 源码分析

    学习词向量的两个模型族

    主要是Matrix Factorization和Shallow Window-Based Methods。前者主要是LSA, pLSA, LDA系列,后者是Word2Vec系列

    LSA潜在语义分析

    基于global matrix factorization
    首先对文档统计次数,计算Count Vector或者TFIDF Vector创建单词m-文档n矩阵,然后利用SVD,然后降维
    Am×n=Um×mΣm×nVTn×n≈Um×kΣk×kVTk×n
    Uil 是第i个文本与第l个主题的相关度,Vjm 是第j个单词和第m个主题的相关度,Σlm 是第l个主题和第m个主题的相关度。
    LSA优势:
    首先文章和单词都映射到同一个语义空间。在该空间内即能对文章进行聚类也能对单词进行聚类。重要的是我们能通过这些聚类结果实现基于单词的文献检索,反之亦然。
    语义空间的维度明显明显少于源单词-文章矩阵。更重要的是这样经过特定方式组合而成维度包含源矩阵的大量信息,同时降低了噪声的影响。这些特性有助于后续其他算法的加工处理。
    最后,LSA 是一个全局最优化算法,其目标是寻找全局最优解而非局部最优解,因此它能求出基于局部求解算法得不到的全局信息。有时LSA会结合一些局部算法,如最近领域法,使得LSA性能得到进一步提升
    LSA缺陷:
    首先LSA是假设服从高斯分布和2范数规范化的,因此它并非适合于所有场景。例如,单词在语料库中服从的是Poisson 分布而不是高斯分布
    LSA不能有效处理一词多义问题。因为LSA的基本假设之一是单词只有一个词义
    LSA的核心是SVD,而SVD的计算复杂度十分高并且难以更新新出现的文献。不过最近已经出现一些有效的方法用于解决SVD的基于文献更新问题。

    LSA的升级版PLSA

    Probability Latent Semantic Analysis, 基于LSA定义了概率模型

    LDA

    LSA可以寻找文本的主题分布,可以产生文本对应的向量。在主题分布的范围内,也有LDA的方法:
    LDA是一种文档生成模型,给定k个主题,

    local context window局部窗口

    skip-gram和CBOW

    encoder-decoder seq2sekeyword

    q模型

    attention

    xgboost&lightGBM

    两者分布式的实现,相互有什么区别
    第二篇文章,其中对分布式的实现做了综述

    分布式通信模型的区别

    主流的分布式通信模型有四个:

    • MapReduce
    • AllReduce
    • Parameter Server
    • Reduce-Scatter

    原理待学习

    xgboost分布式

    xgboost的分布式实现在陈天奇的一篇文章中说初版的XGBoost分布式实现是Allreduce

    相关阅读

    1. XGBoost 与 Spark 在广告排序中的应用
    2. 知乎 - 如何看待腾讯开源的Angel

    lightGBM分布式

    HMM - 生成模型

    CRF - 判别模型

    推荐相关 FM FFM

    比赛总结 - 腾讯广告大赛

    检索算法BM25

    对文本语义理解的办法

    对字、词、短语、句子、段落、文章的理解难度依次递增,对语义理解方向,有Extraction和Abstractive两种方法。Extraction是抽取式的,基于对单词短语的重要性排序而来,可以通过TFIDF、Word2Vec来展现。排序算法有Textrank、TextTeaser

    为什么神经网络需要初始化权重

    1. 不能全为0,因为梯度更新依赖权重的值,如果权重为0,会导致所有的bp误差为0,无法更新
    2. 不能初始化为相同值,因为前向后所有的节点值一样,bp时所有的误差都一样,导致所有的权重变化都一样,导致节点没有差异性
    3. 初始化差异不能过大,否则在某些节点误差更新过大,某些节点误差更新过小,累积下来会导致梯度问题(弥散或者爆炸)
    4. 每一层输出的方差尽量相等,xavier(随机均匀分布)可以保证此条件
    5. 随机高斯分布

    ROC曲线的物理意义以及计算方法

    1. AUC的含义是任选一个正样本和负样本,正样本预测值大于负样本预测值的概率
    2. 计算方法,先对所有样本预测值排序,由原点开始,有正样本沿y方向走,有负样本沿x方向走,画出一条锯齿形的曲线

    随机森林的采样极限

    假设数据量为m,分别为X_1,X_2,X_3,...,X_m,有放回的均匀采样,每次拿一个出来,每次取不到A的概率是1-\frac1m,经过n次抽样后,每次都取不到A的概率为(1-\frac1m)^n,当m,n都趋于无穷时,公式趋于\frac1e,结果为36.8%,这部分没有被采样到的数据,我们称之为袋外数据

    相关文章

      网友评论

          本文标题:知识累积

          本文链接:https://www.haomeiwen.com/subject/znojpftx.html