7章非線形特徴量の生成:k-meansを使ったスタッキング

線形部分空間において平らなパンケーキのようにデータが広がっている場合には、PCAは非常に有用です。しかしデータが複雑な形をしている場合はどうしたらいいでしょうか†1。実はこれから説明するように、これまでに扱った平面(線形部分空間)は多様体(manifold)(非線形部分空間)に一般化できます。多様体は延ばしたり丸めたりできる曲面のようなものだと考えるとよいでしょう†2

[†1] この章は、有名な開発者でApacheの現役のコントリビューターであるTed Dunning(http://www.oreilly.com/pub/au/5873)との会話から着想を得ています。スタッキングの例はTedからもらったものです。それだけでなく有益なコメントもたくさんいただきました。もし個々の章に共著者を加えてもいいなら、この章の共著者はTedになるでしょう。

[†2] この章では「曲面」と「多様体」を同じ意味で使います。2次元多様体を3次元空間に埋め込む場合には同じ意味でよいのですが、実は3次元より大きい次元の場合には齟齬が生じます。高次元の多様体は、私たちが持つ「曲面」のイメージとは一致しません。変わった多様体のなかには、穴があるものや、水が流れ続けるエッシャーの騙し絵のように、現実の3次元の世界では表現できない繋がり方をしているものがあります。ただし心配する必要はありません。多くのモデルは、変わった多様体ではなく性質の良い多様体を仮定しています。

線形部分空間が平らな紙だとすると、くるくると丸めた紙は非線形多様体の簡単な例です。正式な名称ではありませんが、この多様体はスイスロール(Swiss roll)と呼ばれています(図7-1 ...

Get 機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践 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.