NAiVEBAYES和ADABOOST提升算法应用于葡萄酒的品质测定

2017-05-20 08:52周泉锡
中国科技纵横 2017年8期
关键词:朴素贝叶斯分类器

周泉锡

摘 要:葡萄酒品质测定是数据挖掘、信息处理的一个重要应用,本文将结合朴素贝叶斯算法和Adaboost算法,通过二分类手段解决多分类问题,并参考相关文献对该问题进行详细的探究和解决,并呈现该算法得到的结果。

关键词:NA VE bayes;Adaboost提升算法;应用二分类分类器处理多分类问题

中图分类号:TP391 文献标识码:A 文章编号:1671-2064(2017)08-0037-01

1 背景,应用二分类的分类器处理多分类问题

关于二分类处理多分类问题,目前主要有两种手段:一种为“一对多”方法,即把一个问题分为“是”或者“不是”,通过对n个元素进行n-1次处理,将其进行分类;另一种为“多对一”方法,即n个元素,对每一个元素之间比较,逐对分类,进行Cn2次,达到实验目的。目前还有一些其他的方法正在进行研究和学习,希望得到优化算法。

2 推导分析

2.1 算法思想

二分类的算法是解决分类的一个重要手段,在解决多分类问题时,正如上文所述分为两种主要的方法(“一对多”方法,“多对一”方法),本课题研究着重于前者,“一对多”的问题解决方法。简单来说,算法本身要处理多组数据,我们将数据依次分为不同的两类,“是”或者“否”,选择后将“是”的样本数据留下,将“否”的数据继续重复上述的循环操作,进而递推筛选,得到需要的结果。

2.2 算法内容

这是一个运用NAIVE BAYES算法对问题的解决。NAIVE算法主要体现在概率的精确求法,用该数据的最大概率来对数据进行分类从而达到减小误差的功能。因此这里运用NaiveByes算法来计算品质概率,具体的算法应用贝叶斯定理而推导得出。定理的具体内容即有一系列待分类数据xi(i=1、2……m)和一系列分类项yj(j=1、2……n)用上述公式求得概率P(yj|xi)。我们把xi组成的集合叫做训练样本集。依次计算统计各个特征属性即xi的条件概率估计。P(y1|xi),P(y2|xi),……,P(yn|xi),如果各个xi是独立的,那么由贝叶斯定理可得:

因为分母P(x)对于所有类别均为常数,所以我们只要将分子最大化皆可。又因为xi是条件独立的,因而可以得到以下公式:

根据上述分析,我们可以导出贝叶斯分类的流程:

如果有P(yk|xi)=max{P(y1|xi),P(y2|xi),……,P(yn|xi)}则有xi∈yk。进而将数据分类,类此将葡萄酒的品质进行处理。

同时该算法应用Adaboost提升算法,对所处理的数据进行精确分类。该算法的内容主要在于将n个数据赋予相同的权值1/n,然后将数据样本通过弱分类器处理,如果该样本已经被准确的分类则权数增加,否则权数降低。每次添加新的弱分类器通过下一轮迭代,逐步确立分类函数。其应用的方式为通过对阈值的加权求平均比重,进而对数据的分类进行优化。具体的操作如下:首先确立一个样本的集合X:(am,n|m,n=1,2,3……)∈X(其中m代表迭代的轮数,n代表个体的标号数)和一个分类集合Y,(y1,y2……yk)∈Y。其次我们确立一个选择函数F(x),来使F(x)→{-1,1}从而作为基本的分类器。令F(x)的误差率为a,a为误分类的样本权数的和,然后我们计算F(x)的重要程度用w表示w=(1/2)×log[(1-a)/a] 有上述表达式可以发现伴随误差的减小,w增大,即F(x)的权增大。我们从而进行下面的循环操作,逐步对分类的方法进行优化选择,从而达到降低误差的目的。此时我们移入一个量Zm作为规范化因子,Zm=∑am,nexp[-wykF(xk)],从而使得整体的概率和保持为1,从而运用Zm规范化因子可以使数据形成概率分布。最后我们设计组合各个弱处理器,设其为g(x),g(x)=∑wF(x)。我们从而得到最终的处理器d(x)=sign(g(x))=sign(∑wF(x)),进而通过此sign函数对数据进行准确的二分类,评定算法的优缺的重要依据为误差的大小,该算法成功的利用合理规范阈值,合理选择等手段有效的降低了分类的误差。

3 算法构架和流程

3.1 算法构架

Initialization→ Data Imput→ Valuable Intializati→ Function Naive bayes→ Training Data→ Testing Data→ Dada Output

3.2 实验步骤

具体的操作和流程如下:Data采winequalityred,在Function Nave Bayes中,Input为Training_Data,Testing_Data and Training_Data density matrix D.在各類的先验概率密度估算中采用每一类的先验概率密度估计采用的是极大似然估计法,总体密度以及类条件密度估计采用的是窗宽为1的parzen窗估计法;以f=@(u,h)exp(u*u/((-2)*h^2))作为Windows Function,其中u是输向量,h是窗宽,我们把次问题的默认值定为1;output由Naive Bayes对Testing_Data的预测变量的输出来决定,也就是通过此进行分类,成为n*1的个向量,Y_hat(i)属于{+1,-1}。在主体程序中,以前1500个数据作为Training _Data,后99个数据作为Testing_Data。面对多分类问题,本程序采用一对多思想,提取Training_Data中的类标号+1,其他类标号-1,从而进Naive_Bayes决策。决策的过程是运用和通过Adaboost提升算法,我们利用最多5个弱分类器的加权投票进而产生结果。等待程序结束后,标号-1的样本集合将作为新的Training_Data,继续实现上述的步骤,直至最后只剩下两类为止。由此将一个多分类问题逐步转化为二分类问题。

程序运行的结果如下:Error_Rate=0.0202

4 总结评定

评定一个算法的优劣重要的参数是算法的错误率,该算法的错误率较小,在0.0202。因而从结果而言这是一个相对准确而且可以规模化应用的算法。其各项指标的处理也是十分科学。但该算法也有一些局限性,比如分类依然存在少量的误差,原因主要集中在朴素贝叶斯分类的思想具有一定的概率性和偶然性,ADABOOST提升算法对于不同数据的误差值不同。如果我们能运用更为科学的概率求法以及更为准确的加权分类算法的准确率还会提升。

参考文献

[1]基于朴素贝叶斯的文本分类算法.

[2]《统计学习方法》.

[3]算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification).

[4]朴素贝叶斯分类器及其改进算法研究.

[5]关于朴素贝叶斯分类算法的改进.

[6]An Evaluation of Statistical Approaches to Text Categorization.

[7]一种改进的AdaBoost算法——AD AdaBoost.

[8]Revised AdaBoost algorithm - AD AdaBoost.

猜你喜欢
朴素贝叶斯分类器
朴素的安慰(组诗)
他是那样“笨拙”和朴素——30多年后,我们为什么还需要读路遥?
最神奇最朴素的两本书
BP-GA光照分类器在车道线识别中的应用
贝叶斯公式及其应用
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
基于贝叶斯估计的轨道占用识别方法
一种基于贝叶斯压缩感知的说话人识别方法
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别