机器学习工程师--隐马尔科夫链应用和主题模型

一:贝叶斯网络

经典贝叶斯公式的理解:

  • P(A|B)=P(A,B)/P(B) 在B的条件下,A发生的概率等于,AB的联合概率除以B的先验概率。
  • P(B|A)=P(B,A)/P(A) 在A的条件下,B发生的概率等于,AB的联合概率除以A的先验概率。
  • 有 P(A,B) = P(B,A) 联合概率相等,就是A,B两个圆的交集。
  • 那么,P(A|B) = P(B|A) * P(A)/P(B) 这样,就能交换条件概率的条件了。通常发生在B条件不好求,但是A好求的情况下。

朴素贝叶斯:

  • 一个 x = {a1,a2,a3...am}为一个待分类的项,a是x的属性。那么,我就想通过x的这些属性,把x分一个类。
  • 类别这里有~~~ y={y1,y2...yn} 好了,问题转变成了 当x有这些属性时,x应该是哪一类。
  • 问题又变成了,在x有这些属性的条件下,属于某一类的概率是多少。P(y1|x),P(y2|x)...P(yn|x) 有n个类别,不确定哪个类别是x的类别,所以每个类别都要求一次。
  • 找到概率最大的maxP(yk|x)这个就是x的类别。

贝叶斯网络:

网络是一个DAG,有向无环图。

机器学习工程师--隐马尔科夫链应用和主题模型_第1张图片

  • 有向,就是有方向的意思。上图可以看到,a,b,c代表随机变量x,a和b,a和c,b和c在图上都有因果关系,就用箭头表明,由a推出b,这个箭头就有一个条件概率,在a的条件下生成b的概率








词性标注

词性标注应用:给一个句子标注词性。为什么:预处理句子,使得划分句子简单。猜词简单。

马尔科夫链在句子词性中的作用:对于英文句子而言,遵循一定的语法。比如,副词后面接形容词或者副词或者动词,那么,对于这个句子来说,副词i后面接的是adj或者v的概率是不同的,如果后面是adj,那adj后面是名词还是and或者or的概率也是不同的,那么,每个词前后之间形成的关系形成了一个马尔科夫链,这个马尔科夫链是通过词性连接的;对于一个我们能够看到的句子而言,比如 this is a dog.this是代词,is 是动词,is后面可以接名词或者形容词或者副词,这is和后面接的词之间内部的关系我们是看不到的,我们只知道后面是a dog,名词。说明接名词的概率比adj的概率大。这样,在这个我们可以看到的句子之后,就有一个隐藏的隐马尔科夫链在后面,代表这个句子每个单词词性出现的概率,那么,word代表我们看到的单词,tag代表词性,不难得出下面的贝叶斯方程。


那么,我们想通过每一个单词推出他们的词性,很难,转化为通过tag推出单词的条件概率就容易很多。


主题模型

LDA:无监督贝叶斯模型

对文档的主题进行分类,按照概率的方式;不需要预先标注好的训练集,只需要文档集合分类的数量k;对于每一个主题可以找出一些词进行描述,那这些单词就是特征;是一种典型的词袋模型。
举个例子:100个文档,我想分成k=10个主题,并且不知道这10个主题是什么。但是可以通过概率得到,比如主题1中很多足球的单词,说明这些文档体育出现的概率高,就和体育相关。

如何用

你可能感兴趣的:(机器学习工程师--隐马尔科夫链应用和主题模型)