PageRank通過網絡龐大的超鏈接關系來決定壹個頁面的級別。Google把A頁到B頁的鏈接解釋為A頁給B頁投票,Google根據投票來源(甚至是來源的來源,也就是鏈接到A頁的頁面)和投票對象的等級來確定新的等級。簡單來說,壹個高水平的頁面可以提升其他低水平頁面的水平。
PageRank要求鏈接“投票”
壹個頁面的“投票數”是由鏈接到它的所有頁面的重要性決定的。壹個頁面的超鏈接相當於為該頁面投票。壹個頁面的PageRank是通過遞歸算法從鏈接到它的所有頁面(“鏈接頁面”)的重要性中得到的。有更多鏈接的頁面會有更高的排名。相反,如果壹個頁面沒有任何鏈接,它就沒有排名。
2005年初,Google為web鏈接引入了壹個新的屬性nofollow,使得站長和博主可以做壹些Google不算投票的鏈接,也就是說這些鏈接不算“投票”。Nofollow設置可以抵禦評論垃圾。
谷歌工具欄上的PageRank指標範圍從0到10。好像是對數標度算法,細節未知。PageRank是谷歌的商標,其技術已經獲得專利。
PageRank算法中的點擊算法是由喬恩·克萊因伯格提出的。
PageRank算法
簡單的
假設有壹小組四個頁面:A、B、C和D。如果所有頁面都鏈接到A,那麽A的PR(PageRank)值將是B、C和D的總和..
PR(A) = PR(B) + PR(C) + PR(D)
繼續假設B也鏈接到C,D也鏈接到包括A在內的3個頁面..妳不能在壹頁上投兩次票。所以b給每頁半張票。同樣的邏輯,D投的票只有三分之壹算在A的PageRank上。
PR(A)= \ frac { PR(B)} { 2 }+\ frac { PR(C)} { 1 }+\ frac { PR(D)} { 3 }
換句話說,壹個頁面的PR值是按照鏈接總數平分的。
PR(A)= \ frac { PR(B)} { L(B)}+\ frac { PR(C)} { L(C)}+\ frac { PR(D)} { L(D)}
最後把這些都換算成百分比,再乘以壹個系數q,因為下面的算法,沒有頁面的PageRank會是0。那麽,Google通過數學系統給每個頁面壹個最小值1?問.
PR(A)= \ left(\ frac { PR(B)} { L(B)}+\ frac { PR(C)} { L(C)}+\ frac { PR(D)} { L(D)}+\,\cdots \right) q + 1 - q
所以壹個頁面的PageRank是通過其他頁面的PageRank計算出來的。谷歌反復計算每個頁面的PageRank。如果妳給每個頁面壹個隨機的PageRank值(非0),那麽經過反復計算,這些頁面的PR值會趨於正常穩定。這就是搜索引擎使用它的原因。
完成
這個方程引入了隨機瀏覽的概念,就是某個人在網上無聊的時候,隨機打開了壹些頁面,點擊了壹些鏈接。頁面的PageRank值也會影響其被隨機瀏覽的概率。為了便於理解,假設沖浪者不斷點擊網頁上的鏈接,最終到達壹個沒有任何鏈接頁面的網頁。這時候沖浪者會隨機去另壹個網頁開始瀏覽。
為了對那些有鏈接的頁面公平,將Q = 0.15(Q的含義見上文)的算法應用於所有頁面,以估計頁面可能被互聯網用戶加書簽的概率。
所以,這個等式如下:
{ \ RM page rank }(p _ I)= \ frac { q } { N }+(1-q)\ sum _ { p _ j } \ frac { { \ RM page rank }(p _ j)} { L(p _ j)}
P1,p2,...,pN是學習的頁面,M(pi)是鏈接到pi中的頁面數量,L(pj)是鏈接出pj的頁面數量,N是所有頁面的數量。
PageRank值是壹個特殊矩陣中的特征向量。這個特征向量是
\mathbf{R} = \begin{bmatrix}
r是等式的答案
\ mathbf { R } = \ begin { b matrix } { q/N } \ \ { q/N } \ \ \ v dots \ \ { q/N } \ end { b matrix }+(1-q)\ begin { b matrix } \ ell(p _ 1,p _ 1)& amp;\ell(p_1,p _ 2)& amp;\ cdots & amp\ell(p_1,p _ N)\ \ ell(p _ 2,p _ 1)& amp;\ ddots & amp& amp\ \ \ vdots & amp& ampell(p_i,p _ j)& amp;\\ \ell(p_N,p _ 1)& amp;& amp& amp\ell(p_N,p_N) \end{bmatrix} \mathbf{R}
\ell(p_i,p_j)等於0,如果pj沒有鏈接到pi,並且對每個j都成立。
\sum_{i = 1}^N \ell(p_i,p_j) = 1,
這種技術的主要缺點是舊頁面級別會高於新頁面。因為即使是非常好的新頁面,也不會有很多上遊鏈接,除非是壹個站點的子站點。
這也是PageRank需要多種算法結合的原因。PageRank似乎傾向於維基百科頁面,在條目名稱的搜索結果中總是領先於大多數或所有其他頁面。主要原因是維基百科和很多站點之間有很多鏈接。
谷歌經常懲罰惡意的行為來提高PageRank,但是如何區分正常的鏈接交換和異常的鏈接累積仍然是壹個商業秘密。