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

文档序号:8381064阅读:217来源:国知局
一种基于基因表达式编程的n中心点分类方法
【技术领域】
[0001] 本发明涉及一种基于基因表达式编程的N中心点分类方法,属于机器学习技术领 域。
【背景技术】
[0002] 基于距离的分类方法将每个数据表示为数值向量,为每个类构造一个类中心。分 类时,计算待分类数据与每个类中心点的距离,待分类数据的类别即为与之最近的类中心 点所表示的类。
[0003] k最近邻分类方法是一种常用的基于距离的分类方法。它避免直接构造类中心的 困难,通过计算找到k个与待分类数据最接近的数据点,待分类数据的类别即为这k个数据 中个数最多的类别。k最近邻方法是普遍采用的一种基于距离的分类方法,但是方法的准确 率对k的取值和训练集数据的平衡性较敏感,且每测试一个待分类数据的计算量较大。基 因表达式编程具有对数据分布和输入顺序不敏感,能快速进行全局搜索的特性,在数据挖 掘和函数优化方面取得了很好的效果。
[0004] 因此,如何采用遗传方法的思想,结合中心点分类方法降低方法的计算量,同时避 免对非平衡数据的敏感性,仍是一个未解决的技术问题。

【发明内容】

[0005] 本发明要克服现有技术的上述缺点,提供一种基于基因表达式编程的N中心点分 类方法,能降低分类过程的计算量,同时避免对非平衡数据的敏感性。
[0006] 为了达到上述目的,本发明提供了一种基于基因表达式编程的N中心点分类方 法。包括有:步骤一、将分类训练数据划分为含类标记数据集和不含类标记数据集;步骤 二、在不含类标记数据集的多维空间中根据距离公式搜索类中心点;步骤三、在含类标记数 据集上评估搜索得到的类中心点的准确性;步骤四、采用基因表达式编程方法表达、搜索和 更新得到新的类中心点;步骤五、根据计算未知点与类中心点的距离,对未知点的类型进行 分类。步骤六、重复步骤三、步骤四、步骤五,直到目标函数满足停止条件。
[0007] 本发明的技术方法如下所述:
[0008] 一种基于基因表达式编程的N中心点分类方法,包括如下步骤:
[0009] 步骤S1、将训练数据集X随机划分为大小相等的含类标记数据集X1和不含类标记 数据集Xu。
[0010] 步骤S2、对一个η类分类问题,从不含类标记数据集Xu中随机选择η个数据点作 为初始类中心点Cn。
[0011] 步骤S3、计算不含类标记数据集Xu中数据Axi与类中心点Cj之间的距离 d(Xi,Cj),根据距离d(Xi,(^将Xu中的每个数据点指派给最小距离值所对应类中心点c』所 代表的类。其中1 1表示训练数据集X中的第i个数据点,h表示η个中心点中的第j个中 心点。
[0012] 步骤S4、采用基于基因表达式编程方法的N中心点分类方法表达、搜索和更新类 中心点。对基因表达式编程的基因进行必要的选择和变异等遗传操作。
[0013] 步骤S5、根据含类标记数据集X1中数据点的实际类分布情况,计算目标函数0。
[0014] 步骤S6、重复步骤S3,步骤S4,步骤S5直到目标函数0满足停止条件。
[0015] 进一步,步骤S3中采用数据点与类中心点之间的距离来进行指派的过程如下:
[0016] 步骤S31、对不含类标记数据集Xu中的每个数据点Xi,计算其与各类中心点C j之 间的距离d(Xi,Cj)。其中距离d(Xi, Cj)为数据点\与中心点c」之间的欧几里得距离。
[0017] 步骤S32、将该数据点Xi指派给最小距离值min{d(x i, C」)} (j e {1,…,N}所对应 的类中心点Cj。
[0018] 步骤S33、指派结束后,计算最小距离总和D,并将指派结果和数据集&中数据的 实际类分布情况做比较,得出命中数H,即正确分类的数据点个数。
[0019] 进一步,步骤S4中基于基因表达式编程的N中心点分类方法,具体是:
[0020] 基于基因表达式编程的基因分为头部和尾部两个部分。对一个η类分类问题,方 法从数据集X u中随机选择η个数据点作为初始类中心点Ix i,χ2, ...,χη}构成基因的尾部, 根据类中心点在基因尾部中的位置顺序,Xl,x2, ...,Xn依次表示类c i,c2,......,cn。基因 头部是两种特殊的二元运算符:左移运算符< 和右移运算符 >,这两种运算符统称移动运 算符。
[0021] 进一步,步骤S4所述的表示方法的移动运算符过程为:
[0022] 步骤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的移动幅度;因为随机移动因子每次都随机产 生,使得类中心点每次能够进行不同幅度的移动,从而增加了种群多样性;这里,随机移动 因子的计算公式定义为: RMF=cos(Jr*d)/i 其中,d为区间[0,1]上的随机浮点数,i为[l,k](k>l为整数)之间的随机整数,从上 式可以看出RMF属于区间[-1,1]; 步骤S43、根据X_dPRMF得到移动向量Ym_=(Yi,Y2,. . .,Ym),Ym的第i个属性值Yi=X^RMF,XiS均值点Xmean的第i个属性值; 步骤S44、将左移运算符对应的右子树或右移运算符对应的左子树中的类中心点依次 加上移动向量Y_e形成新的类中心点。
5. 根据权利要求1的所述的方法,其特征在于:所述根据步骤4所述的表示方法进 一步包括:生成一个[0, 1]之间的随机数r,当r大于预先设定的变异概率p时,进行变异 操作;对于基因头部,变异算子随机将左移运算符〈变异成右移运算符〉,或将右移运算符 >变异成左移运算符〈;对于基因尾部,变异算子随机选择数据集Xu中的数据点替换尾部中 的类中心点。
6. 根据权利要求1的所述的方法,其特征在于:所述根据步骤S5所述的表示方法具体 是:目标函数〇为一个以命中数H和最小距离总和D为自变量的函数表达式的值,计算公式 (1): 0 =H*w+1/D (1) 其中H为命中数,D为最小距离总和,w为区间(0, 1)上的一个常数;该公式综合考虑 了命中数H和最小距离总和D对划分方案优劣的影响。
【专利摘要】一种基于基因表达式编程的N中心点分类方法,包括有:步骤一、将分类训练数据划分为含类标记数据集和不含类标记数据集;步骤二、在不含类标记数据集的多维空间中根据距离公式搜索类中心点;步骤三、在含类标记数据集上评估搜索得到的类中心点的准确性;步骤四、采用基因表达式编程方法表达、搜索和更新得到新的类中心点;步骤五、根据计算未知点与类中心点的距离,对未知点的类型进行分类。步骤六、重复步骤三、步骤四、步骤五,直到目标函数满足停止条件。本发明属于机器学习技术领域,能降低方法的计算量,同时避免对非平衡数据的敏感性。
【IPC分类】G06F17-30
【公开号】CN104699804
【申请号】CN201510124900
【发明人】李曲
【申请人】浙江工业大学
【公开日】2015年6月10日
【申请日】2015年3月20日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1