Skip to main content
QUICK REVIEW

[論文レビュー] GraKeL: A Graph Kernel Library in Python

Giannis Siglidis, Giannis Nikolentzos|arXiv (Cornell University)|Jun 6, 2018
Advanced Graph Neural Networks参考文献 5被引用数 29
ひとこと要約

GraKeL は、scikit-learn と互換性を持つフレームワークに、複数の最先端のグラフカーネルを統合する Python ライブラリです。これにより、グラフ分類やクラスタリングの機械学習パイプラインへのシームレスな統合が可能になります。15 種類のカーネルと 2 つのカーネルフレームワークをサポートし、Cython および NumPy を活用した効率的な計算を実現。graphkernels などの既存のライブラリよりも高速かつ使いやすく、カーネルの比較・評価に向けた標準化されたインターフェースを提供します。

ABSTRACT

The problem of accurately measuring the similarity between graphs is at the core of many applications in a variety of disciplines. Graph kernels have recently emerged as a promising approach to this problem. There are now many kernels, each focusing on different structural aspects of graphs. Here, we present GraKeL, a library that unifies several graph kernels into a common framework. The library is written in Python and adheres to the scikit-learn interface. It is simple to use and can be naturally combined with scikit-learn's modules to build a complete machine learning pipeline for tasks such as graph classification and clustering. The code is BSD licensed and is available at: https://github.com/ysig/GraKeL .

研究の動機と目的

  • 多様なグラフカーネル実装を、1 つの再利用可能で拡張可能なフレームワークに統合すること。
  • グラフカーネルを scikit-learn ベースの機械学習パイプラインにシームレスに統合できるようにすること。
  • カーネルの比較・評価に向けた標準化され、拡張可能で効率的なプラットフォームを提供すること。
  • 離散的および連続的頂点/辺属性をサポートし、ラベル付きおよびラベルなしのグラフを処理できること。
  • BSD ライセンスおよび包括的なドキュメンテーションを通じて、グラフカーネル研究における再現可能性と協働を促進すること。

提案手法

  • ライブラリは、scikit-learn の TransformerMixin を継承する基底クラス Kernel を継承することで、すべてのグラフカーネルを実装し、scikit-learn の API と互換性を持たせています。
  • カーネルの計算には、NumPy および SciPy を用いた最適化された数値演算が使用され、パフォーマンスが重要なコンponent は Cython でコンパイルされています。
  • フレームワークは、ラベル付きおよび連続的属性を持つグラフをサポートし、頂点および辺の特徴に対して特別な処理を実施しています。
  • グラフ同型性のチェックには、小規模なグラフに対して BLISS が使用され、特定のカーネルのための Lovász のθ関数は CVXOPT を通じて計算されています。
  • ライブラリには、MUTAG や ENZYMES などの標準的なグラフ分類ベンチマークにアクセスできる datasets サブモジュールが用意されています。
  • fit_transform および transform メソッドを通じて、分離されたグラフコレクションに対する学習および推論をサポートするエンドツーエンドのワークフローが可能になっています。

実験結果

リサーチクエスチョン

  • RQ1多様なグラフカーネルを、1 つの拡張可能で使いやすいソフトウェアフレームワークに統合するにはどうすればよいか?
  • RQ2GraKeL は、既存のグラフカーネルライブラリと比較して、計算効率をどの程度向上させているか?
  • RQ3GraKeL は、グラフベースの機械学習タスクにおいて、natively に scikit-learn パイプラインに統合可能か?
  • RQ4ライブラリの設計は、新しいグラフカーネル実装の評価および比較をどの程度容易にするか?
  • RQ5GraKeL は、graphkernels などの代替実装と比較して、標準ベンチマークでどの程度のパフォーマンス向上を達成しているか?

主な発見

  • GraKeL は 15 種類の異なるグラフカーネルと 2 つのカーネルフレームワークを実装しており、6 種類のカーネルバージョンしか提供しない graphkernels ライブラリを大きく上回っています。
  • ENZYMES ベンチマークデータセットにおいて、GraKeL のカーネル計算は、graphkernels に内蔵された C++ 実装よりも高速であることが確認され、優れた効率性を示しています。
  • MUTAG データセットでは、ShortestPath カーネルと SVM 分類器(事前計算されたカーネルを使用)を組み合わせることで、84.21% の高い精度を達成しています。
  • GraKeL の設計により、scikit-learn のパイプラインに直接統合可能であり、ユーザーはグラフカーネルを SVM などの標準的な機械学習アルゴリズムとシームレスに組み合わせられます。
  • オブジェクト指向アーキテクチャと scikit-learn との互換性のおかげで、新しいグラフカーネル設計の拡張、比較、ベンチマークが容易になります。
  • 包括的なドキュメンテーションおよび GitHub 上での公開(BSD ライセンス)により、コミュニティの協働と再現可能な研究が促進されています。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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