在《集体智慧编程》(Programming Collective Intelligence)一书的第六章,讲述了基于概率统计的文档分类器实现方法。全章的前半部分对朴素贝叶斯分类器从原理到实现进行了较为详细的阐述,而在后半部分又提到了一种同样基于概率统计的分类器方法——费舍尔方法,这种方法相对于朴素贝叶斯分类器可以给出文档属于某分类的具体概率,而且在本人的一个小项目中,费舍尔方法比朴素贝叶斯的分类准确率要好上一个百分点。不幸的是,书中对费舍尔方法的原理介绍只是一笔带过,只给出了实现代码,而且对关键函数invchi2的作用也没有提及(没有书的同学可以到费舍尔方法 - 51CTO.COM查看这部分内容),而百度上能搜索到的费舍尔方法相关资料也乏乏。但实际上,费舍尔方法的数学原理并不复杂,有概率论基础的人能很容易明白,下面我对费舍尔方法的原理做一个说明。
1.以下内容为对概率论部分知识的回顾,主要涉及抽样分布,假设检验,基础好的可以直接跳到2
虽然你可能在概率论这门课上完后就没再碰过课本,但总应该还记得正态分布(Normal distribution),就是这个著名的图像
如果把它当做频数分布图,中间最高的那个就代表着频数最大的,放在概率论里讲,中间那个就是可能性最高的(均值),比如,有人持续观察了一年我睡觉的时间,然后画了这个频数分布图(根据大数定律,可以把它当成概率密度分布图),说我的睡觉时间满足正态分布N(μ,σ^2),其中μ=12,那我应该就是经常在12点睡觉,但有时候也会提前一点或者晚一点,σ^2是方差,σ是标准差,就是方差开平方,这个初中就学了,x轴上画了一些跟μ,σ相关的点,这几个点实际上跟z分数(z-statistics)有关,忘了的可以去网易公开课找可汗学院的统计学看看,不看的话只要知道,沿着这几个点网上作垂直于x轴的直线,直线-正态分布曲线-x轴围成的面积占整个正态曲线-x轴围成的面积的比重是固定的,在胖的瘦的正态曲线都是一样,比如你在μ-σ和μ+σ两个点作直线,与正态曲线围起来的面积就占正态曲线围的总面积的68.268949%,这时候你就可以说(先不考虑样本数的事情),博主在μ-σ点和μ+σ点之间睡觉的可能性是68%,或者博主睡觉时间落在μ-σ和μ+σ点的概率为68%。