Skip to main content
QUICK REVIEW

[論文レビュー] A Streaming Algorithm for Graph Clustering

Alexandre Hollocou, Julien Maudet|arXiv (Cornell University)|Dec 9, 2017
Complex Network Analysis Techniques被引用数 3
ひとこと要約

この論文では、1つのノードあたり3つの整数のみを用いて、1回のパスでエッジを処理するストリーミンググラフクラスタリングアルゴリズムを提示している。線形時間および空間計算量を達成しており、Friendster や Orkut のような大規模ネットワークにおいて、クラスタリング品質を維持または向上させながら、10億エッジのグラフにおいても、最先端の手法を10倍以上高速に処理する。

ABSTRACT

We introduce a novel algorithm to perform graph clustering in the edge streaming setting. In this model, the graph is presented as a sequence of edges that can be processed strictly once. Our streaming algorithm has an extremely low memory footprint as it stores only three integers per node and does not keep any edge in memory. We provide a theoretical justification of the design of the algorithm based on the modularity function, which is a usual metric to evaluate the quality of a graph partition. We perform experiments on massive real-life graphs ranging from one million to more than one billion edges and we show that this new algorithm runs more than ten times faster than existing algorithms and leads to similar or better detection scores on the largest graphs.

研究の動機と目的

  • ソーシャルネットワークやウェブグラフのような実世界の応用において、メインメモリの容量を超える大規模グラフをクラスタリングする課題に対処すること。
  • 完全なグラフを保存せずに、1回だけエッジを処理するストリーミングアルゴリズムを設計し、10億エッジのネットワークへのスケーラビリティを実現すること。
  • ノードあたり3つの整数のみを用いる、極めて軽量なクラスタリング手法を開発し、高品質なコミュニティ検出を維持すること。
  • モジュラリティ関数を用いた理論的裏付けにより、アルゴリズムの設計を正当化し、特定の仮定の下で各エッジ更新がモジュラリティを向上させることを保証すること。
  • 極めて効率的であるにもかかわらず、大規模グラフにおいて既存の手法と同等または優れたクラスタリング品質を達成することを実証すること。

提案手法

  • アルゴリズムは、エッジを挿入のみのストリーミング形式で処理し、完全なグラフを保存せずに、各エッジを正確に1回だけ処理する。
  • 各ノードに対して、現在のコミュニティインデックス、現在の次数(処理済みエッジ数)、およびコミュニティ内の次数の合計(コミュニティボリューム)の3つの整数を維持する。
  • 新しいエッジ (i,j) が到着すると、パラメータ $v_{\mathrm{max}}$ とノード i および j のコミュニティのボリュームに基づいて、コミュニティ i と j をマージするかどうかを決定する。
  • 意思決定ルールは、モジュラリティ関数を用いて理論的に正当化されており、特定の仮定の下でマージがモジュラリティを向上させることを保証する。
  • アルゴリズムは、完全なエッジリストを格納するのと比較して、極めてメモリ効率の良い最小限のスケッチ(ノードあたり3つの整数)を用いる。
  • アルゴリズムは決定論的であり、調整可能なパrameterは $v_{\mathrm{max}}$ のみで、コミュニティマージの感度を制御する。

実験結果

リサーチクエスチョン

  • RQ110億エッジのグラフを処理する際、最小限のメモリ使用量で1パスで処理できるグラフクラスタリングアルゴリズムを設計できるか?
  • RQ2ストリーミング環境に適応したモジュラリティ関数をどのように設計すれば、コミュニティマージがクラスタリング品質を向上させることを保証できるか?
  • RQ310億エッジのグラフに対してストリーミングアルゴリズムを適用した際、速度とクラスタリング品質のトレードオフはどのようなものか?
  • RQ4ストリーミングアルゴリズムは、Louvain や SCD のような最先端のアルゴリズムと同等または優れた検出スコアを達成できるか?
  • RQ510億エッジを超えるグラフを処理する際、実行時間およびメモリ消費量の観点から、アルゴリズムはどのようにスケーリングするか?

主な発見

  • Friendster グラフ(18億エッジ)を241秒で処理した。これは、エッジリストを読み込む Unix の 'cat' コマンドよりもわずかに59秒遅いだけであり、アルゴリズムのオーバーヘッドが極めて小さいことを示している。
  • Friendster データセットでは、Louvain や SCD よりも10倍以上高速に処理され、これらはこの規模では処理を完了できなかった。
  • メモリ消費量は著しく削減された:Friendster では、アルゴリズムは1.6 GB のみを消費したが、エッジリストを格納するだけでも28.9 GB 必要だった。
  • LiveJournal や Orkut、Friendster のような大規模グラフでは、SCD や Louvain よりも高い F1 スコアを達成した。LiveJournal では 0.28、Orkut では 0.44 の F1 スコアを記録した。
  • 小さなグラフでは NMI スコアが競争力があり、大規模グラフでは顕著に優れていた。Orkut では 0.24 の NMI スコアを達成したが、他のアルゴリズムは NMI を計算できなかった。Friendster では 0.19 の F1 スコアを記録した。
  • 理論的分析により、特定の仮定の下で、各エッジ処理ステップがモジュラリティを向上させることを示した。これにより、アルゴリズムの設計選択が正当化された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。