知识累积

2018-07-13  本文已影响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

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

分布式通信模型的区别

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

原理待学习

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%,这部分没有被采样到的数据,我们称之为袋外数据

上一篇 下一篇

猜你喜欢

热点阅读