专利名称:动态数据聚类算法的制作方法
技术领域:
本发明属于信息数据处理的技术领域,具体涉及一种对动态关系数据进行聚类的 动态数据聚类算法。
背景技术:
随着信息时代的到来,数据已经实现了爆炸性的增长。得益于信息技术和数据库 技术的迅猛发展,同时海量数据中也充满了各种关系信息,比如Internet、社会关系网、通 信网以及市场客户间购买模式等等。我们如何应用现有的技术和工具来有效地管理、检索 和分析这些关系数据是一个令人关注的问题。关系数据聚类作为数据挖掘中一种数据分析技术,同时也是一种重要的人类行 为。早在我们的儿童时代,我们就通过不断改进意识中的聚类模式来学会如何区分现实中 的关系事物。目前,关系数据聚类分析已经广泛应用到各种领域,包括模式识别、图像处理、 统计分析,以及市场研究。通过聚类,我们能够识别密集和稀疏的区域,因而发现全局的分 布模式,以及数据属性之间的有趣的相互关系。在医学上,聚类可以根据病人的症状及指标 对病人进行分类。在商务上,聚类能够帮助市场分析人员依据客户特有的购买模式和客户 间的关系信息对客户数据库中客户群进行有效地划分。在生物上,聚类通过蛋白质分子结 构或者基因片段的分析,来寻找相似结构的单元。同时随着互联网的普及,我们习惯于在互 联网上搜索信息和与人交流。聚类分析也可以用于互联网数据的分析,用户在网站上的行 为反映了他们的兴趣和需求,如果对用户的行为加以分析,就有可能发现一些潜在的规律。 了解用户的访问模式和兴趣爱好,对用户进行一定的群分,有助于优化网站的组织结构和 空间设计。同时,现实中很多的海量关系数据其实是动态的关系数据。数据中的内在关系会 随着时间的变化而变化。当前关系数据的结构信息又往往受影响于历史数据的结构信息。 因此,在聚类分析动态关系数据时,仅仅使用静态的算法来分析当前时刻的数据会丢失数 据的时变性。在未考虑历史信息的前提下,当前时刻数据的聚类结果并不能准确地反映动 态数据的变化规律,自然也没法准确挖掘数据中隐含的模式和知识。只有应用动态算法来 处理动态关系数据才能准确挖掘数据的模式和知识,同时也能预测数据未来时刻的发展趋 势。因此,动态关系数据的聚类分析已经成为当前数据挖掘领域一个非常活跃的研究方向。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种动态数据聚类算法的技 术方案,对动态关系数据进行聚类分析,并根据分析结果揭示数据个体未来时刻的发展趋势。所述的动态数据聚类算法,其特征在于包括如下步骤1)选择一个关系网络,对关系网络内的η个动态关系数据进行预处理,用带权值 的无向图表征,边的权重代表网络中结点间相似程度,权重越大,相似性越大;
2)对一定连续时间内变化的动态关系网络数据,以相同的时间间隔采集T个时间 点的离散数据来拟合连续时间数据,每个时间点数据表示为无向图的网络形式,然后将无 向图以关系矩阵的形式表示;3)对步骤2)中得到的关系矩阵进行分解,建立一种基于矩阵分解的全局代价函 数,采用循环迭代加载更新代价函数,求得最优解,修正聚类结果。所述的动态数据聚类算法,其特征在于步骤2)中采集T个时间点的离散数据来拟 合连续时间数据,将每个时间点数据表示为无向图的网络形式,边的权重代表网络中结点 间的相似程度,权重越大,相似性越大,然后将无向图以关系矩阵的形式来表示,得到一系 列的关系矩阵序列A1, . . .,At,. . . AT, At代表t时刻的nXn关系矩阵,η是结点数目。所述的动态数据聚类算法,其特征在于步骤3)中所述的全局代价函数包括现时 数据代价函数和历史数据与现时关联信息产生的代价函数。所述的动态数据聚类算法,其 特征在于对某一 t时刻的数据At利用矩阵分解的方法得到聚类矩阵丄=CBJ C::,其 中C1, ...,Ct表示在相应时刻聚类后得到的类矩阵,Ct e {0,l}nxk, Σ A j = 1, k是总共 的类数,Cy = 1表示结点i经过聚类后成为第j类的元素,每个结点在每个时间点只能被 隶属于一个类,即Σ ,.Ci, j = 1,B1, ...,Bt表示对应时刻的类间关系矩阵,Biij表示i类与j 类的权重关系,分解的结果使原有数据不失真,即i > Al0所述的动态数据聚类算法,其特征在于所述的全局代价函数的建立方法如下全 局代价函数包含两部分,一部分为现时数据的聚类的代价函数,表示为Costsnapsh。t,另一部 分为历史数据与现时关联信息产生的代价函数,表示为Costhistoy ;首先,考虑现时数据的聚类,Costsnapsh0t用来衡量每一时刻数据的聚类结果
权利要求
动态数据聚类算法,其特征在于包括如下步骤1)选择一个关系网络,对关系网络内的n个动态关系数据进行预处理,用带权值的无向图表征,边的权重代表网络中结点间相似程度,权重越大,相似性越大;2)对一定连续时间内变化的动态关系网络数据,以相同的时间间隔采集T个时间点的离散数据来拟合连续时间数据,每个时间点数据表示为无向图的网络形式,然后将无向图以关系矩阵的形式表示;3)对步骤2)中得到的关系矩阵进行分解,建立一种基于矩阵分解的全局代价函数,采用循环迭代加载更新代价函数,求得最优解,修正聚类结果。
2.如权利要求1所述的动态数据聚类算法,其特征在于步骤2)中采集T个时间点的 离散数据来拟合连续时间数据,将每个时间点数据表示为无向图的网络形式,边的权重代 表网络中结点间的相似程度,权重越大,相似性越大,然后将无向图以关系矩阵的形式来表 示,得到一系列的关系矩阵序列A1, . . .,At,. . . AT, At代表t时刻的nXn关系矩阵,η是结 点数目。
3.如权利要求1所述的动态数据聚类算法,其特征在于步骤3)中所述的全局代价函数 包括现时数据代价函数和历史数据与现时关联信息产生的代价函数。
4.如权利要求2所述的动态数据聚类算法,其特征在于对某一t时刻的数据At利用矩 阵分解的方法得到聚类矩阵Λ. - CBtICt厂,其中C1,...,Ct表示在相应时刻聚类后得到 的类矩阵,Ct e {0,l}nxk, Σ ,.Ci, j = 1,k是总共的类数,Ciij = 1表示结点i经过聚类后成 为第j类的元素,每个结点在每个时间点只能被隶属于一个类,即Σ ,.Ci,j = 1,B1;...,Bt表 示对应时刻的类间关系矩阵,By表示i类与j类的权重关系,分解的结果使原有数据不失
5.如权利要求3或4所述的动态数据聚类算法,其特征在于所述的全局代价函数的 建立方法如下全局代价函数包含两部分,一部分为现时数据的聚类的代价函数,表示为 Costsnapsh。t,另一部分为历史数据与现时关联信息产生的代价函数,表示为Costhistoy ;首先,考虑现时数据的聚类,Costsnapsh0t用来衡量每一时刻数据的聚类结果
6.如权利要求5所述的动态数据聚类算法,其特征在于对全局代价函数的聚类结果进 行迭代修正的方法如下利用矩阵迹的运算来化简F3,先节选一个时间点的全局代价函数
7.如权利要求6所述的动态数据聚类算法,其特征在于采用循环迭代加载更新Bt和Ct 的方法如下1)首先对矩阵B的数据进行初始化,根据初始化的B矩阵序列,对C矩阵序列中每个 Ct逐行优化,并判断是否遍历Ct矩阵的所有行,若每行都已经进行过优化,则执行下一步, 若没有则继续执行本步骤;2)对C矩阵序列内T个时间点的矩阵数据进行优化,并判断是否遍历整个C矩阵序列, 若每个时间点矩阵数据Ct都已经进行过优化,则执行下一步,若没有则继续执行本步骤,得 到一系列优化过的C矩阵序列;3)对步骤2)中的C矩阵序列,利fflF5:Bt = C.TA,C来修正得到B矩阵序列,利用更 新后B矩阵序列重新循环执行步骤1)、2),让算法不断修正B和C矩阵序列,最终达到收敛 条件后,即直到前后两次迭代得到的全局代价函数差值IF3I < ε,其中ε e (0,1)是一个 预先设定的阈值,算法终止,输出B和C矩阵序列。
全文摘要
动态数据聚类算法,属于信息数据处理的技术领域。包括如下步骤选择一个关系网络,对关系网络内的动态关系数据进行预处理;对一定连续时间关系网络内的动态关系数据,以相同的时间间隔采集离散数据,表示为无向图的网络形式,然后将无向图以关系矩阵的形式表示;对矩阵进行分解,建立基于矩阵分解的全局代价函数,采用循环迭代加载更新代价函数修正聚类结果。本发明提出将聚类算法应用于动态关系数据,考虑关系数据时序上的关联性,利用历史数据信息来修正现时数据的分析结果,根据结点在不同时刻聚类结果的变化,跟踪数据个体的聚类结果。在不同的网络数据中,揭示结点不同的行为特性,对测试结点未来发展趋势可根据历史数据信息作有效估计。
文档编号G06F17/30GK101957850SQ20101029057
公开日2011年1月26日 申请日期2010年9月25日 优先权日2010年9月25日
发明者张仲非, 杨名, 王跃, 祁仲昂, 金永波 申请人:浙江大学