aihot  2020-11-12 11:20:41  OpenCV |   查看评论   

  横向是由点到线(序列结构)、到面(图结构)。纵向是在一定条件下生成模型转变为判别式模型。

  在《浅谈机器学习基础》中,我们也讲过了朴素贝叶斯算法和逻辑回归算法,了解了朴素贝叶斯算法是生成模型,而逻辑回归算法是判别模型。

  朴素贝叶斯算法是先在不同类别的训练语料上构造一元文法模型,也即得到了计算联合概率分布所需的先验概率,然后依照贝叶斯公式通过联合概率分布计算测试语句在不同文法模型下的生成概率,选取生成概率最高的那个文法模型所对应的类别。

  而逻辑回归算法是用的最大似然估计,先利用默认的参数和模型表示出训练集每个样本的生成概率,依次相乘得到整个训练集的生成概率,然后对模型参数进行优化,使得整个训练集的总生成概率最大化,当需要对测试样本进行分类时,不需要计算联合概率分布,直接代入训练好参数的模型即可。

  这里再深入说一下生成模型与判别模型,生成模型与判别模型的本质区别在于模型中观测序列x和状态序列y之间的决定关系,前者假设y决定x,后者假设x决定y。我们通常说的模型输入序列就是x,而输出序列是y

  生成模型认为,输出序列y按照一定的规律生成输入序列x,也即认为同一分类结果对应的输入具有一定规律,针对联合概率分布p(x,y)进行建模,并且通过估计使生成概率最大的生成序列来获取y,也即找出什么样的输出序列y最有可能生成输入序列x,这种情况下,y就是输入x后的输出,通过贝叶斯公式计算出来的p(y|x)可以这么理解,我们已经得到了输入序列x,这个输入序列是由怎样的输出序列y生成的呢?我们选取生成概率最大的生成序列y作为输入序列x的输出结果。典型的生成模型有:n元语法模型、HMM、朴素的贝叶斯分类器、概率上下文无关文法。

  判别模型则符合传统的模型分类思想,认为输出序列y由输入序列x决定,直接对后验概率p(y|x)进行建模,它从x中提取特征,学习模型参数,使得条件概率符合一定形式的最优,也即判别模型知道输入序列x应该对应输出序列y1而不是y2。代表性的判别模型有:最大熵模型、条件随机场、支持向量机、最大熵马尔可夫模型、感知机等。

  举一个不太恰当的例子,生成模型就是有3个男人y1y2y3,现在有一个小孩x,我们看x最像谁生的,谁就是x的爸爸。而判别模型就是,这个小孩x知道他爸爸的特征,x直接通过特征判断谁是他爸爸。(我这个例子举得真是太好了)

贝叶斯网络

贝叶斯网络

一个简单的贝叶斯网络

  贝叶斯网络是一种基于概率推理的数学模型,其理论基础是贝叶斯公式,其目的是通过概率推理处理不确定和不完整性问题。

  形式上,如上图,一个贝叶斯网络就是一个有向无环图,节点表示随机变量,可以是可观测变量、隐含变量、未知参量或假设等;节点之间的有向边表示条件依存关系,箭头指向的节点依存于箭头发出的节点(父节点)。两个节点没有连接表示两个随机变量能够在某些特定情况下条件独立,而两个节点有连接关系表示两个随机变量在任何条件下都不存在条件独立。

  每个节点还都与一个概率函数相关,如上图,对于事件『News』,T的概率为0.2、F的概率为0.8;对于事件『Sightseeing』,在『News』为F的情况下为T的概率0.4、为F的概率为0.6,在『News』为T的情况下为T的概率为0.1、为F的概率为0.9;事件『History』也是同理。

  这样的模型可以回答如下类似的问题:如果『History』为T,那『News』为T的可能性有多大?下式中用H代指『History』,S代指『Sightseeing』,N代指『News』。

浅谈自然语言处理基础

 

  第一步推导就是简单的贝叶斯公式,第二步推导用到了全概率公式的变形(让我想到了数理逻辑中的排中律):

全概率公式

全概率公式

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自浅谈自然语言处理基础(上)

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]