GTM や GTM Regression (GTMR) のハイパーパラメータの高速最適化

DCEKit に搭載されている Generative Topographic Mapping (GTM) や Generative Topographic Mapping Regression (GTMR) について、

Generative Topographic Mapping (GTM)~自己組織化マップ(SOM)の上位互換の手法~
Generative Topographic Mapping (GTM) について、pdfとパワーポイントの資料を作成しました。GTMの特徴や、データセットが与えられたときにGTMで何ができるか、GTMをどのように計算するかが説明されていま...
Generative Topographic Mapping(GTM)でデータの可視化・回帰分析・モデルの適用範囲・モデルの逆解析を一緒に実行する方法 [金子研論文]
今回は、Generative Topographic Mapping (GTM) でデータの可視化・回帰分析・モデルの適用範囲・モデルの逆解析を一緒に実行できる手法を開発し、QSPR 解析・QSAR 解析と分子設計を行った論文が、molec...

 

クロスバリデーションとベイズ最適化によってハイパーパラメータを最適化する機能を追加しました。DCEKit における以下のデモンストレーションも実行していただければ、GTM, GTMR それぞれ最適化される様子をご覧いただけると思います。

 

  • demo_opt_gtm_with_k3nerror_bo.py
  • demo_opt_gtmr_with_cv_bo_multi_y.py

 

GTM には以下のハイパーパラメータはあります。

 

  • 2次元平面上のグリッド点の数 (マップサイズ)
  • 放射基底関数 (Radial Basis Function, RBF) の数
  • RBF の分散
  • 正則化項

 

GTMR も GTM モデルを構築するまでは GTM と同じなので、上のハイパーパラメータがあります。さらに予測値を決定するときに、一つ以下のハイパーパラメータがあります (Gaussian Mixture Regression (GMR) や Variational Bayesian Gaussian Mixture Regression (VBGMR) と同じです)。

 

  • mode を用いて予測するか、meanを用いて予測するか

 

回帰分析手法である GTMR におけるハイパーパラメータをベイズ最適化で決める方法は、こちらに書いた方法と同じです。

回帰分析手法やクラス分類手法のハイパーパラメータをベイズ最適化で高速に最適化する
DCEKit に搭載されている Gaussian Mixture Regression (GMR) や Variational Bayesian Gaussian Mixture Regression (VBGMR) について、クロスバリデ...

 

クロスバリデーション後の r2 を目的変数、ハイパーパラメータを説明変数として、ベイズ最適化をすることでクロスバリデーション後の r2 が大きくなるハイパーパラメータを効率的に探索できます。

一方、GTM は可視化手法で教師なし学習であり、基本的には目的変数になる指標がありません。ただ、以前に可視化手法の指標を提案しましたので、

データの見える化・可視化をした結果を評価する指標を開発しました、ハイパーパラメータの設定もこれでOK (Python・MATLABプログラムあり)
応化先生と生田さんが論文 “k-nearest neighbor normalized error for visualization and reconstruction – A new measure for data visualiz...

 

今回は k3n-error を目的変数にして、ベイズ最適化するコードにしました。

GTM, GTMR はハイパーパラメータが多く、また一回ごとの計算時間も結構かかるため (クロスバリデーションするともっとかかります)、ハイパーパラメータのすべての組み合わせをグリッドサーチで探索するのはかなり時間がかかっていました。しかし今回、DCEKit のベイズ最適化により、かなり効率的にハイパーパラメータを決定できるようになりました。ぜひご活用いただきますと幸いです。

 

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

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