基于K近邻的支持向量机多模型建模主讲人:刘振15721534基于K近邻的支持向量机的多模型建模支持向量机多模型建模支持向量机多模型建模支持向量机(SupportVectorMachine,SVM)作为一种新兴的基于统计学理论的学习机,相对于神经网络的启发式学习方式和实现中带有很大的经验成分相比,SVM具有更严格的理论和数学基础,可以克服局部最小问题,解决小样本学习的泛化能力,不过分依赖样本的数量和质量,所以它特别适用于解决小样本、非线性、高维数、局部极小点等问题。鉴于化工领域中大部分过程建模数据属于小样本、不适定问题,因此,支持向量机在化工过程建模中得到了广泛的应用。K近邻分类算法K近邻法(KNN,k-NearestNeighbor)是由Cover和Hart于1968年提出的,其核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。kNN方法在类别决策时,只与极少量的相邻样本有关。K近邻分类算法实现步骤1.准备数据,对数据进行预处理2.选用合适的数据结构存储训练数据和测试元组3.设定参数,如k4.维护一个大小为k的的按距离由大到小的优先级队列,用于存储最近邻训练元组。随机从训练元组中选取k个元组作为初始的最近邻元组,分别计算测试元组到这k个元组的距离,将训练元组标号和距离存入优先级队列5.遍历训练元组集,计算当前训练元组与测试元组的距离,将所得距离L与优先级队列中的最大距离Lmax6.进行比较。若L=Lmax,则舍弃该元组,遍历下一个元组。若LLmax,删除优先级队列中最大距离的元组,将当前训练元组存入优先级队列。7.遍历完毕,计算优先级队列中k个元组的多数类,并将其作为测试元组的类别。8.测试元组集测试完毕后计算误差率,继续设定不同的k值重新进行训练,最后取误差率最小的k值。K近邻分类算法其优缺点缺点:1.分类速度慢;2.各属性的权重相同,影响了准确率;3.样本库容量依赖性较强;4.K值不好选取;优点:1.简单,易于理解,易于实现;2.当有新样本要加入训练集中时,无需重新训练(即重新训练代价低);3.对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。4.特别适合于多分类问题(对象具有多个类别标签),比SVM的表现要好。K近邻分类算法其改进策略支持向量机支持向量机(SupportVectorMachine,SVM)是CorinnaCortes和Vapnik等于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。支持向量机为一种小样本学习理论,根据有限样本信息在模型的复杂性和学习能力之间寻求最佳折衷,实现经验风险和置信范围的最小化,从而在统计样本量较少的情况下获得良好的规律和更好的泛化能力。针对工业过程,可采用支持向量机估计工业过程中的一些不可测变量,在一定程度上替代价格昂贵并且效果不尽如人意的在线检测仪表,实现软测量建模。支持向量机0bxw分类超平面方程mibxwii.....3,2,1;1y最优超平面满足条件2wwJ使得最小liibwxywwabwLi1121,,支持向量机最后可转化为求解如下泛函的优化问题:ljilijijijiixxyyW1,1,21maxliiiiymits10,....,2,1,0.oijijijiyyxxwwSV,...,201000002设为上二次优化问题的解00sgnbxxyxfSViii分类函数:对于线性不可分情况,超平面满足条件可加入松弛变量mibxwiii.....3,2,1;01y0iliiC最优平面满足:目标函数:支持向量机对于回归问题,引入损失函数,Vapnik提出了ε不敏感损失函数:其它,,,,0,,,yLwxifyiwxifyiwxfywxfε称为不敏感系数,用于控制拟合精度在给定的训练样本集中,首先考虑用线性回归函数:bxwxf来估计。为保证该式平坦,必须寻找一个最小ω,采用最小化欧式范数。假设所有训练数据均可在ε下用线性函数拟合,得到寻找最小ω的问题可表示为凸优化问题:221minw约束条件:miybxwbxwyiiii,...,2,1miybxwbxwyiiiii,...,2,1i考虑允许拟合误差情况,引入松弛因子ξ=0,回归估计问题转化为:支持向量机优化目标式变为最小化miiiCwJ1221常数C0标准ε不敏感支持向量回归机miiiCw12*21min0*,..*iiiiiiiiybxwbxwyts采用对偶原理转化为二次规划问题,建立拉格朗日方程miiiiimiiiiimiiiiimiiiiibxwybxwyCwwl11112*******21,,支持向量机根据Karush-Kuhn-Tucker(KKT)条件可以得出,位于不敏感区内的样本点相对应的αi和α*i都等于零,外部的点对应有αi=C或α*i=C,而在边界上,ξi和ξ*i均为零,因而αi,α*i∈(0,C),从而有CxwybCxwybiiiiii,0,,0,*与αi≠0和α*i≠0相对应的样本xi,即在不灵敏区边界上或外面的样本,称为支持向量。进一步得到bxxxfiSVii*f(x)可表示成iSVsiiiimiiixxw**1支持向量机对于非线性情况,SVM的基本思路是通过引入核函数(KernelFunction),将输入空间的数据通过非线性映射φ(x),映射到高维的特征空间(Hilbert空间)中,然后在特征空间中进行线性地处理。设核函数K(x,x’)满足根据核函数的定义,引入核函数K(x,x’)就可以实现某一非线性变换后的线性变换,假设非线性模型为',',xxxxK回归方程为bxxKbxwxfiSVii*bxwwxf,imiiixw1)(*支持向量机SVM的优点:⑴可以解决小样本情况下的机器学习问题。⑵可以提高泛化性能。⑶可以解决高维问题。⑷可以解决非线性问题。⑸可以避免神经网络结构选择和局部极小点问题。缺点极其解决方法:(1)SVM算法对大规模训练样本难以实施其主要改进有SMO、PCGC、CSVM以及SOR算法(2)用SVM解决多分类问题存在困难可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式和SVM决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。基于k近邻的支持向量机多模型K近邻算法将样本认为是对应于多维空间中的各个点,一个新的样本所属的类别是根据K个与其最接近的训练样本的分类情况估计得到。我们这里使用K近邻算法,不是用于确定测试样本所属的类别,而是将其作为支持向量机子模型输出结果的组合参数。由K近邻算法计算得到测试样本属于各类别的比例系数,将该比例系数作为各类别支持向量机子模型的输出权重,经加权组合后得到软测量模型的总输出。基于k近邻的支持向量机多模型设样本集为其中xi为n维输入,yi为1维输出。liyxiii,...,2,1,,p具体的算法步骤如下:1.根据主元分析的结果,采用简单距离分类方法将所有训练样本数据分为c类,并对训练样本标记对应类标签。2.将测试样本与所有训练样本进行比较(比较指计算测试样本与训练样本之间的距离),得到最近邻的K个距离。利用欧式距离但当核函数为高斯核或指数核时,可更简单地采用距离公式:21,,2,,jjjiiijijixxKxxKxxKxxxxDjiTjijijixxxxxxxxd,基于k近邻的支持向量机多模型3.根据得到的K个距离Dj(j=1,2,…,K)中各类标签的数目ns,计算测试样本属于各类别的权重系数为s=1,2,…,cKnWss其中n1+n2+…+nj+…ns=K。4.测试样本经过所有子模型,将上式表示的权重系数作为各子模型输出Yi的组合系数,从而得到最终的测试样本输出SiWYY这种改进方法的优点是考虑了所有训练样本对测试样本的影响,最大程度地保留了样本类别信息,可以有效地利用支持向量机所有子模型的有效信息。基于k近邻的支持向量机多模型其模型为输入向量xKNN分类器类别1子模型类别2子模型……类别c子模型+YY2Y1YcWcW2W1实例仿真利用此方法对双酚A生产过程中的融化罐苯酚含量进行在线估计。苯酚和丙酮在酸性介质下可生成双酚A,为使丙酮充分转化成BPA,因此必须用过量苯酚参与反应,以减少生成三苯酚(杂质)。丙酮含量比重过高,就会生成大量的副产物如丙酮的缩合物(异丙叉丙酮、双异丙叉丙酮)等。由于苯酚、丙酮的价格较贵,所以BPA生产的经济性很大程度上取决于副产物的数量及其合理利用,所以需要对融化罐苯酚含量进行预估。实例仿真①将现场采集的数据经数据预处理后得到245组样本,选择163组数据作为训练样本,82组数据作为测试样本。②根据主元分析方法,计算输入数据的各个属性对输出数据的影响度,按照影响度的大小将属性排序,如图所示:③对输出数据主元贡献率较大的属性为第三属性和第二属性,将所有训练样本按第三属性的均值为界限分为两类;在分好的两类中再以第二属性的均值为界限各分两类,即将整个训练样本分为4类,对这4个类别的数据分别建立SVM子模型。实例仿真④利用KNN方法计算测试样本属于各类别的权重,取K=80。为比较各种不同方法的建模效果,文中分别采用单一SVM模型、基于K近邻分类的多模型和文中提出的基于K近邻的SVM多模型方法进行比较。3种模型建立方法得到的测试误差如下表所示:结论:基于KNN分类方法的支持向量机多模型可以有效地改进模型性能,对泛化性能也有一定改善。参考文献[1]王永吉.基于K近邻的支持向量机多模型建模[J].江南大学学报,2010,9(1):7-10[2]和文全.基于K近邻的支持向量机分类方法[J].计算机仿真,2008,25(11):161-163[3]张国英.基于粒子群优化的快速KNN分类算法[J].山东大学学报,2006,41(3):34-3642[4]孙建平.复杂过程的多模型建模方法研究[J].仪器仪表学报,2011,32(1):132-137[5]文成林.相对主元分析及其在数据压缩和故障诊断中的应用研究[J],2008,34(9):1128-1139[6]贾淑矿.基于向量机的多模型建模方法研究及应用[D]无锡.江南大学.2009