精华内容
下载资源
问答
  • 朴素贝叶斯多项式模型个人笔记

    千次阅读 2014-11-19 16:56:39
    朴素贝叶斯实现文本分类 gogn

    存储形式以map的形式将预料分词去除停顿词,预料下载地址:http://www.sogou.com/labs/dl/c.html

    朴素贝叶斯实现文本分类

    后验概率=类条件概率*先验概率

    类条件概率计算公式

    P(tk|c)=(类C下单词tk在各个类C文档下出现的次数之和+1)/(类C下的单词总数+训练样本中包含的单词次数)*放大因子

    先验概率计算公式:

    P(c)=类C下的单词总数/训练样本的单词总数


    展开全文
  • (一)朴素贝叶斯多项式事件模型 在上篇笔记中,那个最基本的NB模型被称为多元伯努利事件模型(Multivariate Bernoulli Event Model,以下简称 NB-MBEM)。该模型有多种扩展,一种是在上一篇笔记中已经提到的每个...

    (一)朴素贝叶斯多项式事件模型

    在上篇笔记中,那个最基本的NB模型被称为多元伯努利事件模型(Multivariate Bernoulli Event Model,以下简称 NB-MBEM)。该模型有多种扩展,一种是在上一篇笔记中已经提到的每个分量的多值化,即将p(xi|y)由伯努利分布扩展到多项式分布;还有一种在上一篇笔记中也已经提到,即将连续变量值离散化。本文将要介绍一种与多元伯努利事件模型有较大区别的NB模型,即多项式事件模型(Multinomial Event Model,一下简称NB-MBEM)。
    首先 ,NB-MEM改变了特征向量的表示方法。在 NB-MBEM中,特征向量的每个分量代表词典中该index上的词语是否在文本中出现过,其取值范围为{0,1},特征向量的长度为词典的大小。而在 NB-MEM中,特征向量中的每个分量的值是文本中处于该分量的位置的词语在词典中的索引,其取值范围是{1,2,...,|V|},|V|是词典的大小,特征向量的长度为相应样例文本中词语的数目。
    形式化表示为:
    m个训练样本表示为:{x(i),y(i);i=1,...,m}
     
    x(i)=(x1(i),x2(i),...,xni(i))

     

    表示第i个样本中,共有ni个词,每个词在字典的编号xj(i)。
    举例来说,在NB-MBEM中,一篇文档的特征向量可能如下所示:

    其在NB-MEM中的向量表示则如下所示:

    NB-MEM中,假设文本的生成过程如下:

    1、确定文本的类别,比如是否为垃圾文本、是财经类还是教育类;
     
    2、遍历文本的各个位置,以相同的多项式分布生成各个词语,生成词语时相互独立。
     
    由上面的生成过程可知,NB-MEM假设文本类别服从多项式分布或伯努利分布,而词典中所有的词语服从多项式分布。生成过程还可如下解释,即现在类别所服从的多项式分布中选取类别,然后遍历整个文本,在词语所服从的多项式分布中选取词语,放在文本中相应的位置上。
     
    于是,NB-MEM的参数如下所示:

    于是,我们可以得到参数在训练集上的极大似然估计:
     

    极大化似然估计函数,可以得到各个参数的极大似然估计:

    φk|y=1和φk|y=0 上使用Laplace平滑,得到公式如下:

    其中,|V|为词典的大小。
    与以前的式子相比,分母多了个ni,分子由0/1变成了k。
    对于式子


     分子的意思是对所有标签为1的邮件求和,即只考虑垃圾邮件,之后对垃圾邮件中的所有词求和,它加起来应该是词k出现在垃圾邮件中的次数。

    换句话说,分子实际上就是对训练集合中的所有垃圾邮件中词k出现的次数进行求和。
     
    分母的含义是对训练样本集合进行求和,如果其中的一个样本是垃圾邮件(y=1),那么就把它的长度加起来,所以分母的含义是训练集合中所有垃圾邮件的总长。
    所以这个比值的含义就是在所有垃圾邮件中,词k所占的比例。
     
    举个例子:
    假如邮件中只有a,b,c这三个词,他们在词典的位置分别是1,2,3,前两封邮件都只有两个词,后两封有3个词。
    Y=1是垃圾邮件。
    那么,


    假如新来一封邮件为b,c,那么特征表示为{2,3}

    那么


    那么该邮件是垃圾邮件概率是0.6。

    注意这个公式与朴素贝叶斯的不同在于这里针对整体样本求的φk|y=1 ,而朴素贝叶斯里面针对每个特征求的φxj=1|y=1 ,而且这里的特征值维度是参差不齐的。

    (二)神经网络
     
    之前介绍的无论是感知器算法还是逻辑回归还是刚才所介绍的朴素贝叶斯模型(朴素贝叶斯算法是前置假设是多项式分布的多项式模型,所以也属于逻辑回归模型),其最终结果反映在数据上都是一条直线或一个超平面,但如果数据并不是线性可分的话,这些模型的性能会变差。针对该问题,涌现出很多对非线性可分数据进行分类的算法,神经网络是其中最早出现的一种。
     
    对于逻辑回归模型,可以将其表示为下图所示:


    其中,xi是输入的特征向量的各个分量,sigmoid是计算单元,output是函数输出。sigmoid计算单元有参数θ,其函数形式为:


    而神经网络则是将这样的计算单元组合起来,如下图所示:

    其中,a1,a2,a3是中间单元的输出。可以看到,该图所示的神经网络有四个参数,分别为四个sigmoid单元的参数。这些参数之间的关系如下式所述:

    学习这些参数需要用到成本函数比如:
    这是第一次视频里就提到的二次成本函数(quadratic cost function),可以使用梯度下降方法最小化成本函数来求得参数,在神经网络中的梯度下降算法有一个专门的名称叫做反向传播算法。
     
    在上面那个神经网络的样例图中,与输入直接相连的称为隐藏层(hidden layer),与输出直接项链的称为输出层(output layer)。神经网络算法的一大特点就在于不知道隐藏层计算的东西的意义,另一个特点在于神经网络有比较多的局部最优值,可以通过多次随机设定初始值然后运行梯度下降算法获得最优值。
     
    接着,展示了两个神经网络实现的应用的视频。一个是Hammerton数字识别应用,对手写的数字进行识别,该应用的作者是Yann LeCun,他以字符识别与卷积神经网络而著名。另外一个应用则是NETtalk神经网络,使用神经网络来阅读文本,作者是Terry J.Sejnowski。
     
    (三)支持向量机之函数间隔与几何间隔
     
    要理解支持向量机(support Vector Machine),必须先了解函数间隔与几何间隔。一下假设数据集是线性可分的。
     
    首先变换一下符号,类别y可取值由{0,1}变为{-1,1},假设函数g为:


    而目标函数h也由:
    变为:

    其中,公式15中x,θ εRn+1 ,且x0=1。而在公式16中,x,ω εRn ,b取代了公式15中x0的作用。

    由公式16,我们得知,ω,b可以唯一的确定一个超平面。
     
    一个点(x(i),y(i))到由ω,b决定的超平面的函数间隔是:

    超平面与整个训练集合的函数间隔是:

    公式17还有一个性质,即对于正确分类的数据点,函数间隔不小于0。

    函数间隔的问题在于只要成倍增大ω,b,就能使函数间隔变大。为了解决这个问题,就有了几何间隔的定义,几何间隔定义如下:

    即在||ω||=1条件下函数间隔最小值。
     
    几何间隔与函数间隔的意义在于为根据训练集合得到的模型增添了一个指标,使得模型不仅保证分类结果的正确性,更要进一步保证分类结果的确定性。


     

    展开全文
  • 1文本分类过程 例如文档:Good good study Day day up可以用一个文本特征向量来表示,x=(Good, good, study, Day, day , up)。在文本分类中,假设我们有一个文档d∈X,类别c又称为标签。我们把一堆打了标签的文档...

    1文本分类过程

     

    例如文档:Good good study Day day up可以用一个文本特征向量来表示,x=(Good, good, study, Day, day , up)。在文本分类中,假设我们有一个文档d∈X,类别c又称为标签。我们把一堆打了标签的文档集合<d,c>作为训练样本,<d,c>∈X×C。例如:<d,c>={Beijing joins the World Trade Organization, China}对于这个只有一句话的文档,我们把它归类到 China,即打上china标签。

     

    朴素贝叶斯分类器是一种有监督学习,常见有两种模型,多项式模型(multinomial model)即为词频型和伯努利模型(Bernoulli model)即文档型。二者的计算粒度不一样,多项式模型以单词为粒度,伯努利模型以文件为粒度,因此二者的先验概率和类条件概率的计算方法都不同。计算后验概率时,对于一个文档d,多项式模型中,只有在d中出现过的单词,才会参与后验概率计算,伯努利模型中,没有在d中出现,但是在全局单词表中出现的单词,也会参与计算,不过是作为“反方”参与的。这里暂不考虑特征抽取、为避免消除测试文档时类条件概率中有为0现象而做的取对数等问题。

     

    1.1多项式模型

    1)基本原理

    在多项式模型中, 设某文档d=(t1,t2,…,tk),tk是该文档中出现过的单词,允许重复,则

    先验概率P(c)= 类c下单词总数/整个训练样本的单词总数

    类条件概率P(tk|c)=(类c下单词tk在各个文档中出现过的次数之和+1)/(类c下单词总数+|V|)

    V是训练样本的单词表(即抽取单词,单词出现多次,只算一个),|V|则表示训练样本包含多少种单词。 P(tk|c)可以看作是单词tk在证明d属于类c上提供了多大的证据,而P(c)则可以认为是类别c在整体上占多大比例(有多大可能性)。

    2)举例

    给定一组分好类的文本训练数据,如下:

    docId

    doc

    类别

    In c=China?

    1

    Chinese Beijing Chinese

    yes

    2

    Chinese Chinese Shanghai

    yes

    3

    Chinese Macao

    yes

    4

    Tokyo Japan Chinese

    no

    给定一个新样本Chinese Chinese Chinese Tokyo Japan,对其进行分类。该文本用属性向量表示为d=(Chinese, Chinese, Chinese, Tokyo, Japan),类别集合为Y={yes, no}。

    yes下总共有8个单词,类no下总共有3个单词,训练样本单词总数为11,因此P(yes)=8/11, P(no)=3/11。类条件概率计算如下:

    P(Chinese | yes)=(5+1)/(8+6)=6/14=3/7

    P(Japan | yes)=P(Tokyo | yes)= (0+1)/(8+6)=1/14

    P(Chinese|no)=(1+1)/(3+6)=2/9

    P(Japan|no)=P(Tokyo| no) =(1+1)/(3+6)=2/9

    分母中的8,是指yes类别下textc的长度,也即训练样本的单词总数,6是指训练样本有Chinese,Beijing,Shanghai, Macao, Tokyo, Japan 共6个单词,3是指no类下共有3个单词。

    有了以上类条件概率,开始计算后验概率:

    P(yes | d)=(3/7)3×1/14×1/14×8/11=108/184877≈0.00058417

    P(no | d)= (2/9)3×2/9×2/9×3/11=32/216513≈0.00014780

    比较大小,即可知道这个文档属于类别china。

    1.2伯努利模型

    1)基本原理

    P(c)= 类c下文件总数/整个训练样本的文件总数

    P(tk|c)=(类c下包含单词tk的文件数+1)/(类c下单词总数+2)

    2)举例

    使用前面例子中的数据,模型换成伯努利模型。

    yes下总共有3个文件,类no下有1个文件,训练样本文件总数为11,因此P(yes)=3/4, P(Chinese | yes)=(3+1)/(3+2)=4/5,条件概率如下:

    P(Japan | yes)=P(Tokyo | yes)=(0+1)/(3+2)=1/5

    P(Beijing | yes)= P(Macao|yes)= P(Shanghai |yes)=(1+1)/(3+2)=2/5

    P(Chinese|no)=(1+1)/(1+2)=2/3

    P(Japan|no)=P(Tokyo| no) =(1+1)/(1+2)=2/3

    P(Beijing| no)= P(Macao| no)= P(Shanghai | no)=(0+1)/(1+2)=1/3

    有了以上类条件概率,开始计算后验概率,

    P(yes|d)=P(yes)×P(Chinese|yes)×P(Japan|yes)×P(Tokyo|yes)×(1-P(Beijing|yes))×(1-P(Shanghai|yes))×(1-P(Macao|yes))=3/4×4/5×1/5×1/5×(1-2/5) ×(1-2/5)×(1-2/5)=81/15625≈0.005

    P(no|d)= 1/4×2/3×2/3×2/3×(1-1/3)×(1-1/3)×(1-1/3)=16/729≈0.022

    因此,这个文档不属于类别china。

    后记:文本分类是作为离散型数据的,以前糊涂是把连续型与离散型弄混一块了,朴素贝叶斯用于很多方面,数据就会有连续和离散的,连续型时可用正态分布,还可用区间,将数据的各属性分成几个区间段进行概率计算,测试时看其属性的值在哪个区间就用哪个条件概率。再有TF、TDIDF,这些只是描述事物属性时的不同计算方法,例如文本分类时,可以用单词在本文档中出现的次数描述一个文档,可以用出现还是没出现即0和1来描述,还可以用单词在本类文档中出现的次数与这个单词在剩余类出现的次数(降低此属性对某类的重要性)相结合来表述。

    转载于:https://www.cnblogs.com/alan-blog-TsingHua/p/10018810.html

    展开全文
  • 之前忘记强调重要的差异:链式法则的条件概率和贝叶斯网络的链式法则之间的差异 条件概率链式法则 贝叶斯网络链式法则,如图1 图1 乍一看非常easy认为贝叶斯网络链式法则不就是大家曾经学的...

    之前忘记强调重要的差异:链式法则的条件概率和贝叶斯网络的链式法则之间的差异

    条件概率链式法则


     

    贝叶斯网络链式法则,如图1


    图1



     

    乍一看非常easy认为贝叶斯网络链式法则不就是大家曾经学的链式法则么,事实上不然,后面详述。

     

    上一讲谈到了概率分布的因式分解


    能够看到条件概率的独立性能够直接从概率分布表达式看出来

     

    我们已经用概率图模型把概率关系用图形化G表示了,独立性能从图上直接看出来吗?

    当然。上一讲已经详解过了概率图中概率的流动关系.

    当G已知时,S和D之间的概率才干相互影响。

    以下定义一个依赖隔离的概念。

     

    依赖隔离(D-separation)

    在Z已知的情况下,X与Y之间没有通路。

    则称之为X与Y依赖隔离。记作


     

    介绍个定理:“图不通就独立定理”(当然是为了好理解)

    这个定理是说。若概率图满足依赖隔离


    则有X与Y条件独立


     

    来证明一下,如今用的是贝叶斯网络链式法则。如图2


    图2


    利用的还是之前那个把求和拆分的Trick。这里要注意一開始求和的脚标是G、I、L

    如今分给了3部分L和G部分求和后当然就等于了1,可是I部分则不然,被求和的部分是S,而求和脚标是I,这样就没法继续合并了

    只是我们回忆之前的独立等价条件最后一条是说:


    这样就搞定了。发现D与S还是独立的。这样就证明了“图不通就独立定理”。

     

    那么不禁要问,图什么情况下不通呢?

    先说结论:在已知父节点时,该节点与后代节点以外的节点不通。

    姑且叫做“不通原则”

    说的好啰嗦,直接看图,如图3


    图3


    我们以Letter节点作为样例。他的父节点时Grade,他的子孙是Job和Happy,所以他和剩下来的SAT、Intelligence、Difficulty、Coherence不通了。

    粗略分析下,这个环上面走不通是由于Grade已知了;以下走不通是由于Job不知道。分析原理上一讲已经详述了。

     

     

    定义一个Imap

    既然图不通就独立,假设这个不通的图G相应的概率分布是P,我们就称G是P的I-map(independencymap)

     

    假设独立的概率分布P能够依照某个图G分解。那么G就是P的Imap。

    反过来,假设G是概率分布P的Imap,那么P能够依照G来进行分解。

     

    因此概率图的就有了2种等价的观点

    1.概率图G是用来表示概率分布P的。

    2.P是用来表达概率图G所展示的独立关系的。

     

    证明一下概率图和概率分布为啥是一回事

    先写出图1中的条件,如图4所看到的,用条件概率的链式法则写出P,由G中连接关系能够化简成为贝叶斯网络的链式法则


    图4


    尤其注意为什么有


    这里要用到之前说明的“不通原则”。L在已知D、G、I、S的前提下,他的非后代节点(他也没有后代节点)是D、I、S,所以直接去掉。

    这就说明了概率独立关系与概率图的连接关系事实上是一回事。


    以下介绍朴素贝叶斯模型

    这个朴素贝叶斯叫做(Naïve Bayes)又叫(IdiotBayes…)

    主要的朴素贝叶斯模型如图5。


    图5


    全部的X都是条件独立的,即


    由贝叶斯网络的链式法则easy得到


     

    有2类经常使用的朴素贝叶斯模型

    举个样例说明两种贝叶斯模型各自是怎么起作用的。如今有一篇文档,由非常多单词组成。如今有2个类别可供选择各自是“有关財务”和“有关宠物”。如今要把这篇文章归档。

     

    其一:伯努利朴素贝叶斯(Bernoulli Naive Bayes)

    伯努利朴素贝叶斯如图6。


    图6


    这样的方式实质上是“查字典”。它把cat、dog、buy这些当做字典里的词目。

    之所以伯努利是由于。这样的方式仅仅管分析文章里面有没有出现词典里的词目,而无论出现了多少次。词典的条目都是仅仅有0-1的二项分布随机变量。

    文档属于这两类的概率分别为


    每个小乘积项代表了“假设这是一篇財务文档,能出现cat字眼的概率是0.001”这种意义。


    为啥这个朴素了,由于它如果了每一个词的条目出现是相互不影响的。

     

    其二:多项式朴素贝叶斯(Multinomial Naïve Bayes)

    这样的方式与伯努利有本质不同,如图7


    图7


    W这些单元再也不是词典的条目了,而是待分类文章中的真实单词。

    假如这篇文章写了1991个词,那么就有1991个W

    文档属于这两类的概率依旧分别为


    每个小乘积项代表了“假设这是一篇財务文档。在文章里随意一个位置出现cat的概率是0.001”这种意思。你看表还是那张表。可是如今全然不一样了。由于如今要求cat+dog+buy+sell这些概率加起来要等于1。而伯努利没这个限制,随意等于多少。这个差别非常重要。

    为什么这个贝叶斯也是朴素的呢?由于它假定了在文章全部位置出现cat的概率是满足相同的分布的,实际明显不可能好不好。

    就像“敬爱的”必定一般都会出如今开头。谁会在文章写到一半来句这个。。。

     

     

    总之朴素贝叶斯确实朴素,它仅仅能用于随机变量相关性较弱的情况,但非常多情况实际确实挺弱的。。。所以朴素贝叶斯的效果Surprisingly effective

     

    朴素贝叶斯被广泛使用于各种领域。这里就不展开了。长处还蛮多的。


    欢迎參与讨论并关注本博客微博以及知乎个人主页兴许内容继续更新哦~

    转载请您尊重作者的劳动。完整保留上述文字以及文章链接,感谢您的支持!


    版权声明:本文博主原创文章,博客,未经同意不得转载。

    转载于:https://www.cnblogs.com/bhlsheji/p/4875551.html

    展开全文
  • 朴素贝叶斯分类--多项式模型

    千次阅读 2018-02-09 10:25:33
    本文来自于百度文库... 多项式模型简介 朴素贝叶斯分类器是一种有监督学习,针对文本分类常见有两种模型,多项式模型(词频型)和伯努利模型(文档型)。多项式模型以...
  • 贝叶斯分类中,我们希望确定一个具有某些特征的样本属于某类标签的概率,通常记为 P (L | 特征 )。 贝叶斯定理告诉我们,可以直接用下面的公式计算这个概率:...现在需要一种模型,帮我们计算每个标签的 P ( 特征...
  • 贝叶斯分类算法 贝叶斯分类算法的伯努利模型 贝叶斯分类算法的多项式模型 NaiveBayesClassifier
  • 对于给定的训练数据集,首先基于特征条件独立假设建立输入/输出的联合概率分布模型,然后基于此模型,对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。 1.1.1 贝叶斯定理 贝叶斯定理是关于随机事件A和B的...
  • 信息内容安全-朴素贝叶斯邮件过滤(多项式模型)实验 代码 # 信息内容安全作业-朴素贝叶斯邮件过滤(多项式模型) import os import jieba import random from collections import Counter import numpy as np ...
  • 多项式模型的朴素贝叶斯:  实际看,每个词的权重是完全不同的,仅仅看是否出现,其实是无法最大限度的逼近真实。仅仅需要把统计单词的函数做一点点增强,就可以实现统计词频了。     defbagOfWords2VecMN...
  • 网上有很多对朴素贝叶斯算法的说明的文章,在对算法实现前,参考了一下几篇文章: NLP系列(2)_用朴素贝叶斯进行文本分类(上) NLP系列(3)_用朴素贝叶斯进行文本分类(下) 带你搞懂朴素贝叶斯分类算法 其中“带你搞...
  •   sklearn模块全称为scikit-learn,是机器学习和人工智能领域最知名的模块之一。它提供了非常丰富的机器学习...MultinomialNB(多项式朴素贝叶斯) BernoulliNB(伯努利朴素贝叶斯) 由于博主目前只涉及到一种的学...
  • 朴素贝叶斯算法0、朴素贝叶斯贝叶斯决策理论的一部分。之所以称之为“朴素”,是因为整个形式化过程只做最原始、最简单的假设。1、文本分类实例2、朴素贝叶斯过滤垃圾邮件3、使用朴素贝叶斯分类器从个人广告4、小...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 396
精华内容 158
关键字:

贝叶斯多项式模型