6章次元削減:膨大なデータをPCAで圧縮
自動化されたデータ収集と特徴量生成技術を用いることで、大量の特徴量を作り出すことが容易になってきました。しかし、生成した特徴量の全てが有用なわけではありません。3章と4章では、重要ではない特徴量を削る方法として、頻度ベースのフィルタリングと特徴量スケーリングについて紹介しました。ここでは、主成分分析(Principal Component Analysis, PCA)を用いた特徴量の次元を削減する手法について紹介します。
ここで紹介する手法は、モデルベースの特徴量エンジニアリングです。これまでに紹介した手法は、データに対する処理法というよりも、単一の数値/文字ベクトルに対する処理法でした。例えば、頻度ベースのフィルタリングでは「頻度がnより小さいすべてを取り除く」といった処理が行われます。この処理自体はデータの持つ意味に依存しておらず、数値だけを取り扱うことで実現できます。
一方で、モデルベースの手法はデータに由来する情報が必要です。例えば、PCAはデータを主要な特徴ベクトル、すなわち主成分(後述)を用いてより低い次元で表現します。これまでの章ではデータ、特徴量、モデルの間には明確な区別がありましたが、この章からはこれら3つが互いに絡みあってきます。この絡み合いは特徴量学習の最新の研究においても注目されています。
6.1 直感的な解釈
次元削減は重要な情報を残し「価値のない情報」を取り除きます。「価値のない情報」を定義する方法はいくつもあり、PCAでは線形独立に着目しています。本書「A.2 行列の解剖学」では、データ行列の列空間を、全ての特徴ベクトルが張るベクトル空間として紹介しています。列空間の本質的な次元(intrinsic dimensionality) ...
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.