神野さんに言われました。

読者です 読者をやめる 読者になる 読者になる

神野さんに言われました。

AIの勉強をしています @sesenosannko

TDAの概要と入門書の紹介

こんにちは。さんこです。

情報幾何と同様に、TDA(位相的データ解析)の概要と僕が読んだ入門書を紹介します。書籍は下の方に紹介してあります。

情報幾何の記事はこちら


TDA(位相的データ解析)とは

TDAとはトポロジーを用いてデータを分析する手法です。トポロジーの中でも持続性トポロジーと呼ばれるものが主な道具となります。

厳密に定義したり、多次元一般化したり、実際に計算をするとなるとまさに代数を用いることになるので難しいですが、考え方は簡単です。様々なサイトでTDAの概要の説明が行われているのでここでは省きます。例えば、以下の記事にTDAの簡単な概要が書いてあります。


TDAは何がすごいのか

TDAトポロジーをデータ分析に応用するというだけで面白そうではありますが、どれほど有効なのかは一見すると良くわかりません。具体例を紹介しつつ見ていきましょう。

まず、 TDAには適用対象に注目して以下の二種類に分けられます。それぞれ異なる性質を持っているので別々に見ていきます。

  1. 各データ自体の幾何構造に注目するTDA
  2. データ全体の幾何構造に注目するTDA


各データ自体の幾何構造に注目するTDA

各データ自体の幾何構造に注目する場合、データ自体が幾何的な構造を持っているものが対象になります。例えば、タンパク質などの高分子化合物や画像認識への適用があります。

タンパク質への適用がわかりやすいので紹介します。タンパク質の各原子の位置とファンデルワールス半径のデータが与えられているとします。ここで、各原子をファンデルワールス半径の x倍の球として扱うと自然に持続性ホモロジーが導入されます。各原子と中心を共有する球をだんだん拡大していくと分子全体としての位相的性質が変化していくことが分かります。以下の図のようなイメージです。

簡単に言えば、半径がファンデルワールス半径のa倍からb倍のときまでは穴が10個で、b倍からc倍のときまでは穴が7個でした、といったようなことが分かります。この位相的性質の変化を特徴量として用います。

『タンパク質構造とトポロジー』によればタンパク質内部の空洞の大きさや個数はタンパク質の性質と大きく関わるらしく、トポロジーを用いることには理論的に妥当性がありそうです。実際に生物の種ごとのホモグロビンの違いを捉えるなどの例ではうまくいっています。

このTDAの使い方も面白いですが、適用例が限られるのが難点でしょう。TDAが注目されているのは個々のデータ自体の幾何構造に対する適用ではなく、主に次の節の手法だと思います。


データ全体の幾何構造に注目するTDA

データ全体の幾何構造に注目するTDAはビックデータへの応用が目的とされています。多次元でサンプル数が非常に多いデータの位相的性質に注目することで、データの分析や視覚化に適用されています。

しかし、タンパク質の例のようにデータを中心とする球を考えるのはビックデータに適用するには計算量が多すぎるだろうということは容易に想像できます。この欠点の克服のためにwikipedia(英語)にあるように様々な工夫がなされてきたようです。ここでは、Ayasdiで用いられているMAPPER(提案論文)と呼ばれる手法を紹介します。

AyasdiとはTDAの研究やTDAを用いたデータ解析を専門に行っている会社です。この節は以下の資料の内容をまとめたものです。


MAPPERによるグラフの作り方

MAPPERの概要です。混乱を招きそうですが、MAPPERは持続性ホモロジーを用いた手法ではありません*1。MAPPERでは元のデータと同じ位相構造を持つグラフを構築する手法です。データの位相構造に注目している点には変わらないので、これもTDAと呼ばれるようです。

それでは、MAPPERにおいてデータからグラフを作る方法を説明します。下図のようにデータを何らかの軸に対して切り分け、切り分けた区分ごとにデータをクラスタリングして各クラスタをノードとします。実は各区分はぴったり切り分けられているわけではなく、のりしろがあります(端っこのデータは隣接するどちらの区分にも含まれている)。そこで、のりしろを介してデータを共有しているノードがあれば繋ぎ合わせます。のりしろが大きければ1つのノードがいくつかのノードと繋がれることもあります。

切り分ける軸、区分の大きさ、のりしろの大きさは結果を左右する大きなポイントとなります。また、データ間の近さを表す計量にはユークリッド距離の他にも様々なものが使われます。これらがMAPPERにおけるパラメータと言えるでしょう。また、区分ごとのクラスタリングには単連結法などの既存のクラスタリング手法が用いられ、区分の大きさに応じてクラスタリングの打ち切り基準が決められます。


MAPPERで得られたグラフの応用

作られたグラフによってデータの幾何的構造を得ることができました。データから得られる幾何構造が既存の機械学習手法に比べて優れているの以下のような点です。

  • 機械学習では人が決めるモデルに結果に大きく影響されるが、TDAでは事前に人が決めることにが少ない
  • 機械学習では結果は得られても過程は失われるが、TDAはデータ全体の構造が保持される
  • ビックデータと相性が良い(次元削減など)
  • 視覚化が容易

この性質を生かして、グラフそのままデータの分類や分析に適用もできます。特にビックデータの視覚化は多くの適用が期待されます。次元削減という点では、PCAなどでは射影によってデータの性質が失われることは多いですが、MAPPERではデータの幾何的性質を保持すると主張されています。

また、MAPPERで得られたグラフを用いて既存の機械学習システムを分析したり改良したりする手法が提案されています。面白い適用例を2つ紹介します。

  • 分類器の実証

従来の機械学習システムで分類器を作る場合は、モデルの構築のミスや学習の予期せぬ挙動などで期待した通りの分類器ができるとは限りません。また、そのような問題が起こっていても人間が気づきにくい場合も多くあります。この問題を解決するためにMAPPERによるデータの可視化を活用します。

まず、機械学習システムに入力するデータをMAPPERでグラフ化します。そして、このグラフに対して機械学習システムの分類を適用して、分類ごとに色分けなどをします。すると、グラフ上の各ノードに対してどのように分類されたかが分かります。グラフのノードは似たデータの集まりであると期待されるため、単純に考えれば単一ノード内のデータは同じように分類されたり、グラフ上で遠いノードは異なる分類であると予想されます。分類器がこれと大きく異なるような分類をした場合は検証が必要となります。このようにデータの視覚化を用いることで機械学習システムの動作を確認することができます。

ただし、もちろん必ず分類器の誤りを検知できるわけでもありませんし、MAPPERのグラフに対して違和感があっても必ず誤っているわけではないでしょう。Ayasdiではこの手法はあくまでデータの中で注目すべき点を指摘するだけと説明しています。とはいえ、既存の機械学習システムの動作を人間が視覚的に捉えられるのは大きな利点と言えそうです。

  • 分類器の向上(モデル作成)

あるデータを分類したいときに、普通はデータ全体に対して一つの分類器を考えます。しかし、複雑な分類を行うのは当然難しいので、データの一部に対する分類器を作るのが一般的に簡単だと考えられます。つまり、同じ手法であればデータに対して複数の分類器を作った方が精度が向上すると考えられます。ここで問題となるのがデータの分割法ですが、MAPPERのグラフの各ノードごとに分類器を作るという手法が提案されています。

この2つの他にも様々な手法が提案されています。このように、MAPPERももたらす合理的なクラスタリング・次元削減・視覚化がビックデータの解析に新たな手法を生み出すことが期待されているようです。


書籍紹介

集合・位相の基礎や多様体論は前提とされていますが、下記の書籍の内容に限定すれば事前知識がなくても理解できると思います。この範囲で僕が読んだものは情報幾何の記事で紹介したものです。

トポロジー

トポロジー:柔らかい幾何学

トポロジー:柔らかい幾何学

トポロジー:柔らかい幾何学

位相幾何学の基礎的な話からホモロジー論を感覚的な理解に重点を置いて説明している書籍。特に4章以降の内容は「タンパク質構造とトポロジー」と多くの内容が被りますが、こちらの方が紙面を多く割いていることもあり具体例も多く分かりやすいと思います。

持続性ホモロジー

タンパク質構造とトポロジー

タンパク質構造とトポロジー ―パーシステントホモロジー群入門― (シリーズ・現象を解明する数学)

タンパク質構造とトポロジー ―パーシステントホモロジー群入門― (シリーズ・現象を解明する数学)

現状では日本語でほぼ唯一のTDA入門書だと思います。良著だと思いますが、120ページ程度で基礎的な部分から説明されているのでそれぞれの内容が懇切丁寧に説明されているわけではありません。また、ここで説明されているのは各データ自体の幾何構造に注目するTDAです。データ全体の幾何構造に注目したTDAは上で紹介したAyasdiの記事などを参照するのが良いと思います。

最後の Z_2[x]加群のあたりが重要なところですがあまり理解できていないので、 そのうち群論の基礎から学び直したいと思います。

*1:提案論文等を読む限り正しいですが、wikipediaには持続性ホモロジーを用いた手法と書いてあります。見かけ上は違いますが、実際には持続性ホモロジーを扱っているということなのでしょうか。ご存知の方がいらっしゃればご指摘いただけると助かります。