関係データ学習

機械学習技術 自然言語技術 人工知能技術 デジタルトランスフォーメーション技術 知識情報処理技術 セマンティックウェブ技術 グラフデータアルゴリズム 構造学習 推薦技術 本ブログのナビ

機械学習による関係データ解析の概要

関係データとは、最も単純な場合、N個のオブジェクトがあったときに、その中の任意のペアに対してどのような「関係」が存在するかを表すデータとなる。このデータとデータの間の関係を表す形として行列を考えると、関係性を表すデータは行列の中の要素そのものとなり、関係データ学習とはこの行列の中のパターンを抽出するものとなる。

これらが適用されるタスクには「予測(prediction)」と「知識抽出(knowledge xtraction)」の2つが存在する。

予測問題とは、観測データから学習、設計された統計モデルを用いて未観測のデータの値を推定する問題であり、知識抽出問題とは、関係データ自体の特性を解析することや、与えられた観測データを適切にモデリングすることによって、何らかの有用な知見やルール、知識につながる情報を抽出するタスクとなる。

この関係データ学習に用いられるアルゴリズムは、多層パーセプトロン、サポートベクトルマシン、決定木、ランダムフォレスト、深層学習、異常検出など様々なものがあり、それらをを用いることで、データの分類や予測、異常検知、クラスタリング、特徴量の選択などが実現される。

機械学習による関係データ解析の応用事例には以下のようなものがある。

  • マーケティング: 機械学習を用いた関係データ解析により、マーケティング分野において、消費者の嗜好や行動パターンを分析することができる。例えば、過去の購入履歴やクリック履歴などのデータを元に、消費者の好みを分析し、商品のセグメンテーションや顧客ターゲティング、プロモーションの最適化などに役立てることができる。
  • 売り上げ予測: ある企業が過去の売上データを元に、将来の売上予測を行いたい場合、機械学習による関係データ解析を行うことができる。具体的には、過去の売上データから、月ごとの売上高、商品のカテゴリー、地域ごとの販売量などの特徴量を抽出し、機械学習アルゴリズムを用いて将来の売上予測を行うものとなる。
  • 医療: 機械学習を用いた関係データ解析により、医療分野において、病気の早期発見や治療法の最適化などが可能になる。例えば、過去の患者データを元に、病気の予測や診断、治療の効果予測などを行うことができる。
  • 金融: 機械学習を用いた関係データ解析により、金融分野において、顧客の信用リスクの予測や詐欺検知などが可能になる。例えば、過去の顧客の取引履歴や借入履歴などのデータを元に、顧客の信用スコアリングや詐欺検知のモデルを構築することができる。
  • IoT: 機械学習を用いた関係データ解析により、IoT分野において、センサーデータからの異常検知や予測メンテナンスなどが可能になる。これは例えば、複数のセンサーから収集したデータを元に、設備の故障予測や最適なメンテナンスタイミングの予測を行うようなものとなる。

関係データ学習について

機械学習プロフェッショナルシリーズ「関係データ学習」より。

「何か」と「何か」の関係性を軸として表現される関係データは様々な分野に現れ、データ解析においても重要な位置を示す。関係データとは、最も単純な場合、N個のオブジェクトがあったときに、その中の任意のペアに対してどのような「関係」が存在するかを表すデータとなる。

ここで「何か」と「何か」の関係を表す形として行列を考えると、関係性を表すデータは行列の中の要素そのものとなる。この行列に対する数学的なアプローチの一つとして「行列分解法」がある。この行列分解法は、元来線形代数学を元に考えられてきたものだが、近年非負値行列分解法による汎化性能の向上と定性的解釈性の向上、あるいはテンソル分解による高次データへの応用など様々な派生技術を生み出しながら発展している。この本では関係データ解析に対して、この行列分解法の観点から紹介を行なっている。

この「関係データ解析」が適用されるタスクとしては大きく分けて、「予測(prediction)」と「知識抽出(knowledge xtraction)」の2つがある。

予測問題とは、観測データから学習、設計された統計モデルを用いて未観測のデータの値を推定する問題で、典型的な予測問題として、関係ネットワーク内に存在するリンクの有無の推定(リンク予測(link prediction)問題)や、購買データを用いユーザーごとのアイテム購入(adoption)確率推定等がある。これらは関係データ行列の欠損値を予測する問題として実現が可能となる。また、ネットワーク内の情報伝搬(information dissemination)あるいは情報拡散(information diffusion)の推定も予測問題の重要な例となる。

上記の問題は主として教師あり学習問題として定式化されることが多い。

知識抽出問題とは、グラフ特徴を計算することで関係データ自体の特性を解析することや、与えられた観測データを適切にモデリングすることによって何らかの有用な知見やちしきにつながる情報を抽出することを目的に行われるもので、具体的なタスクとしてはネットワーク内のコミュニティ抽出や、広義のクラスタリング等がある。

知識抽出タスクの多くは教師なし学習問題として定式化される。これは実世界の関係データの中にどのようなクラスタが存在するのか、あるいは本当にクラスタが存在するのか自体が誰にもわからないため教師データが作成できないためであり、このことから、知識抽出タスクでは「もしクラスタがあるのならばこのような性質にしたがうはずだ」という仮説(意図)を反映するように計算モデルを作り、実際のデータと付き合わせて計算結果を吟味するという教師なし学習問題のアプローチを取らなければいけないということになる。

ここで一般的なオブジェクトのクラスタリングと関係データのクラスタリングの総意について述べる。一般的なオブジェクトのクラスタリングはそのオブジェクトが持つ特徴に沿って特徴空間上で近くにあるサンプルをもとめるものであり、以下に示すような特徴量がわかりやすいサンプルの場合は、人間の目で見ると「一目でわかる」ような簡単なタスクに感じられる。

関係データ学習より

これに対して、以下のような関係データ学習のクラスタリングで、「おなじような繋がりを持つノードを分ける」タスクを行おうとしてもは上記の例と異なり、「分ける」ことが視覚的にわかりづらい。

関係データ学習より

上記の例は実際には、下図のように配置、順序をかえたものと同等になる。

関係データ学習より

このように関係データは直感的に理解しずらいものであることがわかる。

本ブログではこの関係データ学習に関して以下の項目について述べる。

実装

関係データ学習(Relational Data Learning)は、関係データ(例:グラフ、ネットワーク、表形式のデータなど)を対象とした機械学習の手法となる。従来の機械学習は通常、個々のインスタンス(例:ベクトルや行列)に対してのみ適用されていたが、関係データ学習は複数のインスタンスとその間の関係性を考慮するものとなる。

ここではこの関係データ学習に対して、様々な適用事例と、スペクトラルクラスタリング、行列分解、テンソル分解、確率的ブロックモデル、グラフニューラルネットワーク、グラフ畳み込みネットワーク、グラフ埋め込み、メタパスウォーク等のアルゴリズムでの具体的な実装について述べている。

グラフニューラルネットワーク(Graph Neural Network, GNN)は、グラフ構造を持つデータに対するニューラルネットワークの一種であり、グラフ構造を持つデータとは、要素間の関係を表現するために、頂点(またはノード)と、頂点間を結ぶエッジ(またはリンク)から構成されるグラフと呼ばれるデータ構造を使用して構築されたデータのことを指す。グラフ構造のデータの例としては、ソーシャルネットワーク、道路網、化学分子の構造、知識グラフなどがある。

ここでは、このGNNに関しての概要と様々な実施例およびPythonによる実装例について述べている。

グラフ畳み込みニューラルネットワーク(Graph Convolutional Neural Networks, GCN)は、グラフ構造を持つデータに対する畳み込み演算を可能にするニューラルネットワークの一種であり、通常の畳み込みニューラルネットワーク(CNN)は、画像データなどの格子状のデータに対して効果的なものに対して、GCNは、グラフデータやネットワークデータのような非常に複雑な構造を持つ非格子状のデータに対する深層学習の手法として開発されたものとなる。

ChebNet(Chebyshev ネットワーク)は、グラフニューラルネットワーク(Graph Neural Network, GNN)の一種であり、主にグラフ構造データに対する畳み込み操作を実行するための手法の一つとなる。ChebNetは、シグナル処理で使用されるシェビシェフ多項式(Chebyshev polynomials)を利用して、グラフ上での畳み込み演算を近似的に実装している。

Graph Attention Network(GAT)は、グラフ構造に対する注意メカニズムを使用してノードの表現を学習する深層学習モデルとなる。GATは、異なるノード間の関係や接続パターンに基づいて、各ノードの重要度を自動的に決定することが可能なアプローチとなる。

  • Graph Isomorphism Network (GIN)の概要とアルゴリズム及び実装例について

Graph Isomorphism Network (GIN)は、グラフ構造の同型性を学習するためのニューラルネットワークモデルであり、グラフ同型性の問題は、2つのグラフが同じ構造を持つかどうかを判定する問題で、多くの分野で重要なアプローチとなる。

GraphSAGE(Graph Sample and Aggregated Embeddings)は、グラフデータからノードの埋め込み(ベクトル表現)を学習するためのグラフ埋め込みアルゴリズムの一つであり、ノードの局所的な隣接情報をサンプリングし、それを集約することによって、各ノードの埋め込みを効果的に学習するものとなる。このアプローチにより、大規模なグラフに対しても高性能な埋め込みを獲得することが可能となる。

因果推論(Causal inference)は、ある出来事や現象が別の出来事や現象を引き起こす要因であるかどうかを推論するための方法論となる。因果探索(Causal exploration)は、因果関係を特定するためにデータを分析し、潜在的な因果関係の候補を探索するプロセスとなる。

ここではこの因果推論と因果探索に関して、様々な適用事例と時差総例について述べている。

Elasticsearchは、オープンソースの分散型検索エンジンであり、高速なテキスト検索やデータ分析を可能にするための多くの機能を提供している。また、Elasticsearchの機能を拡張するための様々なプラグインも利用できる。ここではこのプラグインと具体的な実装について述べている。

理論と応用

関係データからの知識発見の最も典型的な問題の一つ、クラスタリングについて述べる。その解決方法として、対称関係データ(無向かつ単一ドメインの関係データ)に対するスペクトラルクラスタリングについてアルゴリズムを含めた理論概要について述べる。

一般の非対称関係データ全体に適用可能な確率モデルである確率的ブロックモデルとその拡張技術である無限関係モデルについて述べ、非対称関係データのクラスタリングの理論とアルゴリズムについて述べる。

  • 行列分解 -2つのオブジェクト間の関係構造の抽出

行列分解はの基本的なアイデア、アルゴリズム、拡張について述べ、例として「顧客が行、映画が列で、要素の値が評価値になる映画推薦」のタスクを考え、ある顧客と映画の趣味が似ているのはどの顧客か?あるいは、ある映画と同じジャンルに属するのはどの映画か?などの問題をNetflixのような膨大な数のユーザーがいて行列が膨大になるケースでのデータ圧縮、またる文書iに単語jが現れる確率が行列で表され、さらにそれは文書の中にあるパターンが現れる確率の行列とあるパターンから単語が生成される確率の行列に分解されるタスクについて述べる。

前回までの、顧客と映画のような2種類のオブジェクトの関係を、行列の2つの「軸」すなわち行と列に対応させて関係を表現するものを発展させ、3軸以上のオブジェクトの関係を表現するためにテンソルを導入し、それらによるデータの表現と演算について述べる。

行列データの解析に行列分解が使われるように、テンソルデータの解析にはテンソル分解が用いられる。ここではテンソル分解の基本的な考え方やアルゴリズムについて述べる。

データがスカラーの出力yとM次元ベクトルxの組でD={(y(n),x(n))|n=1,…,N}のように与えられている時、線形回帰としてスパースな解を実現する(回帰係数をスパースにしたり、変数ではなく、余分な標本を消すと言う意味でのスパース化を行う)ことについて述べる。

ユースケースとしては観測データがノイズで汚染されており、必ずしもすべての標本が信用できないと言う場合や、グラフデータに拡張して、ある機械を決まった数のセンサーで常時監視するような場合等のグラフモデル(関係モデル)への適用について述べる。

Deep Graph Libraryを使ったグラフニューラルネットワークの概要と、MPNN,(Message Passing Neural Networks framework)による化合物の物性推定、画像データに対する畳み込み、自然言語処理へのアテンションを使った隠れ層の重みづけを学習するTransformerアルゴリズム(BERT)等への応用の概要

入力と出力の対が観測できる系に関する異常検知技術について述べる。この場合、入力と出力の関係を、応答曲面(ないし回帰曲線)という形でモデル化し、それからの外れという形で異常を検知する。実用上、しばしば入力と出力の関係は非線形となる。今回は、非線形回帰技術のうちで工学的に応用範囲の広いガウス過程回帰の手法について述べる。

時系列データを念頭に変化検知問題について述べる。単一の標本の異常度を計算するだけでは変化検知はできない。ここではまず複数の異常度ないし標本を束ねるための基本技術として、累積和とスライド窓という考え方について述べ、それに基づき、変化検知を、逐次密度推定問題として抽象的に定式化する。その最も簡単な具体例として、特異スペクトル変換法という変化検知の手法について述べる。特異スペクトル変換法はその汎用性、ノイズに対する頑健性から実用上最も重要な変化検知法の一つとなる。

まず変化検知の古典技術である累積和法について述べる。例として、ある化学プラントの反応機の中での特定の化学物質の濃度を、時事刻々監視しているとする。化学物質は流体として出入りがあるので、たまたま局所的に濃度が濃くかったり高かったりするのは避けられず、この場合は、ホテリングのT2法のような「観測1回ごとにひとつひとつ異常度を計算する」タイプの監視技術は不適切となる。この場合やりたいことは、単発で突発的に異常値が得られたというよりは、継続して何かの異常事態が発生しているかどうかを検知すること、すなわち変化検知となる。

論理と確率の融合として、北米で発達したSRLについて述べる。SRLは、ベイジアンネットの記述力を向上させるために論理式を導入したもので、ある種の便利な(マクロのような)関数として利用するものとなる。具体的なものとしては確率的関係モデル(probabilistic relational model;PRM)、マルコフ論理ネットワーク(Markov logic network;MLN)、確率的ソフトロジック(probabilistic soft logic;PSL)について述べる。

Wikipediaのinfoboxは、様々なエンティティの豊富な構造化情報を含んでおり、DBpediaプロジェクトでは、大規模なLinked Dataセットを生成するために、これらの情報が利用されています。インフォボックスの属性のうち、ハイパーリンクを持つ属性は、エンティティ間の意味的関係を特定するもので、DBpediaのインスタンス間のRDFリンクを作成するために重要です。しかし、多くのハイパーリンクは編集者によってinfoboxにアノテーションされていないため、Wikipediaに存在しないエンティティ間の関係も多く存在する。本論文では、Wikipediaのインフォボックスに存在しないエンティティリンクを自動的に発見し、不足しているエンティティ間の意味的関係を確立するためのアプローチを提案する。本アプローチでは、まず、与えられたインフォボックスにおける実体の言及を識別し、次に、与えられた属性値が候補の実体にリンクしている可能性を推定するためのいくつかの特徴を計算する。そして、学習モデルを用いて各特徴の重みを求め、各属性値に対するリンク先エンティティを予測する。英語版Wikipediadataを用いて本アプローチを評価した結果、本アプローチはエンティティ間に存在しない関係を効果的に発見することができまた,精度,再現率ともにベースライン手法を大きく上回ることがわかった.

この作業の目的は、LinkedDataエンティティ間の強力な関係の検出をサポートする手段を学習することです。このような関係は、エンティティとプロパティのパスとして表すことができ、リンクトデータをトラバースするブラインドグラフ検索プロセスを通じて取得できます。したがって、ここでの課題は、特定のパスの値を客観的に評価することにより、2つの特定のエンティティ間の最も強い関係を検出できるコスト関数の設計です。これを実現するために、教師あり学習法で遺伝的プログラミングアプローチを使用して、人間の評価とよく比較できるパス評価関数を生成します。パスが通過するとき(つまり、グラフ全体の知識がなくても)、パスのノードの基本的なトポロジ機能のみを使用して、このようなコスト関数を生成する方法を示します。

コメント

  1. […] 前回に引き続き「関係データ学習」について述べる。今回はスペクトラルクラスタリングについて。 […]

  2. […] それらを見つけるアルゴリズムとして、古典的なアプローチとしては、前向き推論と後ろ向き推論がある。また機械学習的なものとしては、関係性を求める関係学習、決定木を用いたルール推論、シーケンシャルパターンマイニング、あるいは確率的生成手法等様々なアプローチがある。 […]

  3. […] 情報の関係を学習するための参考図書「機械学習プロフェッショナルシリーズ 関係データ学習」読後メモを記述する。 […]

  4. […] 前回までに、関係データ学習の教科書である機械学習プロフェッショナルシリーズ「関係データ学習」をベースにして関係データ学習の基礎的な技術であるスペクトラムクラスタリングとその課題に対応した確率モデルを用いたSBMとIRMについて述べた。今回はそれら以外の関係データ学習の手法について述べる。 […]

  5. […] 関係データ学習の参考図書である機械学習プロフェッショナルシリーズ「関係データ学習」より。前回は行列分解について述べた。今回は高次関係データとテンソルについて述べる。 […]

  6. […] 前回までに、関係データ学習の参考図書である機械学習プロフェッショナルシリーズ「関係データ学習」をベースにして関係データ学習の基礎的な技術であるスペクトラムクラスタリングについて述べた。今回は、スペクトラムクラスタリングの課題を解決するアプローチの一つである確率的ブロックモデル(Stochastic Block Model:SBM)について述べたいと思う。 […]

  7. […] 関係データ学習の参考図書である機械学習プロフェッショナルシリーズ「関係データ学習」より。前回は高次関係データとテンソルについて述べた。今回はそれらのテンソルの分解について述べる。 […]

  8. […] 機械学習技術サマリー スパース性を用いた機械学習サマリー 関係データ学習サマリー  説明できる機械学習サマリー […]

  9. […] 機械学習サマリー 関係データ学習サマリー 画像認識技術サマリー  自然言語処理サマリー […]

  10. […] 機械学習技術サマリー 異常検知・変化検知技術サマリー デジタルトランスフォーメーション技術サマリー 人工知能技術サマリー  関係データ学習サマリー […]

  11. […] 関係データ学習  […]

  12. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  デジタルトランスフォーメーション技術 […]

  13. […] それらを見つけるアルゴリズムとして、古典的なアプローチとしては、前向き推論と後ろ向き推論がある。また機械学習的なものとしては、関係性を求める関係学習、決定木を用いたルール推論、シーケンシャルパターンマイニング、あるいは確率的生成手法等様々なアプローチがある。 […]

  14. […] 関係データ学習 […]

  15. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析  デジタルトランスフォーメーション技術 […]

  16. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析  デジタルトランスフォーメーション技術 […]

  17. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析  デジタルトランスフォーメーション技術 […]

  18. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 シミュレーションと機械学習 デジタルトランスフォーメーション技術 […]

  19. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 Rと機械学習  デジタルトランスフォーメーション技術 […]

  20. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 シミュレーションと機械学習 デジタルトランスフォーメーション技術 […]

  21. […] 本ブログでは、 以下のページにてこの関係データ学習に対して、理論的概要、具体的なアルゴリズムとさまざまな応用に関して述べている。 […]

  22. […] ストリームデータの処理と機械学習 確率的生成モデル 関係データ学習 サポートベクトルマシン スパースモデリング […]

  23. […] 関係データ学習 Clojure デジタルトランスフォーメーション技術 人工知能技術 […]

  24. […] ストリームデータの処理と機械学習  確率的生成モデル 関係データ学習 サポートベクトルマシン スパースモデリング 時系列データ解析技術 […]

  25. […] 関連性の可視化: ナレッジグラフは、”関係データ学習“で述べているような、情報の関連性を可視化して直感的に理解するのに役立つ。また、グラフの視覚的な表現により、複雑 […]

  26. […] ストリームデータの処理 確率的生成モデル 深層学習 関係データ学習 サポートベクトルマシン スパースモデリング 異常検知・変化検知技術 […]

  27. […] サポートベクトルマシン スパースモデリング 異常検知・変化検知技術 関係データ学習 経済とビジネス シミュレーションと機械学習 […]

  28. […] 機械学習における数学 問題解決と思考法及び実験計画 関係データ学習 統計的因果推論/探索 python 物理・数学 […]

  29. […] 機械学習における数学 問題解決と思考法及び実験計画 関係データ学習 統計的因果推論/探索 python 経済とビジネス 物理・数学 […]

  30. […] Twitter Facebook はてブ Pocket LINE コピー 2023.09.12 2022.02.23 機械学習技術 関係データ学習 グラフデータ処理 デジタルトランスフォーメーション技術 […]

  31. […] 自然言語技術 人工知能技術 デジタルトランスフォーメーション技術 関係データ学習 アルゴリズムとデータ構造 数学 プログラミング技術 R言語 […]

  32. […] 関係データ学習に関しての詳細情報は”関係データ学習“に、時系列データ解析に関しては”時系列データ解析“に、グラフデータ全般に関しては”グラフデータ処理ア […]

  33. […] 関係データ学習に関しての詳細情報は”関係データ学習“に、時系列データ解析に関しては”時系列データ解析“に、グラフデータ全般に関しては”グラフデータ処理ア […]

  34. […] 関係データ学習に関しての詳細情報は”関係データ学習“に、時系列データ解析に関しては”時系列データ解析“に、グラフデータ全般に関しては”グラフデータ処理ア […]

  35. […] 関連性の可視化: ナレッジグラフは、”関係データ学習“で述べているような、情報の関連性を可視化して直感的に理解するのに役立つ。また、グラフの視覚的な表現により、複雑 […]

  36. […] 関係データ学習に関しての詳細情報は”関係データ学習“に、時系列データ解析に関しては”時系列データ解析“に、グラフデータ全般に関しては”グラフデータ処理ア […]

  37. […] レコメンデーションに関しては”関係データ学習“で述べているようなNMF等の行列分解のアプローチの可能であり、さらに”非対称関係データのクラスタリング技術“で述べ […]

  38. […] ICT技術 ストリームデータの処理 ICTインフラ技術 確率的生成モデル 関係データ学習 サポートベクトルマシン スパースモデリング 異常検知・変化検知技術 […]

  39. […] セマンティックウェブ 知識情報処理 グラフデータアルゴリズム 関係データ学習 推薦技術 python […]

  40. […] 関係データ学習に関しての詳細情報は”関係データ学習“に、時系列データ解析に関しては”時系列データ解析“に、グラフデータ全般に関しては”グラフデータ処理ア […]

  41. […] 関係データ学習に関しての詳細情報は”関係データ学習“に、時系列データ解析に関しては”時系列データ解析“に、グラフデータ全般に関しては”グラフデータ処理ア […]

タイトルとURLをコピーしました