首页> 中国专利> 一种面向复杂模式分类的特征选择方法

一种面向复杂模式分类的特征选择方法

摘要

本发明提出了一种面向复杂模式分类的特征选择方法,该方法是在传统遗传方法的基础上,通过改进种群的结构为双环智能体网络结构,使种群分为多个子种群,子种群间通过共享智能体传递信息,所有子种群的遗传进化同步进行,改进的动态邻域竞争操作和邻域自适应交叉操作方法提高了遗传进化效率,同时引入二进制编码方式表达某个特征是否被选中,方便编码和解码,实现高效的特征选择。与传统的特征选择相比,该选择方法具有较高的自适应性,可在高维多峰的特征空间中进行快速搜索,并有效避免陷入局部极值,获得较满意的特征选择效果。

著录项

  • 公开/公告号CN101324926A

    专利类型发明专利

  • 公开/公告日2008-12-17

    原文格式PDF

  • 申请/专利权人 重庆大学;

    申请/专利号CN200810070033.8

  • 申请日2008-07-25

  • 分类号

  • 代理机构重庆市前沿专利事务所;

  • 代理人郭云

  • 地址 400044 重庆市沙坪坝区沙坪坝正街174号

  • 入库时间 2023-12-17 21:06:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-09-11

    未缴年费专利权终止 IPC(主分类):G06K9/62 授权公告日:20111109 终止日期:20120725 申请日:20080725

    专利权的终止

  • 2011-11-09

    授权

    授权

  • 2009-02-11

    实质审查的生效

    实质审查的生效

  • 2008-12-17

    公开

    公开

说明书

技术领域

本发明属于模式分类技术领域,具体地说,涉及一种面向复杂模式分类的特征选择方法。

背景技术

模式分类问题目前广泛应用于社会的各个领域,如图像分类、数据挖掘、信息检索、信息提取、语音识别等,其处理方法通常包括如下几个部分:样本预处理、特征提取、特征选择、分类。其中,特征选择是模式分类系统中重要的预处理过程。在模式分类系统中,经过特征提取后的样本往往含有大量的特征,特征选择就是从这些大量的特征中过滤掉对分类无关或作用较小的特征,选择出对分类非常有用的特征,以便分类器分类。因此特征选择的结果影响着分类的效率和准确率。

近年来,模式分类问题已经变得越来越复杂,这主要表现在模式类别增多、类与类之间的区别越来越微妙、待分类的样本数越来越多等等,特征是否包含足够的类别信息越来越难以确定。为了提高分类准确率,总是最大限度地提取特征,结果不仅使特征维数增大,而且可能存在较大的相关性和冗余,这给特征的进一步处理和分类器的实现都带来很大的困难。因而,需要在不降低或尽量不降低分类准确率的前提下,尽量降低特征维数,这使得特征选择在复杂模式分类问题中显得更为重要。

特征选择中主要有两个问题要解决,一是选择结果的评价准则,即要选出使某一可分性能达到最大的特征子集来。另一个问题是要找到一个较好的搜索方法,以便在允许的时间内找出最优的那一个特征子集(即那一组最优的特征组合)。现有技术中前一个问题的解决方案已经比较成熟,而提出一种高效率的特征选择搜索方法是函待解决的重要课题,尤其是对于复杂的模式分类问题。在高效率的特征选择方法基础上才能实现高效率的特征选择。

传统的特征选择方法主要包括分支定界法、顺序前进法、顺序后退法、增l减r法。由于复杂模式分类问题导致搜索空间变得复杂,常常是一个高维多峰的搜索空间,因此采用这些传统的搜索方法的特征选择方法往往容易陷入局部极值而得到局部最优的特征子集。穷举法是一种基本的遍历搜索方法,但复杂的模式分类问题带来的高维搜索空间使得待搜索的点非常巨大,在有限的时间里遍历这些点是不实际的。

近年来也出现了针对传统方法的一些新技术:为了减少选择所需时间同时能得到最优解,提出了具有回溯功能的分支定界法,它是一种自下而上方法,可使所有可能的特征组合都被考虑到。由于合理地组织搜索过程,使得有可能避免计算某些特征组合而不影响结果为最优。但是当搜索空间较为复杂的时候,需要回溯的分支点较多,因此需要大量空间记录这些分支点。为了进一步减少选择时间,不得不放弃最优解而采用计算量小的次优搜索方法。模拟退火法是一种基于Mente Carlo(蒙特卡洛)迭代求解策略的一种随机寻优方法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。该方法在某一初温下,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解。但是,初温不可能给无限高,温度下降也不可能无限慢,因此模拟退火法实际上寻找的是局部次优解,由于复杂模式分类问题的特征搜索空间高维多峰,因此该方法常常得到的是局部次优的特征子集。

遗传方法是一种优良的全局优化方法。它是基于“适者生存”的一种高度并行、随机和自适应的优化方法,它将问题的求解表示成“染色体”的适者生存过程,通过“染色体”群的一代代不断进化,包括选择、交叉和变异等操作,最终收敛到“最适应环境”的个体,从而求得问题的最优解或满意解。遗传方法是一种通用的优化方法,其编码技术和遗传操作比较简单,优化不受限制性条件的约束,而其两个最显著特点则是隐含并行性和全局解空间搜索。目前,随着计算机技术的发展,GA愈来愈得到人们的重视,并在机器学习、模式识别、图像处理、神经网络、优化控制、组合优化、VLSI设计等诸多领域,显示出GA强大的求解问题的能力以及其广阔的研究和应用前景[1-2]

尽管遗传方法具有如此多的优点,但传统的遗传方法仍然存在收敛速度慢,搜索效率不高的问题。因此,近年来出现了一些改进的遗传方法。但是这些改进的遗传方法主要集中在对遗传进化操作的改进[3-5],很少涉及对种群结构的改进;其次遗传操作必须在整个种群进行,不仅需要大量的计算(例如选择过程需要在整个种群中选择个体),同时还容易降低种群的多样性,不符合现实的自然界中的进化状况,导致过早收敛;因此,高性能的改进遗传方法还有待进一步研究。Weicai Zhong等人引入智能体实现了一种新的种群网络结构-网格式智能体结构,并结合遗传方法的搜索方式提出了一种多智能体遗传方法,在数值优化领域中取得了重要的改进效果,但是还未引入到特征选择中加以研究,且其优化速度和精度还有待提高[6]。而且我们在研究中发现,该智能体遗传方法中智能体个体邻域竞争不是动态的,并且由于其采用四邻域的智能体网络结构,容易造成某些优势个体占据多个网络格点,即易导致局部顶端优势,从而不利于保持种群的多样性,易出现“早熟”现象。

参考文献

[1]Nenad Mladenovic,Milan Drazic,Vera Kovac evic-Vujcic,et al.Generalvariable neighborhood search for the continuous optimization.European Journal ofOperational Research,2008,191(3):753-770

[2]Steven Orla Kimbrough,Gary J.Koehler,Ming Lu,et al.On aFeasible-Infeasible Two-Population(FI-2Pop)genetic algorithm for constrainedoptimization:Distance tracing and no free lunch.European Journal of OperationalResearch,2008,190(2):310-327

[3]Zbigniew Michalewicz and David B.Fogel.How to solve it:ModernHeuristics.Springer-Verlag Berlin Heidelberg 2000:83-234

[4]Y.W.Leung and Y.Wang.An orthogonal genetic algorithm with quantizationfor global numerical optimization.IEEE Trans.evol.comput.,2001,5(2):41-53

[5]H Muhlenbein and D Schlierkamp-vose.Predictive models for the breedergenetic algorithm.Evol.computat,1993,1(1):25-49

[6]Weicai Zhong,Jing Liu,Mingzhi Xue,et al.A Multi-agent GeneticAlgorithm for Global Numerical Optimization.IEEE transactions on systems,manand cybernetics,2004,34(2):1128-1141

发明内容

本发明的目的是提出一种面向复杂模式分类的特征选择方法,在传统遗传方法的基础上,通过改进种群的结构,使遗传操作更符合自然界的进化规律,遗传方法的收敛速度和搜索效率也能得到提高,加快特征选择的速度,并能够从全局得到最优解,最大程度的选出有利于分类的特征。

为了实现上述目的,本发明提出一种面向复杂模式分类的特征选择方法,其关键在于按照下列步骤进行:

(1)采集经过特征提取后得到的样本数据集;

所述样本数据集可以是不同类型的数据集,如图像数据、声音数据、系统故障数据等,该样本数据集由特征提取得到的特征的特征值组成,每个样本个体的长度为特征数L。

(2)对该样本数据集按特征进行归一化处理;

使所有特征的特征值的范围在0和1之间,以便后面的操作。

(3)对归一化后的样本数据集进行矩阵变换,形成特征矩阵;

所述特征矩阵的列向量表示样本个体的特征向量,列数表示所述特征数L,该特征矩阵的行数表示样本数。

所述归一化和矩阵变换两步骤可以互换。并且,在实际中,如果输入的样本数据集本身列向量表示样本个体的特征向量,就不需要进行矩阵变换。

(4)设置初始参数;

所述初始参数包括:特征数L,种群大小N,最大迭代次数X,竞争概率Pa,初始交叉概率Pc,变异概率Pm,共享智能体个数M,子种群大小ns

种群大小N的取值根据具体情况而定,一般要大于特征数L。

所述最大迭代次数X一般依据特征矩阵的规模和复杂度而定,也与选择方法的设计要求有关,通常在100~3000之间。

所述竞争概率Pa通常为0.5,其假设条件为智能体之间竞争与否的概率对等。

所述初始交叉概率Pc随机产生。第一次遗传操作按照该初始交叉概率进行,从第二次遗传操作开始,后面的交叉概率自适应得到。

所述变异概率Pm由特征数L确定:

Pm=1L

在整个种群大小一定的情况下,为提高遗传方法的搜索效率,种群被分为多个子种群,相邻种群共享一部分智能体,这部分智能体称为共享智能体,共享智能体的个数M根据经验来确定,一般M的取值范围为[1,3],子种群大小ns根据实际情况而定。

(5)根据所述初始参数随机生成种群,所述种群的每个个体即智能体;

所述种群由随机产生的N个字符串构成,每个字符串为种群的一个个体,每个字符串的长度等于特征数L,字符串的每个变量(即智能体的每个基因)标记一个特征。

(6)根据所述初始参数构建种群的双环智能体网络结构,该双环智能体网络结构具体为:所述种群被分为多个子种群,每个子种群构成一个闭合的小环,子种群内部各个智能体位于闭合小环的节点上,相邻小环之间共享部分智能体,从而相互连接,形成一个闭合的大环;

各子种群间通过共享智能体连接,根据种群的大小N、共享智能体个数m和子种群的大小ns,可以得出构建的双环智能体网络结构中,子种群的个数nn为:

nn=Nns-m

(7)进入遗传进化机构,所有子种群的遗传进化并行进行;

所有子种群的遗传进化并行进行,可以提高种群进化的速度,并且各个种群独立进化的同时,又通过共享智能体实现信息传递,更加符合自然界的遗传进化状况。

所述遗传进化机构包括:

用于初始化精英数组的装置;所述精英数组用于存放适应度值最高的智能体。

用于计算种群中智能体的适应度值fitness的装置;所述适应度值fitness被作为特征选择中的评价准则,找到适应度值最高的智能体作为最优智能体输出即为特征选择的目的,最优智能体也就是特征选择的最优解。

用于判断是否满足终止条件的装置;

如果满足,则进入用于输出适应度值最高的智能体的装置;

进入用于结束特征选择的装置;

如果不满足,则进入用于更新精英数组以及种群的装置;

用于选择的装置;

用于自适应交叉的装置;

用于自适应变异的装置;

返回到所述用于计算种群中智能体的适应度值fitness的装置。

所述终止条件包括两个部分:第一部分是判断迭代次数是否超过设定的最大迭代次数X,第二部分是判断每代的最优智能体的适应度值之差是否连续低于某个阈值Q次。Q为事先设定。两个终止条件只要有一个满足,就是满足终止条件,此时输出当前适应度值最高的智能体,结束特征选择;如果第一个终止条件不满足,则进行第二个终止条件的判断,两个终止条件都不满足,则更新精英数组以及种群。

更新精英数组是为了保证在整个遗传进化过程中,精英数组中一直存储适应度值最高的智能体,具体操作为:将算出的适应度值最高的智能体与精英数组中存储的智能体进行比较,如果精英数组中存储的智能体适应度值相比要高,则精英数组保持不变,如果精英数组中存储的智能体适应度值相比要低,则用算出的适应度值最高的智能体取代原精英数组中保存的智能体。

更新种群是指:在不满足终止条件时,将原精英数组中保存的数据取代当前代适应度值最低的智能体。

所述选择、自适应交叉、自适应变异为遗传操作的三个部分,按照设置的初始参数进行,经过选择、交叉、变异后,种群完成一次遗传操作,得到新一代的种群,然后重新计算该新种群中各个智能体的适应度值,进行终止条件的判断,如果不满足终止条件,则进行下一次遗传操作,如果满足则输出最优智能体,结束特征选择。

所述适应度值fitness由下式获得:

fitness=Σi=1L(Sb/Sw)i-corr

式中,Sb为类间方差和,Sw为类内方差和,其表达式分别为:

Sb=(a1-a2)2+…+(ap-1-ap)2,Sw=(σ1)2+(σ2)2+…+(σp)2

其中,L表示特征数,p表示类别数,ap为某特征下第p类别的样本均值,σp为某特征下第p类别的样本方差,corr为所述样本数据集中特征间的相关度。

表示样本数据集中各个类别的可分度,corr表示样本数据集中各个类别的相关度,可分度越高,相关度越小,则适应度值最大,各个类别就能更好的区分出来。

所述智能体采用二进制向量编码标记特征组合。0表示特征未被选中,1表示特征被选中,然后根据该编码并结合样本数据集计算该智能体的适应度值,方便编码和解码,可以实现高效的特征选择。

所述选择采用邻域竞争选择。种群中的每个智能体与相邻的两个智能体进行比较,取三者适应度值最大的智能体取代当前的智能体,实现邻域竞争选择。

所述自适应交叉为邻域自适应交叉。种群中的每个智能体与相邻的智能体按照设定的交叉概率进行交叉,交叉概率自适应得到。

所述精英数组的空间为2×1,第一行存储适应度值最高的智能体,第二行存储该智能体的适应度值。

本发明在实际应用中可以与某一具体应用的数据采集与特征提取结合成一体,再加上必要的分类器,就可以实现完整的模式分类。

本发明的显著效果在于:提出了一种面向复杂模式分类的特征选择方法,在传统遗传方法的基础上,通过改进种群的结构为双环智能体网络结构,使种群分为多个子种群,子种群间通过共享智能体传递信息,所有子种群的遗传进化同步进行,能够加快遗传方法的收敛速度和搜索效率,在遗传过程中,选择和交叉都在邻域中进行,并且交叉概率和变异概率都是自适应得到,遗传操作更加符合自然界的进化规律,能较容易得到全局最优解,最大程度的选出有利于分类的特征,同时引入二进制编码方式表达某个特征是否被选中,方便编码和解码,实现高效的特征选择。该方法可以广泛应用于各种复杂模式分类问题中,具有自适应强、容错性强、泛化能力强、智能学习能力强、适用范围广等特点。

附图说明

图1是本发明的结构框图;

图2是本发明遗传进化机构流程图;

图3是本发明中实施例1的双环智能体网络结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

实施例1:

如图1所示:一种面向复杂模式分类的特征选择方法,按照下列步骤进行:

(1)采集经过特征提取后得到的样本数据集;

所述样本数据集可以是不同类型的数据集,如图像数据、声音数据、系统故障数据等,该样本数据集由特征提取得到的特征的特征值组成,每个样本个体的长度为特征数L,通过输入接口输入该样本数据集。

(2)对该样本数据集按特征进行归一化处理;

(3)对归一化后的样本数据集进行矩阵变换,形成特征矩阵;

在计算机中开辟一个样本数组,将训练样本存入样本数组中,该数组类型为结构体类型,结构体包括样本数据和样本数据类别两个结构体变量。所述样本数据即保存输入的样本数据集,对该样本数据按特征进行归一化处理和矩阵变换,使所有值的范围在0和1之间,并且经过矩阵变换后得到的特征矩阵,列向量表示样本个体的特征向量,列数表示所述特征数L,该特征矩阵的行数表示样本数。

(4)设置初始参数;

在样本数组中,样本数据类别中保存初始参数,由程序提供参数输入框,弹出参数输入框后,输入所需的初始参数,主要包括:特征数L,种群大小N,最大迭代次数X,竞争概率Pa,初始交叉概率Pc,变异概率Pm,共享智能体个数M,子种群大小ns

取特征数L=25,种群大小N=60。

所述最大迭代次数X一般依据特征矩阵的规模和复杂度而定,也与选择方法的设计要求有关,通常在100~3000之间,取X=500。

所述竞争概率Pa通常为0.5,其假设条件为智能体之间竞争与否的概率对等。

所述初始交叉概率Pc随机输入产生。取Pc=0.8。

所述变异概率Pm由特征数L确定:

Pm=1L

在L=25时,Pm=0.04。

一般M的取值范围为[1,3],子种群大小ns根据实际情况而定。取M=2,ns=6。

根据共享智能体个数M和子种群大小ns,得出子种群的个数nn为:

nn=Nns-m

即nn=15。

(5)随机生成种群,所述种群由随机产生的N个字符串构成,每个字符串为种群的一个个体,即智能体,字符串的每个变量(即智能体的每个基因)标记一个特征。所述智能体采用二进制向量编码标记特征组合,0表示特征未被选中,1表示特征被选中。

具体操作为:根据设置的特征数L和种群大小N,在(0,1)区间内产生随机数生成N×M矩阵,对矩阵中的每个元素进行求整操作,如果大于或等于0.5,则置1,否则置0,随机矩阵变为0-1矩阵,实现二进制向量编码。

(6)根据所述初始参数构建种群的双环智能体网络结构,如图3所示:该双环智能体网络结构具体为:所述种群被分为多个子种群1,每个子种群1构成一个闭合的小环,子种群内部各个智能体2位于闭合小环的节点上,相邻小环之间共享部分智能体,即共享智能体3,从而相互连接,形成一个闭合的大环;

具体操作为:对整个种群中的所有智能体按顺序进行编号;按照设置的子种群大小ns和共享智能体个数M,将种群分割为多个子种群,第一个子种群为第1-6个智能体,第二个子种群为5-10个,依次类推,直到编号为60为止;对每个子种群内部的各个智能体的邻域Neibors(i)进行定义,定义式为

Neiborsj,i={Lj,i-1,Lj,i+1}

其中,j表示子种群的编号,取值范围为[1,nn],i表示智能体的编号,取值范围为[1,ns]。特别地,当i=1时,Neiborsj,1={Lj,ns,Lj,2},当i=ns时,Neiborsj,ns={Lj,ns-1,Lj,1}.

(7)进入遗传进化机构,所述所有子种群的遗传进化并行进行;

如图2所示:所述遗传进化机构包括:

用于初始化精英数组的装置;所述精英数组用于存储适应度值最高的智能体,该精英数组的空间为2×1,第一行存储适应度值最高的智能体,第二行存储该智能体的适应度值。

用于计算种群中智能体的适应度值fitness的装置;

所述适应度值fitness由下式获得:

fitness=Σi=1L(Sb/Sw)i-corr

式中,Sb为类间方差和,Sw为类内方差和,其表达式分别为:

Sb=(a1-a2)2+…+(ap-1-ap)2,Sw=(σ1)2+(σ2)2+…+(σp)2

其中,L表示特征数,p表示类别数,ap为某特征下第p类别的样本均值,σp为某特征下第p类别的样本方差,corr为所述样本数据集中特征间的相关度。

用于判断是否满足终止条件的装置;

如果满足,则进入用于输出适应度值最高的智能体的装置;

进入用于结束特征选择的装置;

如果不满足,则进入用于更新精英数组以及种群的装置;

所述终止条件包括两个部分:第一部分是判断迭代次数是否超过设定的最大迭代次数X,第二部分是判断每代的最优智能体的适应度值之差是否连续低于某个阈值Q次。两个终止条件只要有一个满足,就是满足终止条件,此时输出当前适应度值最高的智能体,结束特征选择;如果第一个终止条件不满足,则进行第二个终止条件的判断,两个终止条件都不满足,则更新精英数组以及种群。

更新精英数组是为了保证在整个遗传进化过程中,精英数组中一直存储适应度值最高的智能体,具体操作为:将算出的适应度值最高的智能体与精英数组中存储的智能体进行比较,如果精英数组中存储的智能体适应度值相比要高,则精英数组保持不变,如果精英数组中存储的智能体适应度值相比要低,则用算出的适应度值最高的智能体取代原精英数组中保存的智能体。

更新种群是指:在不满足终止条件时,将原精英数组中保存的数据取代当前适应度值最低的智能体。

用于邻域竞争选择的装置;

智能体竞争选择在子种群中按编号从低至高依次进行,若当前智能体为Ltj,i,其邻域为Neiborsj,i,Neiborsj,i={Lj,i-1,Lj,i+1},Lneibor_max=max{Lj,i-1t,Lj,i+1t}表示当前智能体邻域中适应度值最大的智能体,i∈[1,ns],t表示当前种群处于第几代。Ltj,i的更新方法如式(1)(以第一个子种群为例,即j=1):

上式中的“о”表示智能体间的竞争运算,该竞争运算根据设定的0.5的竞争概率进行,具体方式如下:

设智能体L1,it与L1,i-1t竞争,则有:

L1,it=ci,1t···ci,gt···ci,Lt,L1,i-1t=ci-1,1t···ci-1,gt···ci-1,Lt

ci,gt表示第一个子种群中编号为i的智能体的第g个基因(即特征),ci-1,gt表示第一个子种群中编号为i-1的智能体的第g个基因,L为单个智能体的基因数目即特征数,则竞争运算L1,itоL1,i-1t可表示如下:

ci,gt=ci,gt,ci,gt=ci-1,gtci,gt=INT[U(0,1)],ci,gtci-1,gt---(2)

U(0,1)表示在(0,1)区间均匀分布下产生的随机数。INT[·]为取整运算符。如果当前智能体的第g个基因与它相邻智能体的第g个基因相同时,则保持不变,如果不相同,则对产生的随机数取整后取代当前智能体的第g个基因。

种群中所有智能体完成邻域竞争选择后,进行自适应交叉。

用于邻域自适应交叉的装置;

对种群中的每个智能体进行邻域自适应交叉,采用单点交叉的方式,交叉位随机选择。邻域自适应交叉是当前智能体与其邻域中适应度值最大的智能体Lneibor_max进行交叉。第一次交叉按照初始交叉概率Pc进行,从第二次开始,交叉概率自适应得到,自适应交叉概率由下式获得:

Pc=(fmax-fifmax-fave)1GH(i,i),ffave1,f<fave

其中,GH(i,i′)为当前智能体与其邻域中适应度值最大的智能体Lneibor_max的海明距离,f′i为当前智能体的适应度值,f′为当前智能体与Lneibor_max中较大的适应度值,fmax为本代智能体的最大适应度值,fave为本代智能体的平均适应度值。

交叉的具体操作为:产生一个0到1之间的随机数U(0,1)与Pc比较,确定当前智能体和Lneibor_max是否进行交叉,过程如下:

用于自适应变异的装置;

按照设定的变异概率Pm进行自适应变异,变异位随机选择,具体操作为:产生一个0到1之间的随机数U(0,1)与Pm比较,按下式进行变异:

返回到所述用于计算种群中智能体的适应度值fitness的装置。

经过一次竞争选择、自适应交叉、自适应变异后,得到新一代的种群,对该新种群进行适应度值的计算,并再次判断是否满足终止条件,如果满足,则输出最优智能体,如果不满足,则继续进行遗传操作,直到满足终止条件为止。

采用函数调用思想为本发明的技术方案编程后,整体的程序实施结构为:输入样本数据;对数据进行归一化处理,存为样本数组;设置方法参数;进入主函数入口,输入样本数组;调用初始化函数产生种群;判断是否满足终止条件,是则输出适应度值最高的智能体作为最优智能体(即最优特征选择结果),否则进行迭代遗传操作:调用邻域竞争选择函数,接着调用邻域自适应交叉函数,然后再调用自适应变异函数,得到新的种群;对新种群进行是否满足终止条件的判断,如满足则输出最优智能体,否则进行下一代迭代遗传操作。

本发明未详细描述之处为公知技术,在此不累述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号