基于randomwalk的排序方法

文档序号:6444776阅读:507来源:国知局
专利名称:基于random walk的排序方法
技术领域
本发明涉及排序融合算法,具体为ー种基于random walk的排序方法,属于数据挖掘技术领域。
背景技术
排序融合技术是在一系列候选结果中融合不同的排列组合以获得ー个较优的排序結果,而这些不同的排列是根据不同的条件或指标生成的序列。排序融合技术在很多学科都有研究,如学习理论中协作过滤和元捜索、社会学的选举机制等。常见的算法也很多,比如Borda计数法、最高排序法和逻辑回归法等。因此需要根据具体的应用背景和目标,选择相应的算法并且调整相应的排序函数中各个条件或指标的影响因子。
目前的排序融合算法通常根据各自的融合准则,或者称竞争规则,将不同的排列进行组合从而得到最終的排序。对于在不同的应用中选择何种排序融合算法的问题,一般都通过实现多种算法然后根据实验结果的验证选取效果最佳的算法。另外,当算法选定后,多种条件的影响因子也有待调整。所以如何能有效地实现算法的选取和影响因子的调整,是提高排序算法应用效率的一个难点问题。为解决该问题,我们提出一种基于random walk的排序融合算法通用框架,通过理论指导和实验验证双方面的作用下,设计并实现适合不同应用的排序融合算法。

发明内容
本发明目的在于克服上述现有技术的不足而提供一种基于random walk (随机游走)的排序方法,包括以下步骤(I)将待排序对象作为图的节点,并在竞争规则下判断两节点,该两节点的链接方向为输的节点指向赢的节点,从而构建节点的赢/输有向图;(2)赢/输有向图上的节点随机选择下一跳到另一点节点,完成random walk,其中随机选择下一条包括以下两种随机游走方式一是从当前所在的节点的outlinks中均匀随机选择ー个节点;ニ是从赢/输有向图中所有其它的节点中均匀随机选择ー个;(3)计算每个节点的重要性程度,根据重要性程度得到最終的节点排序結果。上述技术方案中,步骤(I)中竞争规则为任ー排序融合算法中采用的规则。上述技术方案中,步骤(2)中随机选择下ー跳时优先选择向重要性更高的节点移动。上述技术方案中,步骤⑵中赢的一方是输的一方的outlink, outlinks是outlink的集合。上述技术方案中,步骤(3)中每个节点的重要性程度即通过以下公式计算每个节点稳定不变的概率值,再根据此概率值对赢/输有向图中所有的节点排序,形成结果序列,r(t) (q) = —— + a y r(ト1) (p)w(p, q)
I Jq I p^{q)
上述公式中,I (q)是所有指向节点q的节点的集合,w(p, q)是节点p指向节点q所在边的权重,J (q)是不包括节点q的赢/输有向图中所有其它节点的集合,α为步骤(2)所描述的两种随机游走方式的混合參数,取值范围为O < α <1。与现有技术相比,本发明能将竞争规则不同的多种排序融合算法在统ー的框架中完成设计和实现,包括权重的设置、混合參数的选取等。并且最終的排序结果不但计算了待排序对象之间竞争的输赢次数,还考虑了待排序对象自身的重要程度或者说区别对待了待排序的对象。本发明能有效地针对不同的应用背景设计相应的算法,为算法的选择做出了理论指导,同时为实验中算法的验证和參数的调整提供了便利。通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。


图I是基于random walk的排序方法的流程图。
·
图2是赢/输有向图的详细组成。
具体实施例方式现在參考附图描述本发明的实施例,对本发明作进ー步的说明。由上述技术方案可知,本实施例基于random walk的排序融合算法通用框架能将竞争规则不同的多种排序融合算法在统ー的框架中完成设计和实现,包括权重的设置、混合參数的选取等。并且最終的排序结果不但计算了待排序对象之间竞争的输赢次数,还考虑了待排序对象自身的重要程度或者说区别对待了待排序的对象。排序融合算法通用框架的提出能有效地针对不同的应用背景设计相应的算法,为算法的选择做出了理论指导,同时为实验中算法的验证和參数的调整提供了便利。如图I所示,图I中a、b、c、d、e五个节点代表待排序的对象。边的方向代表所链接的两个节点之间的竞争結果。如节点a在竞争中赢了节点b,则边的方向为从节点b指向节点a。一个节点的入度代表该节点在与其它节点的竞争中赢的次数,而它的出度则为竞争中输的次数。再以图2中的节点a为例,它的出度为2说明它输了两次,分别输给e和c ;它的入度为I说明它赢了一次,赢的对象是b。节点的入度是决定该节点的重要性的关键指标,入度越大越重要。下面以图I中的五个节点说明本发明方法的步骤。方法步骤如图2所示,步骤SI :由于需要对若干个排序的序列进行融合得到最終较优的结果序列,把这些序列中的对象作为待排序的对象,也就是图2中的节点。当某一竞争规则确定之后,对待排序的对象之间做两两竞争比赛,输的一方作为赢的一方的inlink或者说边的方向为从竞争输了的节点指向竞争赢了的节点。换句话说,赢的一方是输的一方的outlink,被竞争输了的节点所指。当所有待排序对象两两之间的竞争比赛全部结束了,构成了赢/输有向图。步骤S2 :在赢/输有向图上模拟random walk,假设ー个行走者在图上移动有两种方式选择下一步移动的目的节点。一是从当前所在的节点的OUtlinks(C)Utlinks的集合)中均勻随机选择ー个节点。ニ是从图中所有其它的节点中均勻随机选择ー个。Outlinks所链接的节点是在竞争中赢了的当前节点,比当前节点重要度要高。行走者每次优先选择向重要性更高的节点移动,也可以考虑不在outlinks内的其它节点。图2中行走者目前位于节点e,他优先选择节点d作为目标,也可以从a、b、c中均匀随机选择ー个。步骤S3 :设定步骤S2中两种随机移动方法的选择參数,也就是各自的选择概率。通过选择參数混合这两种方式,这样赢/输有向图中每个节点经过反复迭代计算后,得到ー个稳定的概率值。通过以下公式计算每个节点稳定不变的概率值r
权利要求
1.一种基于random walk的排序方法,其特征在于包括以下步骤 (1)将待排序对象作为图的节点,并在竞争规则下判断两节点的赢输,该两节点的链接方向为输的节点指向赢的节点,从而构建节点的赢/输有向图; (2)赢/输有向图上的节点随机选择下一跳到另一点节点,完成randomwalk,其中随机选择下一条包括以下两种随机游走方式一是从当前所在的节点的outlinks中均勻随机选择ー个节点;ニ是从赢/输有向图中所有其它的节点中均匀随机选择ー个; (3)计算每个节点的重要性程度,根据重要性程度得到最終的节点排序結果。
2.根据权利要求I所述基于randomwalk的排序方法,其特征在于步骤(I)中所述竞争规则为任ー排序融合算法中采用的规则。
3.根据权利要求I所述基于randomwalk的排序方法,其特征在于步骤⑵中随机选择下一跳时优先选择向重要性更高的节点移动。
4.根据权利要求I所述基于randomwalk的排序方法,其特征在于步骤⑵中赢的一方是输的一方的outlink, outlinks是outlink的集合。
5.根据权利要求I所述基于randomwalk的排序方法,其特征在于步骤(3)中姆个节点的重要性程度即通过以下公式计算每个节点稳定不变的概率值,再根据此概率值对赢/输有向图中所有的节点排序,形成结果序列,
全文摘要
本发明公开了一种基于random walk的排序方法,包括如下步骤(1)构建赢/输有向图,图的节点为待排序的对象,以竞争规则决定图中两节点之间边的方向;(2)在图上的游走均匀随机的选择下一跳节点实现random walk;(3)计算每个节点的重要性程度,进而得到最终的排序结果。本发明最终的排序结果不但得出了待排序对象之间竞争的输赢次数,还考虑了待排序对象自身的重要程度,能有效地针对不同的应用背景设计相应的算法,为算法的选择做出了理论指导,同时为实验中算法的验证和参数的调整提供了便利。
文档编号G06F17/30GK102662941SQ20111045836
公开日2012年9月12日 申请日期2011年12月31日 优先权日2011年12月31日
发明者刘东飞, 夏红霞, 李琳, 袁景凌, 钟珞 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1