zoukankan      html  css  js  c++  java
  • 详解PageRank算法

    简介

    PageRank算法,是一种网页排名算法。在组建搜索引擎时,爬下来的数据从网页的角度来看,将所有的连接指向放到一起,可以构成一个图。PageRank,就是在这图上做文章。利用PageRank算法,得到PR(PageRank)值,当一个网页的PR值越大,则说明该网页越受欢迎。

    算法原理

    基本思想

    "重要性",即如果两个网页的链入的网页数相同的,如果网页1的连入的页面重要性较高,则认为网页1比网页2重要

    随机游走模型

    假设有一个永不停息,在浏览器上浏览网页的人,他随机的点击一个链接继续访问下一个网页,当达到稳态的时候(即经过了足够长的时间),他会正在看哪个网页?

    这等价于,在静态情况下,每个网页$v$都有一个被访问的概率$p(v)$,它可以视为网页的重要程度。

    $p(v)=sum{E[u,v]*p(u)/d_u}$

    其中$d_u$时网页$u$的"出度",$sum{p(u)}=1$

    我们可以令$L[u,v]={E[u,v] over d_u}$

    此时的公式就改写为$p[v]=sum{L[u,v]p[u]}$,写成矩阵形式

    当节点为悬挂节点时,,即出度为0的节点,修正为$L[u,v]={1 over N}$

    模型存在的问题

    上诉随机游走模型有稳态解的条件:强连通,无圈,即形成的有向图通过链接方式访问到每一个网页

    破坏条件:

    • 图中有圈
    • 有入度或出度为0的点

    改进后PageRank模型

    引入一个随机跳转概率$eta$,每次浏览者都有$1-eta$的概率沿着链接走,有$eta$的概率重新随机的选择一个新的起始点。

    其中 Google matrix 为

    模型的求解过程

  • 相关阅读:
    python基础 2
    python基础 1
    进程
    进程作业
    上海python14期第二次阶段性考试
    面向对向之元类
    面向对向
    笔试题
    模块(2)
    模块作业
  • 原文地址:https://www.cnblogs.com/simplekinght/p/11891782.html
Copyright © 2011-2022 走看看