46章詳細:多様体学習

前の章では、PCAで次元削減を行い、ポイント間の本質的な関係を維持しながらデータセットの特徴数を削減する方法を学びました。PCAは柔軟かつ高速で、解釈は簡単ですが、データ内に非線形の関係がある場合はあまりうまく機能しません。その例を、この後で説明します。

この欠点に対処するために、多様体学習アルゴリズムを使用します。これは教師なし学習の一種で、データセットを高次元空間に埋め込まれた低次元の多様体として記述しようとするものです。多様体とは、例えば1枚の紙です。これは、我々の身近な3次元の世界に存在する2次元の物体です。

多様体学習の観点では、この紙は3次元空間に埋め込まれた2次元多様体と考えることができます。3次元空間で紙を回転させても、方向を変更しても、または引き伸ばしても、平面であることに変わりはありません。この操作は線形埋め込みと似ています。紙を曲げたり、丸めたり、ねじったりする場合、2次元の多様体であることに変わりはありませんが、3次元空間への埋め込みはもはや線形ではありません。3次元空間を埋めるように歪曲されていても、多様体学習アルゴリズムで学習を行い、紙の基本的な2次元的性質を探し出せます。

ここでは、数ある多様体学習手法の中から、特に多次元尺度構成法(MDS:multidimensional scaling)、局所線形埋め込み(LLE:locally linear embedding)、等尺性マッピング(Isomap:isometric mapping)について深く掘り下げます。

はじめに標準的なモジュールをインポートします。

In [1]: %matplotlib inline import matplotlib.pyplot as plt ...

Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.