• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0

            首先申明,本博文自原創,部分數據來源于網絡。

            google的 搜索結果中,PR值越 高的網頁排在越前面。

            網頁權重的算法有很多種,為何我唯獨選擇了page rank來討論,不僅因為它是Google搜索引擎采用的搜索結果排名算法之核心,且它把整 個互聯網當做一個整體來對待且最終依靠經典的數學模型精準地得到web上 網頁的權重。

            雖然今天的搜索引擎的排名系統遠遠要比這個算法復雜。域名數據,內容質量,用戶數據,建站時間等都可能被考慮進去,但是page rank算法仍然是核心的技術之一,使得Google名聲大噪。關于page rank的介紹性文章,在Google黑板報里的 Page Rank Google 的民主表決式網頁排名技術。關于其更詳細的論述,可以參照Google 的兩個創始人拉里•佩奇 Larry Page )和謝爾蓋•布林 (Sergey Brin)的論文 The PageRank Citation Ranking: Bringing Order to the Web

            首先,page rank基 于以下的假設:一個 網頁被引用 (即反向 鏈接)的次數越多,則 說明越重要; 一個網 頁雖然沒有被多次引用,但是被重要的網頁引用,則它也可能是很重要的;一個網頁的重要性被平均的傳遞到它所引用的網頁。所以,為了說明問題的方便,就引出了下面這個簡化了的Page Rank算法。簡化版一:R(u) = cR(1)/N(1) + ……+cR(v)/N(v)。(v∈Bu)。 其中R(v)是網頁v的PR值,N(v)是 網頁v的正向鏈接數,B(u)是頁面u的反向鏈接的集合。c是 阻尼系數(Damping Factor),它的值在0到1之間。因 此,阻尼系數的使用,減少了其它頁面對當前頁面A的排序貢獻。那么這個式子如何用數學的方法解答呢?首先可以認為整個互聯網是 一個大的有向圖G=(V,E)。V是所有頁面的集合,E是有向邊的集 合,(i,j)表示頁i有指向頁j的超鏈接。由于有向圖和矩陣在本質上 是可以互相轉換的,下面舉例是如何互轉的:

            此有向連通圖模擬網頁間的超鏈接

            鏈接源I D 鏈接目標 ID

            1          2,3 ,4,5, 7

            2          1

            3          1,2

            4          2,3,5

            5          1,3,4,6

            6          1,5

            7          5

            如果我們假設Aij=1 ,if (從頁面 i 向頁面 j 「有 」 鏈接的情況) ;Aij=0, if (從頁面 i 向頁面 j 「沒有」鏈接的情況) 。 則根據以上我們可以構造如下矩陣

            A = [

               0, 1, 1, 1, 1, 0, 1;

               1, 0, 0, 0, 0, 0, 0;

               1, 1, 0, 0, 0, 0, 0;

               0, 1, 1, 0, 1, 0, 0;

               1, 0, 1, 1, 0, 1, 0;

               1, 0, 0, 0, 1, 0, 0;

               0, 0, 0, 0, 1, 0, 0;

            ]

            接下來再來看看公式一中的PR值求法,即

            PR(1) = c[1*PR(2) + (1/2)*PR(3) + (1/4)*PR(5) +(1/2)*PR(6)];

            PR(2) = c[(1/5)*PR(1) + (1/2)*PR(3) + 0.25*PR(5) + 0.5*PR(5)];

            ............

            PR(7) = c[(1/5)*PR(1) + 0+ 0......];

            則,可以得出PT = cMPT其中M的方陣如下,

            M = [

                0,    1,   1/2,    0,     1/4,    1/2,    0;

                1/5,    0, 1/2,    1/3,    0,     0,     0;

                1/5,    0, 0,     1/3,    1/4,    0,     0;

                1/5,    0, 0,      0,     1/4,    0,     0;

                1/5,    0, 0,     1/3,    0,     1/2,    1;

                0,      0, 0,      0,     1/4,    0,     0;

                1/5,    0, 0,     0,     0,     0,     0;

            ]

            所以,PT為M的特征根為c的 特征向量。只需求出最大特征根的特征向量,就是網頁集對應的最終PageRank值,這可以用迭代方法計算。如何迭代呢?如果 我們給定初始向量PT1’做第一次迭代,就相當于用初始向量乘以上面的矩陣。第二次迭代就相當于用第一 迭代的結果再乘以上面的矩陣……實際上,在隨機過程的理論中,上述矩陣被稱為“轉移概率矩陣”。這種離散狀態按照離散時間的隨機轉移過程稱為馬爾可夫鏈(Markov chain)。設轉移概率矩陣為P,若存在正整數N,使得PN>0(每 一個元素大于0),這種鏈被稱作正則鏈,它存在唯一的極限狀態概率,并且與初始狀態無關。這篇”Google搜索與Inter網中的數學文章 里,描述了馬氏鏈與page rank的關系。

            最后可以看到,從最開始的矩陣A到矩陣M可以 很容易轉化得到(將A倒置后將各個數值除以各自的非零要素)。

            現在考慮有一個頁面(比如是頁面7),它不含有任何的超鏈接,即它的前向 鏈接或者說出度為0,很顯然,方陣M的最后一行為全零,這樣,特征向量PT也 為全零。我們也可以從圖論的角度來闡述這個問題。我們可以這樣定義一個有向圖:圖G的頂點集合為V={V1,V2,…,Vn}, 邊的集合為E={Eij}。我們把有向圖G的每個頂點都給定一個權值P(Vi), 即為它的PR值。有向邊AB的權值定義為A為B貢 獻的PageRank,也即網站A鏈接到網站B的概率。這樣,對于一個 頂點,若它的出度大于0,則從它出去的權值和為1(這一點可以從上述的方陣M中 的列可以看出,滿足了全概率)。顯然,如果圖中有一個頂點X的出度是0,那么經過有限次迭代后所有 頂點的PR值都將變為0。這是因為由于X不對外貢獻任何PR, 所以整體的PR總和在不斷減少,最終減為0。這個被拉里•佩奇和謝爾蓋 •布林稱為rank sink。 為了克服這個問題,就有了下面這個公式:Rank算 法簡化版二:R(u) = 1-c+ cR(1)/N(1) + ……+cR(v)/N(v)。(v∈Bu)。 ……公式二

            (1-c)實際上為了服從概率分布。這樣可以推導出P = (1-c)e + cMP,即

            P = [(1-c)eeT/n + cM]P (eTP=n)。關于用矩陣方法來推導的更詳細的文章,可以參考這篇 "The $25,000,000,000 Eigenvector: The Linear Algebra Behind Google" .

               現在可以想象一下整個web中 有250億不止的網頁,收斂速度是至關重要的。所以為什么作者拉里•佩奇 Larry Page )和謝爾蓋•布林 (Sergey Brin)要取c0.85,在這篇文章How Google Finds Your Needle in the Web's Haystack 的最后部分討論到。

            Pagerank算法除了對搜索結果進行排序外,還可 以應用到其它方面,如估算網絡流量,向后鏈接的預測器,為用戶導航等。這篇文章 PageRank sculptin g.講述了當前Google的一些改進.

                后記,2001年9月,PageRank被 授予美國專利,專利被正式頒發給斯坦福大學,佩奇作為發明人列于文件中。最后要說的一點,分析PR算法,用到了離散數學,線性 代數,概率論,數值計算甚至隨機過程,所以看來數學確實很好很強大需要認真學習啊。


            from:

            http://hi.baidu.com/alphahunters/blog/item/e0e8a92d1b2820321f3089a0.html

            http://blog.csdn.net/boyplayee/archive/2009/09/13/4548930.aspx


            posted on 2010-04-05 17:15 chatler 閱讀(701) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
            <2009年6月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            色综合久久久久综合99| 久久国产免费直播| 天天爽天天爽天天片a久久网| 欧美午夜精品久久久久免费视| 性欧美丰满熟妇XXXX性久久久 | 精品国产乱码久久久久久郑州公司| 久久精品中文无码资源站| 99久久精品免费看国产免费| 伊人热热久久原色播放www| 国产精品久久久久9999| 香蕉99久久国产综合精品宅男自| 亚洲AV无码1区2区久久| 欧美综合天天夜夜久久| 99久久精品免费看国产一区二区三区 | 日本欧美久久久久免费播放网| 热re99久久精品国99热| 久久国产免费| 成人久久精品一区二区三区| 亚洲国产成人精品女人久久久 | 久久狠狠色狠狠色综合| 少妇无套内谢久久久久| 大美女久久久久久j久久| 97久久精品无码一区二区天美| 久久中文字幕精品| 久久精品国产欧美日韩| 亚洲国产精品久久久久婷婷老年| 午夜精品久久久久久影视riav| 国产精品嫩草影院久久| 久久国产精品99精品国产987| 色欲久久久天天天综合网| 欧美精品一区二区久久| 国产精品美女久久久网AV| 成人国内精品久久久久影院| 久久99精品久久久久久久不卡 | 国产精品成人久久久久三级午夜电影| 97久久国产露脸精品国产| 久久久久久久久66精品片| 亚洲AV伊人久久青青草原| 久久久久久久久久免免费精品| 久久久久国产精品麻豆AR影院| 亚洲国产精品久久久久婷婷老年 |