科学の箱

科学・IT・登山の話題

機械学習

Pythonではじめる機械学習 – 多様体学習

投稿日:

多様体学習

次元削減に利用できる手法として主成分分析がある。これは柔軟であり、すぐに実装可能な次元削減アルゴリズムの一つである。しかし一つだけ問題がある。それは主成分分析に適用できるデータは線形のみであり、非線形のデータには利用できない。非線形データの次元削減に利用できるのが多様体学習(Manifold Learning)である。主成分分析と多様体学習の関係はいうなれば線形回帰と非線形回帰の関係である。

ではこの次元圧縮はどのようなイメージになるのだろうか。主成分分析で3次元データを2次元データに圧縮することを考える。この場合3次元空間に平らな紙を一枚置いてすべてのデータをこの平らな紙に移したと考えることができる。紙は平らなだから2次元である。これにより3次元データは2次元に圧縮された。多様体学習もイメージは似ている。しかし多様体学習ではこの紙は丸まったり曲がったりしてより柔軟(非線形)にデータを移すことができる。これが主成分分析と多様体学習の違いである。

主成分分析では軸を回転させることで最も分散が大きい成分を見つけることができた。これはデータが線形であったから可能である。しかしデータが非線形であれば事情は異なる。データを回転させる、引き伸ばす、方向を変えるといった操作では、3次元におけるデータの位置関係は変わらない。これは線形な操作であり、非線形データにとって最も大きな分散となる軸を探すことができない。多様体学習では折り曲げ、ロール、崩すなどといった操作により最も大きな分散となる軸を探すことになる。

距離行列

距離行列とはある要素のベクトルと他の要素のベクトルの距離(あるいは類似度)を行列であらわしたものである。

生成したHello画像同士について距離行列を見てみると以下のようになる。これは同じ画像であるから対角線の軸は当然0(距離が0あるいは完全一致)となる。

次に回転させたHello画像との距離行列をみてみる。全く変わらないことから回転では類似度に変化はない。

MDSによる距離行列からのデータ復元

MDS(Multi Dimensional Scaling)により距離行列からデータを復元する。さてこのデータは生成したデータと同じになるのだろうか。

from sklearn.manifold import MDS
model = MDS(n_components=2, dissimilarity='precomputed', random_state=1)
out = model.fit_transform(D)
plt.scatter(out[:, 0], out[:, 1], **colorize)
plt.axis('equal');

 

復元されたデータは距離行列から取得できる一つの例である。Lが両方とも逆になっているのがわかる。また回転もしている。

多様体学習としてのMDS

MDSは多様体学習のアルゴリズムとして非線形データについて次元削減ができる。これは以下のような手順による

多次元データ→距離行列の作成→距離行列にあった2次元平面の生成

非線形平面への投影にはMDSを用いることはできない。その場合にはLLE(Locally Linear Embedding)を利用する。難しくて理解できないのこちらはパス。

メタ情報

inarticle



メタ情報

inarticle



-機械学習

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Mahout in Action/chap2

2.1 レコメンドには2種類ある。 collaborative filtering contents based filtering collaborative filteringではコンテンツの内容 …

no image

dataanalysis-002-week5

ANOVA – quantitative 分散分析、数学的に分散分析と重回帰分析は同じ 分散分析では3群以上の平均の差異を検定する ただし非線形では異なる http://oshiete.g …

no image

データ分析のメモ

一変量解析 各変数についてsummaryをとり、平均値、分散を確認する。変数について尺度を確認してどのように分析を進めるかを考える。 度数分布を作成して値の分布をみてみる。正規分布の値であればいろいろ …

no image

前向き研究と後ろ向き研究

前向き研究と後ろ向き研究は疫学における用語である。 前向き研究で使われる研究手法にはコホートや無作為比較対照研究、ロジスティック分析がある。これらの研究ではサンプルをリスクファクター(危険要因)のある …

no image

tracertの分析

tracertを繰り返し実行した結果を分析し、経路上のホストについてどの程度時間がかかっているかを分析してみる。 tracertの結果は以下のように取得される。 $ tracert www.googl …

2019年11月
« 10月   12月 »
 123
45678910
11121314151617
18192021222324
252627282930  

side bar top



アーカイブ

カテゴリー