机器学习备忘录_20200627

有时候,看一些机器学习相关的概念,可能是当时懂的不是很深刻,过了一段时间就又忘了,因此在这里,将所遇到的知识,在这里一点点记录,仅作为备忘录。

 

1.negative sampling

往往在word2vec中运用到,在用softmax计算分母的时候,由于语料太大(1-hot),全遍历一遍计算效率不高,很难简单用sotfmax之后的大向量表示各个word的概率。因此,采用了对语料按一定分布进行采样计算loss。具体见here

 

2.Binomial cross-entropy & multinomial cross-entropy

 

 

3.LDA(Topic model)

参考 
1 http://blog.csdn.net/aws3217150/article/details/53840029 
2 https://algobeans.com/2015/06/21/laymans-explanation-of-topic-modeling-with-lda-2/ 
3 强烈推荐看一下《LDA数学八卦》 
4 https://www.quora.com/Why-does-LDA-work


  1.输入是一个D*V 的doc-word 矩阵D表示有D个文档,V表示所有单词(bag of word),以及topic个数K
  
  2.输出是D*K 和 K*V的矩阵,分别表示每个文档属于每个topic的概率(即文档的多项式分布)和每个topic中每个单词出现的概率(即主题的多项式分布)
  
  3.大体流程是, 
  1)初始化:先用两个Dirichlet分布中初始化2中的两个分布(Dirichlet分布和多项式分布是共轭分布),然后对于每一个文档的每一个单词根据分布,采样一个主题,同时更新当前文档的主题数以及这个主题的单词数(用于衡量新的Dirichlet分布)
  
  2)Gibbs采样 :对于每个文档的每个单词,依据除了当前单词以外,所有文档中相同单词的主题概率以及当前文档主题分布的概率(p(topic/doc)*p(word/topic) 表示的是当前词选择每个topic的概率,通过公式推导得到这个计算方式),来采样这个单词主题。 
  同时更新当前文档的主题数以及这个主题的单词数。
  
  3)多次迭代2)直至收敛,这样通过更新的更新的文档的主题数以及这个主题的单词数就可以得到两个分布,即D*K 和 K*V矩阵。
  
  >4.为什么通过Gibbs采样,会得到一个收敛的分布? 
  我们知道LDA最终的目的是为了学得p(doc,topic)的一种分布。更准确的来说是p(topic | doc)
  
  根据MCMC的收敛定理,给定一个状态转移矩阵Q,从任何一个初始状态pi (即LDA中的各个topic中每个单词分布的概率)开始,根据转移矩阵,经过N次迭代,会最终收敛到最后的状态,即LDA中的各个topic中每个单词分布的概率最终会收敛,也就是得到了这样一种分布。而这个状态转移矩阵Q,是有GIbbs的固定其他变量,只考虑一个变量给出的
  
  5.LDA 为什么可以work?  
  a)主要原因是因为Dirichlet分布会导致一个稀疏分布,即每篇文档的topic主要集中在几个topic,每个topic的代表词也主要集中在几个词中(这也是比较符合直觉的)。  
  b)由于这两个分布是相互矛盾的,比如一篇文档只有一个topic,那么对应着这篇文档的所有词都是这个topic下的,这点与每个topic希望由极少部分词代表矛盾,反之亦然。LDA能够 平衡这两个稀疏分布之间的balance,因为统一在了一个模型之下。
  
  In summary, LDA works well because it expresses competing sparsity between the topic distribution of documents and the word distribution of topics.
  
  6.LDA训练的关键点(优缺点) 
  a),文本要长,要长。不长要想办法拼凑变长 (不适合短文本) 
  b),语料要好,多下功夫去掉无用词 
  c),规模要大。两层意思,一是文档数大,二是主题数多 
  d)可以加监督信息和并行化来优化LDA

 


4.为什么 LR 模型要使用 sigmoid 函数


  1.最大熵 
  2.exponential family 
  3.[0,1]概率 
  4.单调上升 
  5.任意阶可导的凸函数 
  详见https://www.zhihu.com/question/35322351

 


5.EM


  1.EM算法是通过不断求解下界的极大化来逼近求解对数似然函数极大化的算法
  
  2.EM的收敛有两重意思:a)对数似然函数收敛 b)参数估计序列收敛
  
  3.EM只能保证参数估计序列收敛到对数似然函数序列的稳定点,不能保证收敛到极大值,因此初值的选择十分重要,在应用中,一般多选几个初值去估计,从中选取最好的

 


6.Approximation and Estimation Error

 

 

7.L1, L2 norm

L2本质就是先当于对于w加了一个均值为0,方差为αα 高斯分布的先验 
L1本质就是先当于对于w加了一个拉普拉斯分布的先验 
具体见https://www.zhihu.com/question/23536142/answer/146240442

 

8.共轭分布


  1.In Bayesian probability theory, if the posterior distributions p(θ|x) are in the same family as the prior probability distribution p(θ), the prior and posterior are then called conjugate distributions, and the prior is called a conjugate prior for the likelihood function.
  
  2.伯努利分布的共轭先验分布是beta分布 
  3.二项分布的共轭先验分布是beta分布 
  4.多项式分布的共轭先验分布是狄利克雷分布
  
  5.类比于MLE乘以一个先验分布就是MAP


 
详见:https://en.wikipedia.org/wiki/Conjugate_prior
————————————————
版权声明:本文为CSDN博主「BVL10101111」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/BVL10101111/java/article/details/78488581

你可能感兴趣的:(备用资源,机器学习,算法,python)