码迷,mamicode.com
首页 > 其他好文 > 详细

SimRank--基于结构的相似度度量方法学习笔记

时间:2016-07-19 10:32:59      阅读:483      评论:0      收藏:0      [点我收藏+]

标签:

详见:Glen Jeh 和 Jennifer Widom 的论文SimRank: A Measure of Structural-Context Similarity?

一、简介

  1. 目前主要有两大类相似性度量方法:
    (1) 基于内容(content-based)的特定领域(domain-specific)度量方法,如匹配文本相似度,计算项集合的重叠区域等;
    (2) 基于链接(对象间的关系)的方法,如PageRank、SimRank和PageSim等。最近的研究表明,第二类方法度量出的对象间相似性更加符合人的直觉判断。
  2. Simrank的基本思想是:如果两个实体相似,那么跟它们相关的实体应该也相似。比如在图一中如果a和c相似,那么A和B应该也相似。
  3. SimRank的特点:完全基于结构信息,且可以计算图中任意两个节点间的相似度。
    技术分享
    图一

二、基本公式

  • 在普通的同构网络中:
    技术分享
    其中,s(a,b)是节点a和b的相似度Ii(a)Ii(a)表示a的第i个in-neighbor。参数c是个阻尼系数,它的含义可以这么理解:假如I(a)=I(b)={A},按照上式计算出sim(a,b)=c*sim(A,A)=c,很明显,c应该大于0小于1,所以c∈(0,1),论文中c都设为了0.8。还有一种理解是说,两个节点间相隔的节点越多,相似度衰减的越厉害。
  • 在二分网络中,如图一所示:
    技术分享
    理解:

    • A和B之间的相似度等于A,B出度间相似度的平均值。
      a和b之间的相似度等于a,b入度间相似度的平均值。

    • 如果A,B分别代表顾客A和顾客B,a,b,c代表三件商品的话。买家A和B的相似度等于他们购买的物品之间相似度的平均值,物品a和b的相似度是购买它们的买家之间相似度的平均值。

三、朴素计算方法(矩阵计算)

技术分享
利用上面的公式即可进行simrank的编码实现,编程实现部分本文不考虑,如果读者感兴趣可以参考博客http://www.cnblogs.com/zhangchaoyang/articles/4575809.html

四、理解simrank的物理意义(Random Surfer-Pairs Model)

  1. expected distance,即为两节点间步数的平均值
    技术分享
    u为出发点,v为终点且不为中间节点。引入图二帮助理解,如图中所示,从u节点到节点v有2条路径,公式中t即代表路径,例如t=w1–w2–w3–w4,为u到v的一条路径,l(t)代表路径t的长度,即为t中的步数,此处若t=w1–w2–w3–w4,则l(t)为3。p[t]为选择路径t的概率,它的值为1/o(wi)的乘积,出度的倒数的乘积。———sigma(概率*步数)= 两节点间步数的平均值。
    技术分享
    图二
  2. Expected Meeting Distance(EMD)
    技术分享
    Note:分别以相同的速度从a,b节点同时出发,x点为终点,即最后在x节点相遇。
    **存在路径无限长问题
    技术分享
    图三
    如在图三(a)中,任意的a,b两点永远不会相遇,路径l(t)无限长,导致相似度无限大。
    针对上面的问题:
    1)参考pagerank方法,给它一个跳出循环的机会,给一个小概率可以跳到循环外某一随机点上。
    2)本文中采用了函数映射的方法,将l(t)映射为指数函数技术分享并且指数函数可以满足题意。两点相遇所需要的平均步数越大,两点间相似度越小,最小为0;两点间相遇需要的步数为0时,即两点为同一点时,两点间相似度最大,值为1。
    技术分享
    ——所以函数映射以后,引出Expected-f Meeting Distance的概念
  3. Expected-f Meeting Distance
    define s’(a, b), the similarity between a and b in G based on expected-f meeting distance, as
    技术分享
    其中,c是(0,1)间的常数。
    有了上面的概念以后,我们可以计算:
    技术分享
  4. Equivalence to SimRank,有了上面这个概念,接下来推导相似迭代形式的s‘(a,b),最后得到实际上:s‘(a,b) = s(a,b),s(a,b)为上面提到的同构网络中的基本公式。推导过程如下,最终可以得
    技术分享
  5. Theorem. The SimRank score, with parameter C, between two nodes is their expected-f
    meeting distance traveling back-edges, for f(z) =技术分享.
    两节点间simrank相似度的值即为此两节点间期望-f相遇距离,也就是(随机漫步所有的
    可能性)从这两个节点出发到相遇时所需要的步数的平均数。

五、回顾总结:

1)simrank的基本思想和主要特点
2)simrank的基本公式
3)理解Simrank的物理意义Theorem.

SimRank--基于结构的相似度度量方法学习笔记

标签:

原文地址:http://blog.csdn.net/u013527419/article/details/51943785

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!