jiku log

データサイエンスの核心を掴む : 学びと発見の記録

「データのつながりを活かす技術」 読書メモ一覧

はじめに

センサデータをはじめとしたテーブルデータ,テキストデータ,画像データなどデータには様々な形式がある。近年着目されているネットワーク/グラフデータは,これらとは異なる形式であり,分析方法も独特なものである。製造業においては,センサデータにおける機器の入力・出力関係などを表現することが考えられるが,これ以外にもつながりが含まれるデータが多く存在する。
データのつながりに着目した新たなデータ分析の手法を学ぶために,黒木裕鷹・保坂大樹 著 「データのつながりを活かす技術〜ネットワーク/グラフデータの機械学習から得られる新視点」を読むことにした。


https://gihyo.jp/assets/images/cover/2025/thumb/TH320_9784297147846.jpg

目次

本書の見どころ

本書は,ネットワーク分析やグラフニューラルネットワーク(GNN)に興味がある読者にとっては,以下の理由により有益だと感じている。
前提知識もあまり必要としておらず,GNNの導入部分の理解までは進められると考えられる。

ネットワークとしてデータを眺める方法論が説明されている。

ネットワーク分析を行なうためには,ネットワークデータを入手する必要がある。第2.2節 「ネットワークを発見する」では,もともとはネットワークデータとして作られたものではないが,ネットワークデータとして捉えるための様々な観点が紹介されていて,非常に参考になった。

データは,分析するときのことを考えて蓄積されているとは限らないため,ネットワーク分析をしたい対象のデータが,ネットワークデータとし保存されている保証は無い。ただ本節で紹介されている

  • 行動・状態を探し,結ぶ
  • 共起関係を探し,結ぶ
  • 移動・流れを探し,貼り合わせる
  • 距離や類似度から完全グラフを作る

というデータの見方・事象の捉え方は,既存のデータからネットワーク構造を取り出すための方法論なので,普通のデータにネットワーク分析を適用するために重要である。

GNNにつながる他の技術が丁寧に説明されている。

グラフニューラルネットワーク(GNN)は,近年注目されている技術の1つである。ただ,前提知識が少ない中では理解に時間がかかる。

本書では,ノードの中心性といったネットワークの定量的指標やノード埋め込み,グラフラプラシアンといったGNNの理解を助ける各種概念が説明されているので,GNNの章の内容が理解しやすかった。

実装に関する説明が書かれている。

Coraデータセットなどを対象としたソースコードが公開されており,理論だけでなく実際に試そうとしたときのハードルがかなり下げられている。

読書メモ一覧

第1章 ネットワークデータの基礎

stern-bow.hatenablog.com

第2章 ネットワークデータの発見・観測・構築

2.1 分析前の確認事項 / 2.2 ネットワークを発見する

stern-bow.hatenablog.com

2.3 ネットワークデータを観測・入手する

stern-bow.hatenablog.com

2.4 ネットワークのデータ形式 / 2.5 ネットワークデータのハンドリング

stern-bow.hatenablog.com

第3章 ネットワークの性質を知る

3.1 どのようなノードか

stern-bow.hatenablog.com

3.2 二つのノードはどのような関係にあるか

stern-bow.hatenablog.com

3.3 どのようなネットワークか

stern-bow.hatenablog.com

3.4 NetworkXを用いてネットワークの特徴を知る

stern-bow.hatenablog.com

第4章 ネットワーク機械学習タスク

4.1 ネットワークを対象とした機械学習タスクの整理 / 4.2 ノードを対象とした機械学習タスク

stern-bow.hatenablog.com

4.3 エッジを対象とした教師あり学習 / 4.4 ネットワーク構造を対象とした機械学習タスク

stern-bow.hatenablog.com

第5章 ノード埋め込み

5.1 表データを対象とした機械学習の復習 / 5.2 単語埋め込み

stern-bow.hatenablog.com

5.4 ノード埋め込みの実装

stern-bow.hatenablog.com

第6章 グラフニューラルネットワーク

6.1 深層学習の発展と構造データの扱い / 6.2 GNNのフレームワーク

stern-bow.hatenablog.com

6.3 グラフ畳み込みネットワーク / 6.4 GraphSAGE

stern-bow.hatenablog.com

6.5 GATフィルタ / 6.6 Relational GCN

stern-bow.hatenablog.com

6.7 GNNの実装

stern-bow.hatenablog.com

第7章 さまざまな分野における実例

7.1 自然言語処理におけるネットワーク分析

stern-bow.hatenablog.com

7.2 金融分野におけるネットワーク分析

stern-bow.hatenablog.com

7.3 労働市場におけるネットワーク分析

stern-bow.hatenablog.com

7.4 情報推薦におけるネットワーク分析

stern-bow.hatenablog.com

7.5 複雑ネットワークと社会ネットワークの分析 / 7.6 生物学におけるネットワーク分析

stern-bow.hatenablog.com