高大上的机器学习算法白话

基本模型

词袋模型

词袋模型(Bag of Words,简称BoW)。

这种文本表示的方法,称之为词袋标识符。

词袋模型假设我们不考虑文本中词与词之间的上下文关系,仅仅只考虑
所有词的权重。而权重与词在文本中出现的频率有关。

从词的角度进行文本数据挖掘是众多挖掘方式中的一种。

词袋模型的步骤:
    分词(tokenizing):
        
    
    统计修订词特征值(counting):

        统计每个词在文本中出现的次数,我们就可以得到该文本基
        于词的特征,如果将各个文本样本的这些词与对应的词频放
        在一起,就是我们常说的向量化。
        
        向量化完毕后一般也会使用TF-IDF进行特征的权重修正,
        因为,如果语料是有很多篇文本组成,那么一个词在一篇文
        本中出现的次数往往不够科学,要把所有文本一起考虑。
        
    标准化(normalizing):

        将特征进行标准化,以便于挖掘。

词袋模型算法有哪些

    Tfidf词频逆文档频率
    
    LDA隐含狄利克雷分布 :从词语层面看,主题是一种词汇分布,并不涉及到词与词的顺序关系,也属于BOW(bag of words)
                        的一种。
                        
    VSM向量空间模型: 单词向量空间模型
    
    LSA潜在语义分析(Laten Semantic Analysis):话题向量空间模型,通过矩阵分解(SVD或者NMF),来发现文本与单
                                                词之间的基于话题的语义关系。
    
    PLSA:
    

TextRank 算法

也属于一种词袋模型。

与pageRank算法

 TextRank与pageRank算法一致,pageRank是网页之间的关系,
 TextRank换成了词语之间的关系。
 
 pageRank用来计算每个页面的PR值,也叫rank值或页面排名值。
 搜索结果的权重根据rank值决定。
 
 pageRank的思想是,每个页面的rank值是由指向他的页面的rank值所决定。
 
 
 pageRank也称为随机游走算法,属于一种图算法。
 
 比如有页面A,只有页面B和C指向A,B页面只指向A,C页面同时仅指向A和D,那么PR(A)=PR(B)+P(C)/2。
 其它页面也按照这种方式计算。
 如果有N个页面,就会有N个上例的计算等式。
 
 公式:
    PR(A) = “所有指向A页面集合{T0,T1....,Ti}的PR值PR(Ti)除于Ti的出度数量,然后求和”。
    
  
 求解:
    变换成矩阵求解,把PR看成系数,使用迭代求解,求出每个页面的PR值,就可以得到每个页面的rank值。 

概念

滑动窗口:

  通俗的讲,一篇文档在某个词语位置左右截取固定词语长度的一
  段,这一段就是滑动窗口的一个实例。
  
  所有词语以此截取,每个位置词语都有自己的窗口,因此称之为滑
  动窗口。
  
共现关系 co-occurrence :
    一般我们认为,在一篇文章中近邻出现的两个词语之间,一定
    具有某种关联。
    
    我们可以先做分词,将文档中的词语抽取出来,然后
    统计某两个词语同时出现的出现次数,并把结果存在一个二维矩
    阵之中。
    
 与pageRank区别:
    TextRank相比pageRank边是无向的,因为词语相邻即可,不考虑指向,而pageRank中的网页则不同。
    
    TextRank公式相比PageRank公式,每一个求和项中增加了两个词关系的权重。这个权重就是共现次数?

执行过程

通过词之间的相邻关系构建网络,然后用PageRank迭代计算每个节点
的rank值,排序rank值即可得到每个词语的权重。

tf-idf VS textrank

相同:
    TextRank与TFIDF均严重依赖于分词结果。
    归属于词袋模型。
    
不同:
    TextRank有图构建的过程,效率相比更低。
    TextRank的范围是一篇文章,而Tf-id范围是所有文章。

概率图模型

基本术语和问题设定


机器学习领域内很多常见问题都涉及到对彼此相互独立的孤立数据点进行分类。比如:预测给定图像中是否包含汽车或狗,或预测图像中的手写字符是 0 到 9 中的哪一个。

事实证明,很多问题都不在上述范围内。比如说,给定一个句子“I like machine learning”,然后标注每个词的词性(名词、代词、动词、形容词等)。正如这个简单例子所表现出的那样:我们不能通过单独处理每个词来解决这个任务——“learning”根据上下文的情况既可以是名词,也可以是动词。这个任务对很多关于文本的更为复杂的任务非常重要,比如从一种语言到另一种语言的翻译、文本转语音等。

概率图模型(PGM/probabilistic graphical model)是一种用于学习这些带有依赖(dependency)的模型的强大框架。

概率图模型(或简称图模型)在形式上是由图结构组成的。图的每个节点(node)都关联了一个随机变量,而图的边(edge)则被用于编码这些随机变量之间的关系。根据图是有向的还是无向的,我们可以将图的模式分为两大类——贝叶斯网络( Bayesian network)和马尔可夫网络(Markov networks)。

贝叶斯网络

贝叶斯网络是和联合概率分布是等价的。同时贝叶斯网络的计算效率提高不少。

马尔可夫网络

条件随机场

LDA 隐含狄利克雷分布


LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,
包含词、主题和文档三层结构。
所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择
某个词语”这样一个过程得到。

文档到主题服从多项式分布,主题到词服从多项式分布。

属于一种文本浅层语义分析主题模型。

LDA是怎么看待词汇文章和主题?

LDA通过词汇的概率分布来反映主题。

一个词的出现不一定会反应某篇文章一定就是某个主题,而是在某称程
度上反应了某个主题的可能性。其实就是从概率角度来看待词语
和主题的相关度。LDA把词汇的概率分布汇总成一个主题结论。
具体是这样的,体育主题表示为:
    {科比:0.3,篮球:0.3,足球:0.3,奥巴马:0.03,希拉
    里:0.03,克林顿:0.04}

每个文档都会对应一个主题分布。

LDA认为,文章和主题之间并不一定是一一对应的,也就是说,文章可
以有多个主题,一个主题也可以在多篇文章之中。

数学知识

Gamma函数,二项分布,Gamma分布,Beta/Dirichlet分布/共轭,
随机模拟,马氏链以及平稳分布,MCMC(Markov Chain Monte Carlo) ⁄Gibbs Sampling。

这些数据知识对于一般工程人员比较难以理解,建议专门抽时间进行系统学习并且各个击破。
不建议贸然进入,否则很容易挫败。

参考
一文读懂机器学习概率图模型
条件概率分布与机器学习

PageRank算法原理与实现
浅入浅出:PageRank算法
(九)通俗易懂理解——TF-IDF与TextRank (pageRank vs TextRank)
LDA(Latent Dirichlet Allocation)主题模型
LDA数学八卦

你可能感兴趣的:(算法,机器学习)