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

来源:本网整理

北海市地处广西南端,北部湾东北岸。西北距南宁206公里,东距广东湛江198公里,东南距海南海口市147海里。市区南北西三面环海,有涠洲(24.74平方公里)、斜阳(1.8平方公里)二个海岛,涠洲距市区大约20.2海里。北海市与海南省隔海相望,邻近东南亚诸国,背靠大西南云贵川诸省,处于大西南、海南及东南亚的中枢位置,地理位置优越。总面积3337平方公里,市区面积957平方公里。市辖合浦县、海城区、银海区、铁山港区。北海市是一个美丽富饶、四季如春、风景如画的海滨城市,是中国古代“海上丝绸之路”的始发港之一,是我国14个沿海开放城市之一,北海市地处广西壮族自治区南端,是西南地区对外贸易最为便捷的出海

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

一、简介

  1. 目前主要有两大类相似性度量方法:

    随着一些老牌综艺主持人李湘倪萍李咏淡出荧屏。近几年又涌现出一些新的综艺主持人,他们出色的主持能力获得众多观众的喜爱。有网友经常会评选出最具影响力的全国十强主持人。按照他们的主持风格、语言组织能力、临场应变和幽默程度以及带动节目影响力来评选。不妨看看中国内地十大综艺主持人排行榜,谢娜尴尬进榜,李维嘉被低估,金星落选,撒贝宁汪涵孟非为何力压综艺一哥何炅。Top10李维嘉一直被芒果台低估的主持人估计许多网友认为,李维嘉是位一直被低估的主持人,论幽默,除了汪涵何炅,维嘉现场抖出的梗绝对不输国内任何主持人。多年来,维嘉一直在湖南卫视的王牌节目《快乐大本营》担任主持人,他与何炅、谢娜一直搭档的非常不错。但

    (1) 基于内容(content-based)的特定领域(domain-specific)度量方法,如匹配文本相似度,计算项集合的重叠区域等;

    谢邀。这问题对单身狗的我是一个残忍呀哈哈哈哈哈……不过言归正传,来说说这个严肃的问题。先说女人怀孕会发生什么。无端地焦虑有很多女人怀孕之后,担心胎儿性别不理想,又担心分娩时的疼痛,怕难产,怕胎儿畸形,想得过多,导致心理压力过大。还有的孕妈咪一遇到家庭中的琐事或者工作上的事情脾气就无法自控,这样长期下去,严重者可发展为妊娠焦虑症。孕妇因焦虑情绪所引起的一系列生理变化,可通过胎盘传递给胎儿,影响胎儿的健康发育,甚至影响到婴儿出生后的智力发展,严重者可导致胎儿畸形甚至流产。德国战后新生儿畸形率高达65%,儿科专家对此进行长期的研究后认为,战争恐怖和战后政治危机引起孕妇心理紧张,是导致畸形儿增加的重要

    (2) 基于链接(对象间的关系)的方法,如PageRank、SimRank和PageSim等。最近的研究表明,第二类方法度量出的对象间相似性更加符合人的直觉判断。

  2. Simrank的基本思想是:如果两个实体相似,那么跟它们相关的实体应该也相似。比如在图一中如果a和c相似,那么A和B应该也相似。
  3. SimRank的特点:完全基于结构信息,且可以计算图中任意两个节点间的相似度。

    山东作为文化大省,百年老字号的品牌自然很多,比如:1.青岛啤酒,公司成立于1903年,当时由英国和德国的商人共同创办,前身叫做国营青岛啤酒厂。现在青岛啤酒股份有限公司已然挤身世界500强,是当之无愧的啤酒界的龙头老大;2.张裕葡萄酒,厂址在山东烟台,公司成立于1892年,当时叫做张裕酿酒公司,由爱国华侨张弼士投资创办,据说花了300万两白银。目前张裕集团已经是亚洲最大的葡萄酒生产经营的企业了;3.德州扒鸡公司虽然成立于1935年,距现在不足100年,但早在1692年,贾建才先生就研制出了扒鸡的制作配方,其一度成为清朝的贡品,可谓是几百年的老字号了。

    这里写图片描述

    图一

二、基本公式

  • 在普通的同构网络中:

    这里写图片描述

    其中,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. $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    本文转载自u013527419博客,版权归u013527419所有

    扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

    simrank那大学教授相似度怎么算的

    SimRank 是一种基于图的拓扑结构信息来衡量任意两个对象间相似程度的模型,该模型的核心思想为:如果两个对象被其相似的对象所引用(即若两个对象有相似的入邻边结构),那么这两个对象也相似。

    http://baike.baidu.com/view/13089183.htm?fr=aladdin

    曲线相似度度量的方法

    这些非常专业的东西大多数人是不了解的,要问专业人士。

    计算机仅仅能按人给它的规定按部就班执行而已,具体的办法全都是人想出来的——懂得如何解决相关问题的人。

    如何构造相似度矩阵

    求解高维相似度矩阵(All Pairs Similarity Search,or Pairwise Similarity),或者在大规模数据集上挖掘Top-K最相似的items(K-Nearest Neighbor Graph Construction, or TopK Set expansion),主要有如下几种方法(以Document Similarity为例):

    Brute Force:最直接、暴力的方法,两个for循环,计算任意两篇文档之间的相似度,时间复杂度为O(n^2)。这种方法可以得到最好的效果,但是计算量太大,效率较差,往往作为baseline。

    Inverted Index Based:由于大量文档之间没有交集term,为了优化算法性能,只需计算那些包含相同term文档之间的相似度即可,算法伪代码如下:基于MapReduce的分布式计算框架如下:为了进一步优化计算,节省空间,研究人员提出了一系列剪枝策略和近似算法,详细见:《Scaling Up All Pairs Similarity Search》、《Pairwise document similarity in large collections with MapReduce》、《Brute Force and Indexed Approaches to Pairwise Document Similarity Comparisons with MapReduce》。

    Locality Sensitive Hashing(LSH):通过对文档进行某种度量操作后将其分组散列在不同的桶中。在这种度量下相似度较高的文档被分在同一个桶中的可能性较高。主要用于Near-duplicate detection和Image similarity identification等,详细见:《Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality》、《Google news personalization: scalable online collaborative filtering》。本回答被提问者和网友采纳

  • 本文相关:
  • 《UNIX环境高级编程》--6系统数据文件和信息
  • 【在线笔试题解题报告系列】微软在线笔试之 2016微软探星夏令营在线技术笔试(时间:2016.07.17)
  • [从头读历史] 第307节 星球战争 BC2699 至 BC2600(公元前27世纪)
  • ISO8583报文协议详解
  • cs231n - assignment1 - neural net 梯度推导
  • 80x86微处理器结构及其工作模式
  • 五大NAT穿透方法,解决内网问题
  • 动态代理及其两种实现方式(JDK、CGLIB)
  • 【HDU5721 BestCoder 2nd AnniversaryD】【平面最近点对 分治写法+KD-tree写法】Palace 平面最近点对
  • 《UNIX环境高级编程》--5 标准IO库
免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
Copyright © 2017 www.zgxue.com All Rights Reserved