zoukankan      html  css  js  c++  java
  • PageRank理论与实践及用户评分应用PeopleRank算法

    PageRank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种由根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一. Google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一.PageRank适用于任何图或网络在任何域.因此,PageRank是现在经常使用在文献计量学,社会和信息网络分析,用于链接预测和推荐,甚至用于道路网络的系统分析,以及生物学、化学、神经科学、物理.

    原理:

     由于存在一些出链为0,也就是那些不链接任何其他网页的网, 也称为孤立网页,使得很多网页能被访问到.因此需要对 PageRank公式进行修正,即在简单公式的基础上增加了阻尼系数(damping factor)d, d一般取值d=0.85.其意义是,在任意时刻,用户到达某页面后并继续向后浏览的概率. 1- d= 0.15就是用户停止点击,随机跳到新URL的概率的算法被用到了所有页面上,估算页面可能被上网者放入书签的概率.

          最后,即所有这些被换算为一个百分比再乘上一个系数d.由于下面的算法,没有页面的

     

     

    优缺点:

    优点:

    1、  在于它对互联网上的网页给出了一个全局的重要性排序,它使用链接来衡量整体受欢迎程度,而不是使用相关主题.

    2、  算法的计算过程是可以离线完成的,这样有利于迅速响应用户的请求.

    缺点:

    1、  主题无关性,没有区分页面内的导航链接、广告链接和功能链接等,容易对广告页面有过高评价;

    2、  旧的页面等级会比新页面高,因为新页面,即使是非常好的页面,也不会有很多链接,除非他是一个站点的子站点.

     应用:

    基于PageRank的理论,我们以每个微博账户的“关注”为链出链接,“粉丝”为链入链接,我们把这种以人为核心的关系,叫PeopleRank

    ,代码见http://blog.fens.me/hadoop-social-peoplerank/

    #################################Matlab########################################

    % Parameter M adjacency matrix where M_i,j represents the link from 'j' to 'i', such that for all 'j'

    %     sum(i, M_i,j) = 1

    % Parameter d damping factor

    % Parameter v_quadratic_error quadratic error for v

    % Return v, a vector of ranks such that v_i is the i-th rank from [0, 1]

    function [v] = rank2(M, d, v_quadratic_error)

    N = size(M, 2); % N is equal to either dimension of M and the number of documents

    v = rand(N, 1);

    v = v ./ norm(v, 1);   % This is now L1, not L2

    last_v = ones(N, 1) * inf;

    M_hat = (d .* M) + (((1 - d) / N) .* ones(N, N));

    while(norm(v - last_v, 2) > v_quadratic_error)

             last_v = v;

             v = M_hat * v;

            % removed the L2 norm of the iterated PR

    end

    end %function

    ##################################R语言########################################

    Library(“igraph”)

    page.rank (graph, algo = c("prpack", "arpack", "power"),

    vids = V(graph), directed = TRUE, damping = 0.85,

    personalized = NULL, weights = NULL, options = NULL)

    g2 <- make_star(10)

    page_rank(g2)$vector

  • 相关阅读:
    asp.net操作cookie
    前端实现浏览器端大文件分片上传
    百度WebUploader实现浏览器端大文件分片上传
    网页实现浏览器端大文件分片上传
    c#.net实现浏览器端大文件分片上传
    SpringCloud实现浏览器端大文件分片上传
    jsp实现浏览器端大文件分片上传
    Java实现浏览器端大文件分片上传解决方案
    Java实现浏览器端大文件分片上传功能
    Java实现浏览器端大文件分片上传方案
  • 原文地址:https://www.cnblogs.com/dudumiaomiao/p/5987047.html
Copyright © 2011-2022 走看看