知识累积

知识累积

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。作者首先假设得到了这个向量表示,然后通过开脑洞的方式想办法将这个向量中包含的规律与 R a t i o = P i j P j k Ratio=\frac{P_{ij}}{P_{jk}} Ratio=PjkPij(共现概率比)保持一致来拼凑出函数表示。

GloVe和其他方法的联系

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

共现矩阵权重计算方式

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

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 X_1,X_2,X_3,...,X_m X1,X2,X3,...,Xm,有放回的均匀采样,每次拿一个出来,每次取不到A的概率是 1 − 1 m 1-\frac1m 1m1,经过n次抽样后,每次都取不到A的概率为 ( 1 − 1 m ) n (1-\frac1m)^n (1m1)n,当m,n都趋于无穷时,公式趋于 1 e \frac1e e1,结果为36.8%,这部分没有被采样到的数据,我们称之为袋外数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值