• 特征词选择算法对文本分类准确率的影响(五)


    上一节(也就是在四中)我们谈了在经典概率框架下,采用两种方法估算p(t|ci),得出的结论是这两种方法对最后准确率没有显著影响。下面我们在给出一个菜鸟的naiva概率框架。

    该框架用概率归一化词袋子中所有词在训练文档集中出现的情况。即p(t)由词袋子模型中的统计信息直接归一化计算,并假设P(C1)=P(c2)=1/2 P(C|t)也直接计算。

    比如词袋子中有三个词 {[家务: class1:(1,3)(2,1) class2:(4,1)][俄罗斯: class2:(2,3),(4,1),(5,1)][健康: class1:(2,4),(3,2)]}  

    那么p(t=家务)=(3+1+1)/[(3+1+1)+(3+1+1)+(2+4)]

    注意:(四)中的经典概率模型求p(t)是通过p(t|c)计算的,它认为只有p(t|c)可以通过当前语料库直接得出,其他的概率都要通过此概率推导得出.

    在我们的假设中p(c|t)也直接计算。再举个例子p(class=class1|t=“家务”)=(3+1)/(3+1+1)

    那么我这个菜鸟这么假设的概率模型合理吗? 会不会导致准确率降低。那么请实验结果来说话吧。

    同样我们根据是否计算词在文章中出现的重数,又分为两个情况。

    情况一不考率重数;情况二,考虑重数。(上边为情况一的实验结果,下边为情况二的结果)

     

     

     

    种概率框架下,从最后的实验结果(平均准确率)来看,和论文,教科书上的经典概率框架相比没有明显的不足,我在二元词图+Viterbi算法的中文分词这一系列文章中也提到过,我采用了两种概率估算模式估算概率,但是最后的结果相差不大(在分词中采用的是F值,貌似变化只是千分位的差距如从91.001%变成了91.002%)。另外,在洞庭散人的朴素贝叶斯分类中计算条件概率有这样一段代码


    他采用的是不计文章重数的计算概率的方法,Nxc是说x在c类别中的出现的文章数目,Nc是该类别的文章总数,很明显,这种概率的计算方式是错误的!!照他这么算,P(x1||c)+p(x2|c)+....+p(xn|c)!=1(n为词典中的总词数)。原因在于:很多词可以同时出现在一篇文章中。但是他的这种计算方法并不会影响到最后的分类准确率。我在做实验的时候,特意采用了他的这种错误方法,来看看效果。原因可以用如下一个小例子来模拟。在于 a+b+c=1如果 你把a,b,c 同时扩大n倍,那么虽然a+b+c不再等于1,但是a,b,c之间的大小关系没有和原来是一样的。原来大的,扩大n倍依然大。

    做自然语言处理的可以分为两大阵营,统计学派和规则学派。规则学派攻击统计学派是“碰运气”,理论基础不够严密,估计从上面的小例子可见端倪。

       查阅过一些资料,几乎所有资料上有关概率建模都是(四)中的建模.我一直在想为啥一定要那么建模,别的建模方法能不能说得通?所以才有了(五)中的建模,从目前试验结果来看,(五)中的概率假设也是没有什么不可以的。

  • 相关阅读:
    链表VS数组
    数组VS集合
    最好、最坏、平均、均摊时间复杂度
    代码时间、空间复杂度分析
    “echo >”和“echo >>”的区别
    两数之和
    hadoop学习之----------IntelliJ IDEA上实现MapReduce中最简单的单词统计的程序(本地 和 hadoop 两种实现方式)
    Ubuntu16.04中解决关于The Internet Topology Zoo 的gml文件的读取并画图的问题
    Ubuntu16.04解决Ubuntu Sofware打开后无反应
    Ubuntu16.04中如何启用floodlight的一种方式
  • 原文地址:https://www.cnblogs.com/finallyliuyu/p/1812930.html
Copyright © 2020-2023  润新知