System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及机器学习领域,尤其涉及一种基于pagerank的改进k-means算法。
技术介绍
1、聚类作为数据挖掘技术的重要研究方向,其目标是在相似性分析基础上划分数据节点至不同的簇中,划分算法即称为聚类算法,目前主流聚类算法包括:划分法、层次法、密度法。k-means作为一种经典的划分聚类算法,依据数据节点与聚类中心距离进行聚类划分,由于其简单易实现,且适应于大数据集等优点,被广泛用于图像处理、信息检索、人工智能等领域。但由于k-means对初值敏感,不同初始聚类中心的选择会产生不同的聚类结果,初始聚类中心选择的随机性,使其迭代次数不确定、聚类不具有稳定的可复现性,易陷入局部最优。
2、现有技术中,针对上述k-means存在问题,有关研究新成果持续涌现。以聚类数量k为自变量的类间质心聚类之和以及类内聚类之和为基础,建立聚类评价函数,进而通过求解聚类评价函数的最小值以获得最优初始聚类中心数量。针对k-means求解精度低,提出了面向多球分裂的增量式改进k-means,其核心思想为记录各球k-means聚类半径,进而根据固定步长一次性产生多个增量聚类中心,直至达到k个初始聚类中心。为解决k-means初始聚类中心不确定及易陷入局部最优解问题,提出了基于hadoop的分布式改进算法,该改进算法核心思想是利用罩盖算法初始化k-means的聚类中心,并结合mapreduce分布式计算模型,以改进数据点之间相似度度量精度。有关文献结合初始聚类中心和k值两个参数为k-means初始化过程定义了一个基于熵的目标函数,以解决初始
3、因此,本专利技术针对k均值聚类算法(k-means)初始聚类中心选择的随机性问题,提供了一种基于高斯赛德尔迭代(gauss-seidel)的pagerank重要性度量算法对k-means进行改进。通过pagerank将聚类数据模拟为有向图上随机游走模型,即一阶马尔可夫链。随机游走遍历节点,建立聚类数据线性方程组。引入gauss-seidel,利用其在线性方程组求解过程持续更新未知变量特性,保证节点pagerank值的精准性,进而选择前k个节点作为初始聚类中心。接着基于最小化损失函数反复迭代优化目标函数值,以精准划分各节点至最佳所属簇。最后,在uci数据集和经典图像上进行系列对比实验,结果表明改进k-means方法聚类性能优于原始算法,能够有效聚类离散数据与分割图像。
技术实现思路
1、本专利技术的目的在于,针对上述问题,提供一种基于pagerank的改进k-means算法,命名为prk-means,该算法通过pagerank将聚类数据模拟为有向图上随机游走模型,即一阶马尔可夫链。随机游走遍历节点,建立聚类数据线性方程组。引入gauss-seidel,利用其在线性方程组求解过程持续更新未知变量特性,保证节点pagerank值的精准性,进而选择前k个节点作为初始聚类中心。接着基于最小化损失函数反复迭代优化目标函数值,以精准划分各节点至最佳所属簇,具体包括以下步骤:
2、所述prk-means算法处理步骤如下:
3、步骤一:设定样本集x={x1,x2,…,xn},阈值ε及初始向量x(0),最大迭代次数;
4、步骤二:计算数据集节点间的连接强度,式中,是节点i到节点j的欧式距离,γ为控制参数;
5、步骤三:根据样本集中各节点的连接强度,得到连接强度矩阵d,如下所示:
6、
7、步骤四:pagerank核心思想是在有向图上定义一个随机游走模型,即一阶马尔可夫链,随机游走随机遍历节点,生成一个转移矩阵为l,计算转移矩阵l表示为:
8、
9、其中,l(xi,xj)是l中的元素,代表节点i,j之间连接强度与节点i的总连接强度之比,表达式如下所示:
10、
11、步骤五:随机游走模型特点是从任意节点到其邻接节点的转移概率为马尔可夫链的平稳分布r,即有向图的pagerank值,其可根据时序先后反复迭代计算得到:
12、
13、式中,1是全1列向量,d(0≤d≤1)是阻尼因子,取值0.85;r各分量pr(xi)为各节点的pagerank值,且满足下式:
14、
15、步骤六:将式(2)代入式(4),建立平稳分布r以及转移矩阵l代入游走模型,得到如下表达式:
16、
17、步骤七:使用基于gauss-seidel的pagerank计算方法,gauss-seidel求解线性方程组核心思想是将方程组分解成独立变量迭代式,每次迭式中使用方程中已确定变量持续更新未知变量,此过程保证最终方程组求解结果更加稳定和准确,同时gauss-seidel对矩阵进行分块处理,每次迭代中只需要对部分未知变量进行更新,从而减少计算量,提高了算法运行速度;
18、步骤八:迭代更新pr(xi),使其达到指定阈值直至停止迭代,此时数据集中每个节点的pagerank值为pr(xi);
19、步骤九:原始的k-means聚类目标是将m维数据样本集x={x1,x2,…,xn}划分至k个不同簇c1,c2,…,ck,且满足下式:
20、
21、样本数据与聚类中心距离为损失函数,计算如式所示:
22、
23、式中,表示第j个聚类中心均值,k-means本质是求解最优化问题,即求解最小损失函数,通过最小化损失函数,分配相似的样本点至同一簇,不同聚类中心之间的距离尽可能大,从而达到聚类的目的,损失函数最小化过程如式子所示:
24、
25、步骤十:在上述步骤基础上,prk-means聚类过程:
26、(1)基于gauss-seidel的pagerank算法计算每个数据点的pagerank值,值越大,数据点的重要性越高,选择前k个最大数据点作为k-means的初始聚类中心;
27、(2)计算每个数据点与聚类中心之间的距离,将其分配至距离最近的聚类中心,获得各个簇中数据点到对应聚类中心的平方距离之和作为该簇的误差平方和;
28、(3)接着通过最小化损失函数更新聚类中心;
29、(4)重复执行,直到聚类中心不再改变,获得每个数据点所属的簇。
30、进一步地,步骤七中基于gauss-seidel的pagerank计算方法具体用于r的线性方程组求解中,
31、
32、推导过程如下所示:
33、
34、
35、
36、gauss-seidel迭代格式:
37、
38、则合并迭代格式为:
3本文档来自技高网...
【技术保护点】
1.一种基于PageRank的改进K-means算法,其特征在于,所述算法处理步骤如下:
2.根据权利要求1所述的一种Gauss-Seidel的PageRank计算方法,其特征在于,本专利技术将其用于R的线性方程组求解中,具体求解过程如下,
【技术特征摘要】
1.一种基于pagerank的改进k-means算法,其特征在于,所述算法处理步骤如下:
2.根据权利要求1所述...
【专利技术属性】
技术研发人员:张冰涛,魏丹,王小敏,罗维薇,
申请(专利权)人:兰州交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。