特徴量間の関係をすべて考慮してモデリングしたいならGMM

回帰分析やクラス分類では、説明変数 x と目的変数 y があり、x と y の間でモデル y = f(x) を構築します。モデルを用いて、x を入力して y を予測したり、y が目標値になるような x を設計したりします。ここでは、いろいろな特徴量があったときに、x と y に明確に分けてデータ解析が行われます。一方で、扱うデータセットによっては、すべてが x のような扱いだったり、すべてが y のような扱いだったりするケースもあります。すべての特徴量の間の関係性を解析したいということです。

回帰分析やクラス分類では、x と y の間の関係はモデル化できますが、x の間の関係や y の間の関係はモデル化できません。もちろん、すべての特徴量を一つ一つ y にして、それ以外の特徴量を x にして、特徴量の数だけモデルを構築することはできますが、結局は一つの特徴量とそれ以外の特徴量の関係しかモデル化できません。また多くのモデルが存在することになり、モデルの最適化やモデルの管理、そして解析自体が煩雑になってしまいます。

すべての特徴量間の関係を考慮するやり方として教師なし学習があります。低次元化手法やデータ密度推定手法やクラスタリング手法などです。例えば主成分分析によって主成分を計算した後のローディングを見れば、各主成分に対する各特徴量の重みがわかります。

主成分分析(Principal Component Analysis, PCA)~データセットの見える化・可視化といったらまずはこれ!~
主成分分析(Principal Component Analysis, PCA)について、pdfとパワーポイントの資料を作成しました。データセットが与えられたときに、PCAで何ができるか、どのようにPCAを計算するかが説明されています。pd...

 

これは特徴量間の関係といえますが、線形の関係に限られていますし、さらにはどの主成分を対象にするかによって重みは変わりますので、任意性も出てきます。t-distributed stochastic neighbor embedding をはじめとする多様体モデルでは、特徴量間の非線形性を考慮することはできますが、そもそも特徴量間の関係を明に表せません。

t-distributed Stochastic Neighbor Embedding (t-SNE) ~データの可視化に特化した手法~
今回は、t-distributed Stochastic Neighbor Embedding (t-SNE)についてです。変数 (特徴量・記述子など) がたくさんある (多変量・多次元の) データセットが与えられたときに、適切に2次元平面...

 

一方、k近傍法や One-Class Support Vector Machine (OCSVM) などベクターマシン御用邸特徴量のすべての得票の行動したデータ密度を計算できます。ただし、すべての特徴量の値をモデルに入力してデータ密度を計算する、といったことはできますが特徴量間の関係を表現することはできません。

k最近傍法(k-Nearest Neighbor, k-NN)でクラス分類・回帰分析・モデルの適用範囲(適用領域)の設定をしよう!
今回は、k最近傍法 (k-Nearest Neighbor, k-NN) についてです。k-NN だけで、 クラス分類 回帰分析 モデルの適用範囲(適用領域)の設定の3つもできてしまうんです。そんな有用な k-NN について、pdfとパワー...
One-Class Support Vector Machine (OCSVM) で外れ値・外れサンプルを検出したりデータ密度を推定したりしよう!
今回は、One-Class Support Vector Machine (OCSVM) についてです。OCSVM は SVM を領域推定問題に応用した手法であり、外れ値・外れサンプルを検出できたり、データ密度を推定できたりします。データ密...

 

以上をふまえて、特徴量間の関係を表現する手法として Gaussian Mixture Model (GMM) をオススメします。

混合ガウスモデル (Gaussian Mixture Model, GMM)~クラスタリングするだけでなく、データセットの確率密度分布を得るにも重宝します~
クラスタリングについては、階層的クラスタリングと k-means クラスタリングをやりました。今回は、混合ガウスモデル (Gaussian Mixture Model, GMM) というクラスタリングの手法です。GMM を使うことで、データ...

 

 

GMM では、特徴量の間の関係が複数の正規分布の重ね合わせで与えられると仮定して、各正規分布の平均や分散・共分散や、正規分布ごとの重みを計算する手法です。なお Generative Topographic Mapping (GTM) も、分散と共分散に制約はありますが、複数の正規分布の重ね合わせでモデルが表現されるため、ここでは GTM も GMM として扱います (以下の議論は GTM でも再現可能です)。GTM では可視化もできるため、分散と共分散に制約はあっても問題ないときは GTM を使用するとよいでしょう。

Generative Topographic Mapping (GTM)~自己組織化マップ(SOM)の上位互換の手法~
Generative Topographic Mapping (GTM) について、pdfとパワーポイントの資料を作成しました。GTMの特徴や、データセットが与えられたときにGTMで何ができるか、GTMをどのように計算するかが説明されていま...

 

GMM (もしくは GTM) で複数の正規分布の重ね合わせでデータセットが表現されることで、特徴量の間の関係性も求まりますし、確率密度分布であることからデータ密度も計算できますし、さらにクラスタリングの結果、すなわちあるサンプルが各正規分布に所属する割合、も計算可能です。さらには、いくつかの特徴量の値をモデルに入力して、それ以外の特徴量の値を推定する、といったことも、特徴量やその数に限らず自由にできます。つまり回帰分析やモデルの逆解析に相当することも可能です (このあたりは Gaussian Mixture Regression とも呼ばれています)。

[Pythonコードあり] 教師あり混合ガウスモデル(Supervised Gaussian Mixture Models)で回帰分析も逆解析も自由自在に♪~Gaussian Mixture Regression(GMR)~
混合ガウスモデル (Gaussian Mixture Models, GMM) を教師あり学習に対応させた Gaussian Mixture Regression (GMR) について、pdfとパワーポイントの資料を作成しました。GMM に...

 

モデルにおける特徴量の関係と、実際のデータとの差異を確認することもできるわけです。このように、GMM では特徴量の間の関係を考慮できることから、補完手法としても使用しています。

[Pythonコードあり] iterative Gaussian Mixture Regression(iGMR)で欠損値を補完しましょう!(目的変数があってもなくても構いません)
下図のような欠損値 (欠損データ) のあるデータセットがあるとします。穴あきのデータセットですね。こんなときに、穴の空いたところである欠損値を補完する方法を提案します。上の図のようなデータセットを下図のようにできます。たとえば、論文や特許か...

 

もちろん GMM にもデメリットはありまして、複数の正規分布の重ね合わせで特徴量間の関係を表すことが決まっていることから、データセットがその分布に従わないときには適切に関係性を表現することはできません。そのため、データ密度を推定することに限っていえば、k近傍法や OCSVM の方が適切に推定できる可能性はあります。

ただ GMM でしかできないことも多いため、特徴量間の関係を平等に扱って解析したいときや、x やy のある中ですべての特徴量の間の関係をモデル化したいときには、GMM をオススメしています。

 

以上です。

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

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