一种解释性主成分分析方法与流程

文档序号:11216276阅读:723来源:国知局
一种解释性主成分分析方法与流程

本发明涉及机器学习中语义相关的分类问题的数据降维等应用领域,具体涉及一种用于解释性语义分组的解释性主成分分析方法。



背景技术:

随着数据科学的发展和人们对数据重视程度的加深,各类数据的数量越来越大,属性也越来越多,其中夹杂着有效信息和各种噪音,纷繁复杂,难以处理。在数据分析时,人们往往采用降低数据维度的方法来对多维度的数据进行预处理。传统的降维方法是按照某种数学计算进行表述,单纯考虑数值关系,而忽略了其中的语义因素。但事实上,针对具体问题时,由于分析数据的目的不同,即使对同一数据所赋予的具体语义也会有所不同,其解释更是各具千秋,往往会得到不同的结果。

在各种降维方法中,主成分分析方法是使用最多的方法之一,在各个领域有着广泛的应用和实践基础:如模式识别,生物、医学、化学等,并且在基础方法之上存在很多的演变算法。其确定主成分的方法主要是计算数值数据协方差矩阵的特征值,在选取特征值较大的属性作为主要成分,将非主成分作为噪音去掉。

在图像识别等实际应用问题中,数据存在大量特征,在主成分分析方法及其多种改进算法下有很好的效果。这类问题数据的特征主要在于数量,不存在实际语义,或者与实际语义无关。而与此相对,存在着另一类问题,即语义相关的分类问题,这类问题数据分析的目的与特征语义有较强的关联,人们对其分析结果的关注也更在意语义解释性,虽然使用单纯的数据分析方法可以得出一定的结果,但很多情况下的解释只能是数据决定的,这显然还有很大的提升空间。针对这类问题,本发明提出了一种新的方法,即解释性语义分组的主成分分析方法,重点从可解释性的角度来进行主要成分的选取。不仅提高了实际数据预处理的效果,更可以得到很好的解释性,使得实际结果可以和相应的解释结合起来,能让结果更具说服力。

基于语义的主成分分析方法与现有的主成分分析方法是存在显著区别的。主要表现在以下几点:1,主成分的选取:现有主成分分析方法认为,在特征信息取决于特征值的数值,换句话说,大值带更多的信息,而小特征值意味着更多的噪声;而在语义解释中,特征值较小的属性可能是本发明感兴趣的,或者对问题的理解上可能存在重要的意义。2,前提假设:现有主成分分析方法认为,特征向量的方向应该是相互正交的。如果存在较大方差的正交方向的数据,现有主成分分析的效果受到严重的影响。而在语义解释中,特征向量是正交的特征之间可能存在解释相关性,所以基于语义解释的主成分分析方法并不要求特征向量正交的这个前提条件。



技术实现要素:

本发明要解决的技术问题是:针对现有技术的上述问题,提供一种基于解释性语义分组的降维方法,把解释性语义分组方法和主成分分析方法结合起来,达到更好的数据预处理和降维效果,从而能够得到更好的分类结果的解释性主成分分析方法。

为了解决上述技术问题,本发明采用的技术方案为:

一种解释性主成分分析方法,实施步骤包括:

1)获取原始数据,从原始数据中提取数据矩阵和属性集合;

2)针对属性集合中的每一个属性根据噪音必要性系数判断是否为噪音,并提取属性集合的解释性噪音in和解释性全集iu,将解释性全集iu进行解释性划分处理得到解释性分组;

3)对数据矩阵计算协方差矩阵的特征选择,且将解释性分组经过解释性冗余的处理,参与到数据矩阵的协方差矩阵的特征选择过程中;

4)将选择得到的特征进行数据投影,得到解释性主成分分析结果。

优选地,步骤2)中针对属性集合中的每一个属性根据噪音必要性系数判断是否为噪音的详细步骤包括:针对属性集合中的每一个属性,首先计算该属性对应的噪音必要性系数,然后将该属性对应的噪音必要性系数和预设的阈值范围进行比较,如果落入预设的阈值范围则判定该属性为有用信息,否则判定该属性为噪音。

优选地,所述计算该属性对应的噪音必要性系数的函数表达式如式(1)所示;

式(1)中,nck表示第k个属性的对应的噪音必要性系数,f1b为将属性fk当做噪音之前的数据集分类后的f1分数,f1a为将属性fk当做噪音之前的数据集分类后的f1分数。

优选地,步骤2)中提取解释性噪音的函数表达式如式(2)所示;

式(2)中,in为解释性噪音,表示集合中的第一个属性,表示集合中的最后一个属性,表示属性集合中的第k个属性,f表示全部属性集合,x表示表示解释性噪音的数量。

优选地,步骤2)中提取解释性全集的函数表达式如式(3)所示;

式(3)中,iu为解释性噪音,f1表示集合的第一个属性,fn表示集合的最后一个属性,fk表示集合的第k个属性,f表示全部属性集合,in为解释性噪音,n表示解释性全集的数量。

优选地,步骤2)中将解释性全集iu进行解释性划分处理得到解释性分组时,具体是指基于式(4)所示解释正交性以及式(5)所示解释性冗余进行语义划分得到相应的解释性语义分组;所述解释正交性指每一个属性必须只能属于一种确定的解释性语义分组,所述解释性冗余指不同属性之间可能存在细粒度的关联性解释;

式(4)和式(5)中,igi表示第i个解释性语义分组,igj表示第j个解释性语义分组,id表示语义划分,ig1表示第1个解释性语义分组,igm表示第m个解释性语义分组,igk表示第k个解释性语义分组,iu为解释性噪音,m表示解释性语义分组的数量,n表示解释性全集的数量。

优选地,基于式(4)所示定义进行语义划分具体是指采用粗粒度解释性分组模式基于式(4)所示定义进行语义划分,所述粗粒度解释性分组模式具体是指根据预先设定的主成分数量,从每一个解释性语义分组选取相应数量的属性。

优选地,基于式(4)所示定义进行语义划分具体是指采用细粒度解释性分组模式基于式(4)所示定义进行语义划分,所述细粒度解释性分组模式具体是指根据对问题的理解程度,对每个语义分组的重要性先进行预判,再根据预先设定的主成分数量,从权重较大解释性语义分组中选取数量较多的属性,而对于权重较小的解释性分组,根据实际情况选取较少数量的属性或者舍弃选取。

优选地,步骤3)中对数据矩阵计算协方差矩阵的特征选择时,具体是指数据矩阵的协方差矩阵的特征值e和特征向量v,分别将特征值e记为{e1,…,em}、将特征向量v记为{v1,…,vm}。

优选地,步骤3)将解释性分组经过解释性冗余的处理包括进行组内解释性冗余处理ira和组间解释性冗余处理ire,通过组内解释性冗余处理ira将同一个解释性分组内具有联系的属性按照语义的不同划分到不同的解释性语义分组中以保证解释性语义分组内属性的排他性,通过组间解释性冗余处理ire将不同解释性分组之间具有隐关联的属性归入到同一个的解释性语义分组中以保留具有隐关联的属性之间的主成分关系。

本发明解释性主成分分析方法具有下述优点:本发明充分利用了数据分析和语义结合的思想。拓展了大数据时代“不需要追求原因”的思想,从思考解释性的角度入手,扩充并完善了主成分分析方法,

1)本发明解释性主成分分析方法为解决语义相关的分类问题,提供了更好的数据降维方法,从实际效果上看,本发明方法降维后的数据比现有的主成分分析方法有更好的适应不同分类器的能力,并能获得更好的分类效果;

2)采用本发明解释性主成分分析方法还将得到更好的解释性,对探索问题的本质和理解问题的方向和细节上有很大的帮助。

附图说明

图1是本实施例一解释性主成分分析方法的流程图,流程不局限于特定数据集。

图2是本发明实施例一应用于多种算法(pca和ipca-1,ipca-2,ipca-2(n))在加州大学欧文分校森林火灾数据集的实际效果。

图3是本发明实施例一应用于多种算法(kpca和ikpca-1,ikpca-2,ikpca-2(n))在加州大学欧文分校森林火灾数据集的实际效果。

图4是本发明实施例一应用于多种算法(ppca和ippca-1,ippca-2,ippca-2(n))在加州大学欧文分校森林火灾数据集的实际效果。

图5是在森林火灾数据集上,本发明实施例一解释性主成分分析方法与多种算法的效果比较;比较了ipca与pca,kpca和ppca算法的效果。

图6是在森林火灾数据集上,本发明实施例一解释性主成分分析方法选择不同属性数量的效果比较,比较了4种,6种和8种属性的效果。

具体实施方式

下面以美国加州大学欧文分校(uci)的机器学习仓库项目中的森林火灾数据集的解释性主成分分析为例,对本发明的解释性主成分分析方法进行进一步的详细说明。

实施例一:如图1所示,本实施例解释性主成分分析方法的实施步骤包括:

1)获取原始数据,从原始数据中提取数据矩阵和属性集合;

本实施例中,从http://archive.ics.uci.edu/ml/datasets/forest+fires获取实验数据(美国加州大学欧文分校(uci)的机器学习仓库项目中的森林火灾数据集)。该数据集是机器学习领域的最有影响力的公开数据集,其主要目标是收集并发布各种机器学习问题的真实数据集,供来自全球的科研工作者进行实验比对。该森林火灾数据集包含13个属性,517条数据。原始数据是进行复杂的数值预测,数据矩阵的大小为517*13,每个属性具有明确的语义。为了将其处理成本发明需要的数据,本发明将其处理为分类问题,即将火灾面积属性处理为发生火灾(1)或不发生火灾(0)。处理之后的数据矩阵仍为517*13。

2)针对属性集合中的每一个属性根据噪音必要性系数判断是否为噪音,并提取属性集合的解释性噪音in和解释性全集iu,将解释性全集iu进行解释性划分处理得到解释性分组;本实施例中,数据集的解释性噪音in为空集,解释性全集iu为除标签属性之外的12个属性。

本实施例中,步骤2)中针对属性集合中的每一个属性根据噪音必要性系数判断是否为噪音的详细步骤包括:针对属性集合中的每一个属性,首先计算该属性对应的噪音必要性系数,然后将该属性对应的噪音必要性系数和预设的阈值范围进行比较,如果落入预设的阈值范围则判定该属性为有用信息,否则判定该属性为噪音。

本实施例中,计算该属性对应的噪音必要性系数的函数表达式如式(1)所示;

式(1)中,nck表示第k个属性的对应的噪音必要性系数,f1b为将属性fk当做噪音之前的数据集分类后的f1分数,f1a为将属性fk当做噪音之前的数据集分类后的f1分数。在一般情况下,当nck在0到0.5之间时,可认为属性fk是有用信息,不应该被当做噪音处理。相反,当nck接近1时,属性fk应该当做噪音被舍弃。在解决实际问题时,可以根据具体的精度要求设定阈值,当nck超过阈值时,属性fk即被判别为噪音处理。

本实施例中,步骤2)中提取解释性噪音的函数表达式如式(2)所示;

式(2)中,in为解释性噪音,表示集合中的第一个属性,表示集合中的最后一个属性,表示属性集合中的第k个属性,f表示全部属性集合,x表示表示解释性噪音的数量。

本实施例中,步骤2)中提取解释性全集的函数表达式如式(3)所示;

式(3)中,iu为解释性噪音,f1表示集合的第一个属性,fn表示集合的最后一个属性,fk表示集合的第k个属性,f表示全部属性集合,in为解释性噪音,n表示解释性全集的数量。

本实施例中,步骤2)中将解释性全集iu进行解释性划分处理得到解释性分组时,具体是指基于式(4)所示解释正交性以及式(5)所示解释性冗余进行语义划分得到相应的解释性语义分组;所述解释正交性指每一个属性必须只能属于一种确定的解释性语义分组,所述解释性冗余指不同属性之间可能存在细粒度的关联性解释;

式(4)和式(5)中,igi表示第i个解释性语义分组,igj表示第j个解释性语义分组,id表示语义划分,ig1表示第1个解释性语义分组,igm表示第m个解释性语义分组,igk表示第k个解释性语义分组,iu为解释性噪音,m表示解释性语义分组的数量,n表示解释性全集的数量。第i个解释性语义分组表达式如下:

本实施例中,基于式(4)所示定义进行语义划分具体是指采用粗粒度解释性分组模式基于式(4)所示定义进行语义划分,所述粗粒度解释性分组模式具体是指根据预先设定的主成分数量,从每一个解释性语义分组选取相应数量的属性。粗粒度解释性分组模式在无法区分两个属性的语义重要程度时,可以借鉴现有的主成分分析方法,根据数据矩阵的特征值大小进行选择,以特征值大的属性为保留的主成分。这种模式简单易行,对语义组整体的考虑权重较大,在对问题理解不深入,或者理解问题的初期有一定的帮助,是快速确定问题理解方向的一种模式。

本实施例中,将除了分类标签之外的属性进行语义划分,得到一组的解释性分组为ig1={x,y},语义解释为地理信息分组;ig2={month,day},解释为时间信息分组;ig3={ffmc,dmc,dc,isi},解释为fwi系统索引分组;ig4={temp,rh,wind,rain},解释为气象信息分组。为了方便起见,本实施例中将属性标记为f0到f11。

3)对数据矩阵计算协方差矩阵的特征选择,且将解释性分组经过解释性冗余的处理,参与到数据矩阵的协方差矩阵的特征选择过程中。

本实施例中,步骤3)中对数据矩阵计算协方差矩阵的特征选择时,具体是指数据矩阵的协方差矩阵的特征值e和特征向量v,分别将特征值e记为{e1,…,em}、将特征向量v记为{v1,…,vm}。

本实施例中,步骤3)将解释性分组经过解释性冗余的处理包括进行组内解释性冗余处理ira和组间解释性冗余处理ire,通过组内解释性冗余处理ira将同一个解释性分组内具有联系的属性按照语义的不同划分到不同的解释性语义分组中以保证解释性语义分组内属性的排他性,通过组间解释性冗余处理ire将不同解释性分组之间具有隐关联的属性归入到同一个的解释性语义分组中以保留具有隐关联的属性之间的主成分关系。

利用解释性冗余(ir)调整解释性分组(ig)时,由于解释正交性(io)的要求,每个属性只能在一个解释性分组(ig)中出现,但是有些属性之间存在信息上的相关性或者联系,在理解或解释问题时,就造成了冗余性。主要有以下两种情况。(1)组内解释性冗余(ira)。同一个语义分组中的属性之间,本身就存在着某种语义上的联系。这种联系将这几个属性紧密结合在一起,排除了其他属性的单纯数值信息干扰,能够很好的保证语义相关的属性结合在一起。如a、b、c三个属性,假设从数值信息上看有一定的联系,但从语义上看,a和c是地理信息,b是年龄,组内解释性冗余决定了b将不能和ac安排在同一个解释性语义分组(ig)之内。即保证了语义分组内属性的排他性。(2)组间解释性冗余(ire)。有些属性虽然处于不同的语义分组中,不存在直接联系,但是它们之间存在一定的隐关联,这种关联需要一定专业知识的介入才可以理清,但这种冗余对于主成分的选择是非常有帮助的。如a、b、c三个属性,假设从数值信息上看有一定的联系,但从专业知识的解释上看,a和c是b是输入参数,组内解释性冗余决定了,当主成分数量有限时,b和ac不需要同时存在,但当b或者ac对问题的理解有帮助时,则需要同时保留以加强这种主成分关系。即加强了主成分选择时的可控性。

本实施例中将解释性分组经过解释性冗余的处理时,语义分组不存在解释性冗余。对数据矩阵计算协方差矩阵的特征选择时,具体是指数据矩阵的协方差矩阵的特征值e和特征向量v时,特征值按照从大到小的顺序排列,依次为{e0,e1,e2,e3,e4,e5,e6,e7,e11,e8,e9,e10}。本实施例中对数据矩阵计算协方差矩阵的特征选择时,本发明根据初始数据集的属性数量12个(不含标签属性),将主要成分的数量分别选定为4个(三分之一),6个(半数)和8个(三分之二),其中属性数量的误差不超过1个(10%)。与现有的主成分分析方法不同,本实施例的主要成分选择是根据对专业知识和问题的理解,而不是特征值的大小。对四个语义分组的理解,本实施例认为气象因素和地理因素最为重要,fwi火警系统的参数有以上因素得出,权重稍低,而时间因素影响较低。在此理解和数值特征值计算的基础上,本发明选取三分之一的主成分为{f1,f8,f9,f10},半数的主成分为{f0,f5,f8,f9,f11},三分之二的主成分为{f0,f1,f3,f4,f8,f9,f10}。

4)将选择得到的特征进行数据投影,得到解释性主成分分析结果。

本实施例解释性主成分分析方法对数据进行语义分组,按照语义分组方法进行主要成分的选择,结合主成分分析方法对数据进行降维处理,对处理后的数据进行多分类器分类,验证方法的稳定性和有效性,同时由于语义分组的引入,提高了结果的可解释性。本实施例解释性主成分分析方法的主要目的是为了进行数据降维,得到的数据是为了分类问题做准备,所以为了验证效果,本实施例解释性主成分分析方法选择了多个分类器,以保证得到的数据对分类器并不敏感,进而有很好的鲁棒性。本实施例解释性主成分分析方法选择了决策树分类器(dt),线性回归分类器(lr),朴素贝叶斯分类器(nb)和支持向量机分类器(svm)这四种分类器,基本涵盖了主流数据的各类情况,从线性可分数据到线性不可分数据,足以体现出本实施例解释性主成分分析方法的优势。

在选择好主成分以后,将初始数据乘以相应的特征向量组成的矩阵得到投影后的数据。实验结果表明,本实施例解释性主成分分析方法取得的效果比现有主成分分析方法更显著,如图2~图4所示,横轴的分类器分别表示决策树分类器(dt),线性回归分类器(lr),朴素贝叶斯分类器(nb)和支持向量机分类器(svm)这四种分类器,图2中,pca表示主成分分析算法、ipca-1表示解释性主成分分析算法的一种解释性分组、ipca-2表示解释性主成分分析算法的第二种解释性分组、ipca-2(n)表示解释性主成分分析算法的第三种解释性分组;图3中,kpca表示核主成分分析算法、ikpca-1表示解释性核主成分分析算法的一种解释性分组、ikpca-2表示解释性核主成分分析算法的第二种解释性分组、ikpca-2(n)表示解释性核主成分分析算法的第三种解释性分组;图4中,ppca表示概率主成分分析算法、ippca-1表示解释性概率主成分分析算法的一种解释性分组、ippca-2表示解释性概率主成分分析算法的第二种解释性分组、ippca-2(n)表示解释性给绿主成分分析算法的第三种解释性分组。

为了进一步保证本实施例解释性主成分分析方法的应用普适性,不仅将本实施例解释性主成分分析方法(i-method,即ipca,ikpca和ippca)应用在主成分分析方法(pca),还应用在核主成分分析(kpca)和概率主成分分析方法(ppca)上,都取得了不错的效果,并验证了对一种方法的改进,可以超过3种现有的方法,如图5所示,其中横轴的分类器分别表示决策树分类器(dt),线性回归分类器(lr),朴素贝叶斯分类器(nb)和支持向量机分类器(svm)这四种分类器,ipca-2(n)表示解释性主成分分析算法的一种解释性分组、pca表示主成分分析算法、kpca表示核主成分分析算法、ppca表示概率主成分分析算法。为了验证本发明方法的效果,本实施例解释性主成分分析方法还进行了同一方法在不同主成分数量时的效果,如图6所示,其中横轴的分类器分别表示决策树分类器(dt),线性回归分类器(lr),朴素贝叶斯分类器(nb)和支持向量机分类器(svm)这四种分类器,三种曲线分别代表第8、6、4种属性的效果。经真实数据验证,本发明在普适性和分类效果方面有明显的优势。

综上所述,本实施例解释性主成分分析方法从可解释性的基本思想出发,以面向实际问题的角度,在主成分分析方法的基础上,进一步分析了噪音,减小了噪音带来的影响。完善并改进了主成分分析方法中的主要成分选择的方式,打破了单纯按特征值选取主要成分的局限。并且进一步将方法扩展至其改进算法了,实现了主成分分析方法,核主成分分析方法,概率主成分分析方法的解释性语义分组改进方法,本发明基于解释性语义分组的降维方法,把解释性语义分组方法和主成分分析方法结合起来,达到更好的数据预处理和降维效果,从而能够得到更好的分类结果。

实施例二:

本实施例与实施例一基本相同,其主要区别点为:基于式(4)所示定义进行语义划分具体是指采用细粒度解释性分组模式基于式(4)所示定义进行语义划分,所述细粒度解释性分组模式具体是指根据对问题的理解程度,对每个语义分组的重要性先进行预判,再根据预先设定的主成分数量,从权重较大解释性语义分组中选取数量较多的属性,而对于权重较小的解释性分组,根据实际情况选取较少数量的属性或者舍弃选取。细粒度解释性分组模式完全使用语义和对问题的理解进行属性重要程度的区分,不考虑特征值的大小。这种模式要求对问题的理解有一定程度的深入,或者具备问题领域一定深度的专业知识,是深入问题理解的一种模式,可以取得较高的效果。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1