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

最新文章

  1. [No0000AA]Windows 系统环境变量列表
  2. RNN求解过程推导与实现
  3. Java Eclipse解决中文字体太小
  4. fast-framework – 基于 JDK 8 实现的 Java Web MVC 框架
  5. 哈希加密算法 MD5,SHA-1,SHA-2,SHA-256,SHA-512,SHA-3,RIPEMD-160 - aTool
  6. BZOJ 1923 外星千足虫(高斯消元)
  7. java SimpleDateFormat非线程安全测试
  8. 【Fiddler】手机抓包
  9. Reverse Interger
  10. dijkstra堆优化模板
  11. silverlight+wcf 获得web参数
  12. sql语法复习:增删查改,各种数据库对象创建和函数使用
  13. bzoj 1430: 小猴打架 -- prufer编码
  14. Android中相机和相冊使用分析
  15. Python Day 5
  16. Ubuntu Docker版本的更新与安装
  17. BZOJ1192 [HNOI2006]鬼谷子的钱袋 数学推理
  18. [React] 09 - Tutorial: components
  19. getHibernateTemplate()的用法 (转)
  20. 第三方登录:微信扫码登录(OAuth2.0)

热门文章

  1. 怎么用AJAX来判断dedecms用户是否登录呢
  2. ebs history to look for password
  3. 获取WOED和EXCEL的公用方法
  4. 解决对含有第三方jar包的项目打包出现java.lang.NoClassDefFoundError问题
  5. Windows普通窗口程序
  6. 2016年12月28日 星期三 --出埃及记 Exodus 21:23
  7. SQL锁死解决办法
  8. UDP主要丢包原因及具体问题分析
  9. django系列--第一节
  10. Query Designer:公式冲突