zoukankan      html  css  js  c++  java
  • simrank

    simrank

    背景

    度量相似度是许多应用的关键问题。传统方法与问题的领域相关,如文本匹配、计算交集。simrank则利用关联关系度量相似性,即“两个节点的相似性和各自邻域节点的相似度有关”。

    算法

    simrank的核心公式:
    ,并且时,


    ,

    ,或者

    通过多轮迭代,可以收敛。

    mapreduce实现

    利用mapreduce,容易进行上述的迭代计算。
    (1)初始状态:
    相似度矩阵是单位阵:


    邻接集合列
    (2)每轮迭代
    input:
    a_b, s(a,b), x_a, x_b
    其中,x_a表示所有与a邻接的节点,x_b表示所有与b邻接的节点,则任意的pair都需要累加s(a, b)

    map:
    分别遍历x_a, x_b,构成pair,输出
    pair, s(a, b), I(px), I(p_y)

    reduce:
    累加s(a, b),得到pair的相似度

  • 相关阅读:
    C++异常:exception
    C++关键字:explicit
    C++关键字:重学记录
    Unity jointmoto
    hashtable和hashmap
    Spring MVC 笔记 概述
    SQL上门2
    面试:A
    Java 初学者
    SQL上门
  • 原文地址:https://www.cnblogs.com/zjgtan/p/8052943.html
Copyright © 2011-2022 走看看