基于降维分组的大数据聚类优化方法与流程

文档序号:12748079阅读:427来源:国知局

本发明属于大数据聚类优化技术领域,更进一步涉及大规模数值查询分析和优化技术领域中的基于降维分组的大数据聚类优化方法。本发明可用于大数据聚类,大数据压缩存储,分类器构造,大规模任务调度中通过对任务进行分组来优化调度过程,人工神经网络分类训练,工程设计问题中对各项系统参数进行分类优化等领域。



背景技术:

大数据聚类优化技术指的是对大规模问题,即问题的维度或变量个数超过1000的问题,通过降维分组的方法降低问题的维度,从而更容易对大规模问题进行处理或优化。大规模问题因为维度高,搜索空间大,各维度之间存在关联性等特点,目前仍然是一类很难的,有待解决的问题。维度相关指的是各个维度之间相互影响,因此在分解大规模问题时,这些相关的维度必须被分到同一组(同一个子问题)中,不能分开。如果将相关维度错误的分到不同的子问题中,则得到的结果往往会非常差。目前针对此类大规模问题,主流的解决方案是采用“分而治之”的思想:把大规模问题分解成多个小规模的子问题分别加以解决,最后再合并小规模子问题从而得到大规模问题的解。但是如何分解子问题,如何正确识别和检测相关和不相关的维度,并将相关维度分到同一个组里,保证组内维度相关,组与组之间的维度不相关,是目前研究的热点及难点问题。2008年以来学术界陆续发表了很多关于分组方法研究的文章,如:随机分组(将各维度随机分为若干组),CCVIL分组(引入维度相关性的学习机制来判断维度的相关性),差分分组(通过计算各维度之间的差值来分析维度的相关性)等。

南京弘数信息科技有限公司在其申请的专利文献“一种针对大数据的分解组合聚类方法”(专利申请号CN201410334542.2,公开号CN104063518A)中公开了一种基于分解组合的大数据聚类方法。该方法将数据集进行横向切分,获得若干数据子集;再将横向数据子集进行纵向切分,获得若干纵向数据子集;然后使用基础聚类算法,获得经过横向和纵向切分后数据子集的类别标签。将若干个纵向数据子集的类别标签进行组合聚类获得横向数据子集的类别标签;再将若干个横向数据子集的类别标签再次进行组合聚类得到完整数据集的类别标签。该方法将大数据聚类问题转化为组合聚类问题,具有高效性,鲁棒性和可并行化等优点。但是,该方法仍然存在的不足之处是,该方法没有充分利用各维度的关联来划分子维度,而且参数的设定可能因问题而异,不容易设定。

M.Omidvar,X.Li,Y.Mei,and X.Yao在其发表的论文“Cooperative Co-Evolution With Differential Grouping for Large Scale Optimization”(IEEE Transactions on Evolutionary Computation,vol.18,no.3,378–393,2014)中提出了一种通过计算各维度的差值来分析维度的相关性的方法。在该论文中,检测第i个维度和第j个维度是否相关的方法是:首先将第j个维度固定为一个特定的值,给第i个维度一个增量之后求得结果f1,然后再将第j个维度固定为另外一个值,仍然给第i个维度一个同样的增量之后求得结果f2,如果f1和f2的值的差小于一个预先设定的阈值,则认为第i个维度和第j个维度是不相关的,否则认为第i个维度和第j个维度是相关的。该方法存在的不足之处是:该方法无法识别具有传递性的维度的相关性,因此这种方法得到的分组结果往往存在较大偏差;

Y.Mei,M.N.Omidvar,X.Li,and X.Yao在其发表的论文“Competitive divide-and-conquer algorithm for unconstrained large scale black-box optimization”(ACM Transactions on Mathematical Software,vol.V,no.N,2015)中提出了一种改进的差分分组的方法。该方法改进了上述问题,使得具有传递性的相关维度可以被识别,但是仍然存在的不足之处是:该方法对大规模问题中每个维度,都需要一一测试其与其他维度之间的相关性,消耗了过多的计算资源;而且因为阈值设定因问题而异,导致分组结果仍然存在偏差。

本发明通过分析引起各个维度相关的表达式特征,找出了相关维度的判断方法,通过扫描大数据聚类优化问题的相似度表达式来判断维度的相关性,占用的计算资源少,并且得到的分组结果是完全正确的



技术实现要素:

本发明的目的是针对现有大数据聚类优化问题解决方法计算量大和准确度低的缺点,提出一种基于降维分组的大数据聚类优化方法,包括以下具体步骤:

(1)初始化:

(1a)创建一个全局相关维度Non-Set集合,并将其初始化为空;

(1b)创建一个临时集合Temp-Set,并将其初始化为空;

(2)扫描大数据聚类优化问题对应的相似度表达式,判断其中是否含有相关性符号,若是,则执行步骤(3),否则,执行步骤(4);

(3)存储相关维度:

将相似度表达式中含有的相关量,作为一个子维度,存到全局相关维度Non-Set集合中;

(4)判断相似度表达式中是否含有由括号分隔的相似度子表达式,若是,则执行步骤(5),否则,执行步骤(12);

(5)存储临时数据:

将相似度子表达式中包含的每个维度作为临时数据,存入到临时集合Temp-Set中;

(6)依次向右扫描相似度子表达式,判断相似度子表达式中是否含有相关性符号,若是,则执行步骤(7),否则,执行步骤(8);

(7)存储相关子维度:

将相关性符号对应的子维度存放到全局相关维度Non-Set集合中;

(8)判断相似度子表达式是否扫描完毕,若是,则执行步骤(9),否则,执行步骤(6);

(9)读入相似度子表达式后的第一个符号,判断该符号是否是相关性符号,若是,则执行步骤(10),否则,执行步骤(11);

(10)合并相关维度:

合并临时集合Temp-Set中的相关维度,并作为一个整体存放到全局相关维度Non-Set集合中;

(11)释放临时数据:

清空Temp-Set集合,释放临时数据;

(12)判断相似度表达式是否扫描完毕,若是,则执行步骤(13),否则,执行步骤(2);

(13)合并带有公共元素的子维度:

合并全局相关维度Non-Set集合含有公共元素的子维度,得到原大数据聚类优化问题降维分组后的结果。

本发明与现有技术相比有以下优点:

第一,由于本发明通过深入分析大数据聚类优化问题的相似度函数的性质,得出了影响维度相关性的普遍规律,克服了现有技术没有充分利用各维度间关联信息来划分子维度,并且参数的设定因问题而异的缺点,使得本发明具有更广泛的适应性,可以得到准确度更高的分组结果。

第二,本发明通过扫描大数据聚类的相似度函数表达式来实现对大数据聚类问题进行降维分组,克服了现有技术消耗过多的计算资源,分组结果存在偏差的问题,使得本发明具有速度快,占用的计算资源更少的优点;

附图说明

图1为本发明的流程图。

具体实施方式

下面结合附图1对本发明做进一步描述。

步骤1,初始化。

创建一个全局相关维度Non-Set集合,并将其初始化为空。

创建一个临时集合Temp-Set,并将其初始化为空。

步骤2,扫描大数据聚类优化问题对应的相似度表达式,判断其中是否含有相关性符号,若是,则执行步骤3,否则,执行步骤4。

步骤3,存储相关维度。

将相似度表达式中含有的相关量,作为一个子维度,存到全局相关维度Non-Set集合中。

步骤4,判断相似度表达式中是否含有由括号分隔的相似度子表达式,若是,则执行步骤5,否则,执行步骤12。

步骤5,存储临时数据。

将相似度子表达式中包含的每个维度作为临时数据,存入到临时集合Temp-Set中。

步骤6,依次向右扫描相似度子表达式,判断相似度子表达式中是否含有相关性符号,若是,则执行步骤7,否则,执行步骤8。

步骤7,存储相关子维度。

将相关性符号对应的子维度存放到全局相关维度Non-Set集合中。

步骤8,判断相似度子表达式是否扫描完毕,若是,则执行步骤9,否则,执行步骤6。

步骤9,读入相似度子表达式后的第一个符号,判断该符号是否是相关性符号,若是,则执行步骤10,否则,执行步骤11。

步骤10,合并相关维度。

合并临时集合Temp-Set中的相关维度,并作为一个整体存放到全局相关维度Non-Set集合中。

步骤11,释放临时数据。

清空Temp-Set集合,释放临时数据。

步骤12,判断相似度表达式是否扫描完毕,若是,则执行步骤13,否则,执行步骤2。

步骤13,合并带有公共元素的子维度。

合并全局相关维度Non-Set集合含有公共元素的子维度,得到原大数据聚类优化问题降维分组后的结果。

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