22

私は自分の国のページをインデックス化する検索エンジンの開発に興味を持っている学生です。私はしばらくの間、使用するアルゴリズムを研究してきましたが、HITS と PageRank が最も優れていると判断しました。HITSアルゴリズムよりも安定しているため(または読んだことがあります)、PageRankを使用することにしました。

PageRank に関連する無数の記事や学術論文を見つけましたが、私の問題は、これらの論文でアルゴリズムを形成する数学記号のほとんどを理解していないことです。具体的には、Google マトリックス (既約の確率行列) の計算方法がわかりません。

私の理解は、次の 2 つの記事に基づいています。

誰かが数学記号の少ない基本的な説明 (例があればいいでしょう) を提供できますか?

前もって感謝します。

4

7 に答える 7

26

PageRank の正式な定義は、引用文献の 4 ページで定義されているように、おかしな「E」記号を使用した数式で表されます (実際、これはギリシャ文字の大文字のシグマです。シグマは、ここで表す文字「S」です)。合計のため)。

一言で言えば、この式は、ページ X の PageRank を計算するには...

   このページへのすべての被リンク (= X にリンクしているすべてのページ)
   次の値を計算する必要があります。
         X にリンクしているページの PageRank [R'(v)]
         で割った
         このページで見つかったリンクの数。[Nv]
         あなたが追加する
           c で正規化された「ランクのソース」、[E(u)]
             (その目的については後で説明します。)

     そして、これらすべての値の合計を作成する必要があります [シグマのこと]
     最後に、定数 [c] を掛けます。
        (この定数は、PageRank の範囲を管理しやすくするためのものです)

この式の重要なアイデアは、特定のページ X にリンクするすべての Web ページがその「価値」に付加価値を与えるということです。あるページにリンクすることで、彼らはこのページに賛成して「投票」しています。ただし、この「投票」には、次の 2 つの要因に応じて、多かれ少なかれ重みがあります。

  • X [R'(v)] にリンクしているページの人気度
  • X にリンクしているページが他の多くのページにもリンクしているかどうか。[Nv]

これらの 2 つの要因は、非常に直感的なアイデアを反映しています。

  • 一般的には、知らない人から推薦状をもらうよりも、その分野で認められている専門家から推薦状をもらうほうがよいでしょう。
  • 誰が推薦するかに関係なく、他の人にも推薦を与えることで、彼らはあなたへの推薦の価値を減らしています.

X のページ範囲を知るには、X にリンクしているすべてのページの PageRank を知る必要があるため、この式は循環参照を使用しています。では、これらの PageRank 値をどのように計算しますか?...ドキュメントのセクションで説明されている収束の次の問題が発生します。

基本的に、すべてのページについて、PageRank の「ランダムな」値 (またはできれば「適切な推測」値) から開始し、上記の式を使用して PageRank を計算することにより、このプロセスを数回繰り返すと、新しく計算された値が「より良く」なります。回. 値は収束します.つまり, それぞれが実際の/理論上の値にどんどん近づいていきます. したがって, 十分な回数反復することで, 反復を繰り返しても関数によって提供される値に実用的な精度が追加されない瞬間に到達します.最後の反復。

さて...理論的には、それは素晴らしくてダンディです。秘訣は、このアルゴリズムを同等のものに変換することですが、その方がより迅速に実行できます。これと同様のタスクを実行する方法について説明している論文がいくつかあります。私はそのような参考文献を手元に持っていませんが、後で追加します。線形代数の健全な用量が含まれることに注意してください。

編集:約束どおり、ページ ランクを計算するアルゴリズムに関するリンクをいくつか示します。 PageRank の効率的な計算 Haveliwala 1999 /// コンピューティング PR のための Web のブロック構造の活用 Kamvar et al 2003 /// PageRank を計算するための高速な 2 段階アルゴリズム 2002年

上記のリンクの著者の多くはスタンフォード出身ですが、効率的な PageRank のような計算の探求が注目の研究分野であることを理解するのにそれほど時間はかかりません。この資料は OP の範囲を超えていることは承知していますが、基本的なアルゴリズムは大きな Web では実用的ではないという事実をほのめかすことは重要です。

非常にアクセスしやすいテキスト (詳細な情報へのリンクが多数あります) で締めくくるには、ウィキペディアの優れた記事に言及したいと思います。

この種のことに真剣に取り組んでいる場合は、数学、特に線形代数の入門/復習クラスと、グラフ全般を扱うコンピューター サイエンスのクラスを検討することをお勧めします。ところで、1806 年の講義の OCW のビデオについて、この投稿で Michael Dorfman から素晴らしい提案がありました。

これが少し役立つことを願っています...

于 2009-09-20T18:38:04.440 に答える
9

検索エンジン用のアルゴリズムの開発に真剣に取り組んでいる場合は、線形代数のコースを受講することを強くお勧めします。対面式のコースがない場合、Gilbert Strang による MIT OCW コースは非常に優れています ( http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/VideoLectures/のビデオ講義)。

このようなクラスは、提供するドキュメントの数学記号を確実に理解できるようにします。その論文には、1 年生の線形代数コースでカバーされないものは何もありません。

これがあなたが探している答えではないことはわかっていますが、これが本当にあなたにとって最良の選択肢です。基本的な概念をよく理解していないときに、誰かに個々のシンボルやアルゴリズムを説明してもらうのは、時間の無駄です。

于 2009-09-20T19:02:38.820 に答える
5

これはあなたが必要とする論文です:http://infolab.stanford.edu/~backrub/google.html(あなたが著者の名前を知らないならば、あなたはここで彼らについてのより多くの情報を見つけるでしょう:http:// www .google.com /corporate/execs.html)。

ドキュメントで使用されている記号は、一般の英語でドキュメントに記載されています。

私にこれをグーグルさせてくれてありがとう。

于 2009-09-20T18:31:33.020 に答える
3

「25,000,000,000ドルの固有ベクトル:Googleの背後にある線形代数」。ローズハルマン工科大学のページランクは4,910億ドルの線形代数問題であるため、少し古くなっています。その論文はとてもよく書かれていると思います。

「集合知プログラミング」には、ページランクについての素晴らしい議論もあります。

于 2009-09-20T20:38:07.100 に答える
3

私の意見では、Duffymo が最高のリファレンスを投稿しました。私は大学4年生の時にページランクアルゴリズムを勉強しました。ページランクは次のことを行っています。

  1. 現在の Web ページのセットを有限マルコフ連鎖の状態として定義します。
  2. u から v への発信リンクがあるサイト u から v に遷移する確率を定義します。

    1/u_{n} ここで、u_{n} は u からの発信リンクの数です。

  3. 上記で定義されたマルコフ連鎖が既約であると仮定します (これは、結果をわずかに劣化させるだけで強制できます)。

  4. すべての有限既約マルコフ連鎖が定常分布を持つことを示すことができます。ページ ランクを定常分布と定義します。つまり、状態遷移の数が無限大になるにつれて、任意の粒子が各サイトに到達する確率を保持するベクトルです。

Google では、べき乗法をわずかに変更して定常分布を見つけます (べき乗法は優勢な固有値を見つけます)。それ以外には何もありません。それはかなりシンプルでエレガントで、おそらく私が考えることができるマルコフ連鎖の最も単純なアプリケーションの 1 つですが、それは多くのお金の価値があります!

したがって、ページランク アルゴリズムが行うことは、Web サイトが重要かどうかの指標として、Web のトポロジを考慮に入れることだけです。サイトに着信するリンクが多いほど、ランダムな粒子がそのサイトで無限の時間を費やす可能性が高くなります。

于 2009-09-21T04:31:24.667 に答える
3

また、David Austin によって書かれた Pagerank マトリックスの構築の背後にある数学に関する入門チュートリアルを読むことをお勧めします。簡単な例から始めて、完全な定義を構築します。

于 2009-09-20T19:44:11.657 に答える
0

数学を使わずにページ ランクについて詳しく知りたい場合は基本的な行列演算に関する非常に優れたチュートリアルです。数学のバックグラウンドがほとんどないが、ランキング アルゴリズムに飛び込みたいすべての人にお勧めします。

于 2012-10-18T05:37:55.277 に答える