一种基于基因表达式编程的N中心点分类方法技术

技术编号:11593915 阅读:85 留言:0更新日期:2015-06-11 02:29
一种基于基因表达式编程的N中心点分类方法,包括有:步骤一、将分类训练数据划分为含类标记数据集和不含类标记数据集;步骤二、在不含类标记数据集的多维空间中根据距离公式搜索类中心点;步骤三、在含类标记数据集上评估搜索得到的类中心点的准确性;步骤四、采用基因表达式编程方法表达、搜索和更新得到新的类中心点;步骤五、根据计算未知点与类中心点的距离,对未知点的类型进行分类。步骤六、重复步骤三、步骤四、步骤五,直到目标函数满足停止条件。本发明专利技术属于机器学习技术领域,能降低方法的计算量,同时避免对非平衡数据的敏感性。

【技术实现步骤摘要】

本专利技术涉及一种基于基因表达式编程的N中心点分类方法,属于机器学习技术领 域。
技术介绍
基于距离的分类方法将每个数据表示为数值向量,为每个类构造一个类中心。分 类时,计算待分类数据与每个类中心点的距离,待分类数据的类别即为与之最近的类中心 点所表示的类。 k最近邻分类方法是一种常用的基于距离的分类方法。它避免直接构造类中心的 困难,通过计算找到k个与待分类数据最接近的数据点,待分类数据的类别即为这k个数据 中个数最多的类别。k最近邻方法是普遍采用的一种基于距离的分类方法,但是方法的准确 率对k的取值和训练集数据的平衡性较敏感,且每测试一个待分类数据的计算量较大。基 因表达式编程具有对数据分布和输入顺序不敏感,能快速进行全局搜索的特性,在数据挖 掘和函数优化方面取得了很好的效果。 因此,如何采用遗传方法的思想,结合中心点分类方法降低方法的计算量,同时避 免对非平衡数据的敏感性,仍是一个未解决的技术问题。
技术实现思路
本专利技术要克服现有技术的上述缺点,提供一种基于基因表达式编程的N中心点分 类方法,能降低分类过程的计算量,同时避免对非平衡数据的敏感性。 为了达到上述目的,本专利技术提供了一种基于基因表达式编程的N中心点分类方 法。包括有:步骤一、将分类训练数据划分为含类标记数据集和不含类标记数据集;步骤 二、在不含类标记数据集的多维空间中根据距离公式搜索类中心点;步骤三、在含类标记数 据集上评估搜索得到的类中心点的准确性;步骤四、采用基因表达式编程方法表达、搜索和 更新得到新的类中心点;步骤五、根据计算未知点与类中心点的距离,对未知点的类型进行 分类。步骤六、重复步骤三、步骤四、步骤五,直到目标函数满足停止条件。 本专利技术的技术方法如下所述: 一种基于基因表达式编程的N中心点分类方法,包括如下步骤: 步骤S1、将训练数据集X随机划分为大小相等的含类标记数据集X1和不含类标记 数据集Xu。 步骤S2、对一个η类分类问题,从不含类标记数据集Xu中随机选择η个数据点作 为初始类中心点Cn。 步骤S3、计算不含类标记数据集Xu中数据Axi与类中心点Cj之间的距离 d(Xi,Cj),根据距离d(Xi,(^将Xu中的每个数据点指派给最小距离值所对应类中心点c』所 代表的类。其中1 1表示训练数据集X中的第i个数据点,h表示η个中心点中的第j个中 心点。 步骤S4、采用基于基因表达式编程方法的N中心点分类方法表达、搜索和更新类 中心点。对基因表达式编程的基因进行必要的选择和变异等遗传操作。 步骤S5、根据含类标记数据集X1中数据点的实际类分布情况,计算目标函数0。 步骤S6、重复步骤S3,步骤S4,步骤S5直到目标函数0满足停止条件。 进一步,步骤S3中采用数据点与类中心点之间的距离来进行指派的过程如下: 步骤S31、对不含类标记数据集Xu中的每个数据点Xi,计算其与各类中心点C j之 间的距离d(Xi,Cj)。其中距离d(Xi, Cj)为数据点\与中心点c」之间的欧几里得距离。 步骤S32、将该数据点Xi指派给最小距离值min{d(x i, C」)} (j e {1,…,N}所对应 的类中心点Cj。 步骤S33、指派结束后,计算最小距离总和D,并将指派结果和数据集&中数据的 实际类分布情况做比较,得出命中数H,即正确分类的数据点个数。 进一步,步骤S4中基于基因表达式编程的N中心点分类方法,具体是: 基于基因表达式编程的基因分为头部和尾部两个部分。对一个η类分类问题,方 法从数据集X u中随机选择η个数据点作为初始类中心点Ix i,χ2, ...,χη}构成基因的尾部, 根据类中心点在基因尾部中的位置顺序,Xl,x2, ...,Xn依次表示类c i,c2,......,cn。基因 头部是两种特殊的二元运算符:左移运算符< 和右移运算符 >,这两种运算符统称移动运 算符。 进一步,步骤S4所述的表示方法的移动运算符过程为: 步骤S41、计算在左移运算符对应的右子树或右移运算符对应的左子树中的类中 心点Ix 1, x2, ...,xk}的均值点Xm_= (X ^ X2, .·.,Xm)。其中,k为子树中所含类中心点的个 数,m为属性个数。Xmean的第i个属性值【主权项】1. 一种基于基因表达式编程的N中心点分类方法,其特征在于,包括有: 步骤S1、将训练数据集X随机划分为大小相等的含类标记数据集&和不含类标记数据 集Xu; 步骤S2、对一个n类分类问题,从不含类标记数据集Xu中随机选择n个数据点作为初 始类中心点CN; 步骤S3、计算不含类标记数据集Xu中数据点xi与类中心点c」之间的距离d(xi,Cj),根 据距离d(Xi,Cj)将Xu中的每个数据点指派给最小距离值所对应类中心点c』所代表的类。 其中示训练数据集X中的第i个数据点,q表示n个中心点中的第j个中心点; 步骤S4、采用基于基因表达式编程方法的N中心点分类方法表达、搜索和更新类中心 点。对基因表达式编程的基因进行必要的选择和变异等遗传操作; 步骤S5、根据含类标记数据集&中数据点的实际类分布情况,计算目标函数0。 步骤S6、重复步骤S3,步骤S4,步骤S5直到目标函数0满足停止条件。2. 根据权利要求1的所述的方法,其特征在于:所述步骤S3中采用数据点与类中心点 之间的距离来进行指派的过程如下: 步骤S31、对不含类标记数据集Xu中的每个数据点xi,计算其与各类中心点之间的 距离d(Xi,Cj)。其中距离d(Xi,Cj)为数据点\与中心点c」之间的欧几里得距离; 步骤S32、将该数据点Xi指派给最小距离值min{d(xi,Cj)}(jG{1,…,N}所对应的类 中心点cj; 步骤S33、指派结束后,计算最小距离总和D,并将指派结果和数据集&中数据的实际 类分布情况做比较,得出命中数H,即正确分类的数据点个数。3. 根据权利要求1的所述的方法,其特征在于:所述步骤S4中基于基因表达式编程的 N中心点分类方法,具体是:基于基因表达式编程的基因分为头部和尾部两个部分;对一个 n类分类问题,方法从数据集Xu中随机选择n个数据点作为初始类中心点{xx2,. . .,xn} 构成基因的尾部,根据类中心点在基因尾部中的位置顺序,Xl,x2,...,xn依次表示类 Cl,c2,......,cn;基因头部是两种特殊的二元运算符:左移运算符<和右移运算符>,这两 种运算符统称移动运算符。4. 根据权利要求1的所述的方法,其特征在于:所述步骤S4所述移动运算符过程为: 步骤S41、计算在左移运算符对应的右子树或右移运算符对应的左子树中的类中心点 {xpx2,. . .,xk}的均值点Xm_=(XX2,. ? .,Xm);其中,k为子树中所含类中心点的个数,m 为属性个数。Xm6an的第i个属性值A ,Xji表示中心点xj的第i个属性值; 冗j:l 步骤S42、产生一个随机移动因子RMF。RMF决定运算符一边子树的每个类中心点相对 于另一边子树的所含类中心点的均值点X_n的移动幅度;因为随机移动因子每次都随机产 生,使得类中心点每次能够进行不同幅度的移动,从而增加了种群多样性本文档来自技高网...

【技术保护点】
一种基于基因表达式编程的N中心点分类方法,其特征在于,包括有:步骤S1、将训练数据集X随机划分为大小相等的含类标记数据集Xl和不含类标记数据集Xu;步骤S2、对一个n类分类问题,从不含类标记数据集Xu中随机选择n个数据点作为初始类中心点CN;步骤S3、计算不含类标记数据集Xu中数据点xi与类中心点cj之间的距离d(xi,cj),根据距离d(xi,cj)将Xu中的每个数据点指派给最小距离值所对应类中心点cj所代表的类。其中xi表示训练数据集X中的第i个数据点,cj表示n个中心点中的第j个中心点;步骤S4、采用基于基因表达式编程方法的N中心点分类方法表达、搜索和更新类中心点。对基因表达式编程的基因进行必要的选择和变异等遗传操作;步骤S5、根据含类标记数据集Xl中数据点的实际类分布情况,计算目标函数O。步骤S6、重复步骤S3,步骤S4,步骤S5直到目标函数O满足停止条件。

【技术特征摘要】

【专利技术属性】
技术研发人员:李曲
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1