データサイエンスにおける次元削減
定義
データセット$X \subset \mathbb{R}^{n}$が与えられたとする。$m \lt n$に対して、次のようなマッピングを次元削減dimension reductionという。
$$ r : X \to \mathbb{R}^{m} $$
または、主に機械学習で、パフォーマンスを可能な限り維持しながら入力変数を減らす方法の全体を次元削減技術という。
説明
次元削減とは、その名の通りベクトルの次元を減らすことを言う。データをより簡単に、より直感的に理解するために使用されることが多い。次元を減らす方法はアルゴリズムによって異なる。特定の成分をそのまま削除することもあれば、既存のデータを用いて定められたルールに従って次元が小さい新しいデータを生成することもある。以下のような技術がある。
目的
可視化
我々は4次元以上のデータを効率的に可視化することが事実上不可能である。さらに3次元のデータでさえ、その形状によっては可視化に困難を感じることがある。可視化に困難を感じるとは、データの特徴をよく表す図を描くことが難しいということである。3次元データであれば、視点によってその形状が異なって見えるだろう。このような時に次元を減らして描いてみると、データの特徴を把握しやすくなるかもしれない。以下の図は、同じデータだが見る方向によってその形状が著しく異なる例を示している。右の図は左のデータを$xy$-平面に射影したものである。
4次元データであるアイリスデータセットを以下のように複数の2次元図に分けて可視化することが、多くのデータサイエンスの教科書で紹介されている。
選択と集中
あまり重要でない情報を排除して、より重要な情報に集中するために次元削減を使用することができる。ここで言う「あまり重要でない情報」とは、ノイズとして扱われるか、重複した情報を指す。例えば、下の左の表を見ると、最初の列がすべてのデータに対して同じ値であることがわかる。また、2番目の列と3番目の列は異なる値だが、実質的には同じ値であることがわかる。したがって、最初の列と2番目(または3番目)の列を削除することで次元削減を行うことができる。また、右の表は大邱の天気情報をまとめたものである。一見すると、ここで不要な情報はないように見えるが、「日差 = 最高気温 - 最低気温」であるため、この3つは線形独立ではなく、実際には回帰分析時にエラーを引き起こす可能性がある。したがって、この場合には多重共線性を除去するために4番目の列を削除することが次元削減である。
学校 | 学年 | 所属 | 名前 |
---|---|---|---|
ハイブ高等学校 | 3学年 | プロミスナイン fromis_9 | イ・ナギョン 이나경 |
ハイブ高等学校 | 3学年 | プロミスナイン fromis_9 | ペク・ジホン 백지헌 |
ハイブ高等学校 | 2学年 | ル・セラフィム LE SSERAFIM | キム・チェウォン 김채원 |
ハイブ高等学校 | 2学年 | ル・セラフィム LE SSERAFIM | ホ・ユンジン 허윤진 |
ハイブ高等学校 | 1学年 | ニュージンス NewJeans | ヘリン 해린 |
ハイブ高等学校 | 1学年 | ニュージンス NewJeans | ミンジ 민지 |
日付 | 最高気温 | 最低気温 | 日差 | 降水確率 |
---|---|---|---|---|
19일 | 32º | 24º | 8º | 60% |
20일 | 33º | 22º | 11º | 0% |
21일 | 32º | 23º | 9º | 30% |
22일 | 30º | 21º | 9º | 60% |
23일 | 31º | 24º | 7º | 60% |
24일 | 33º | 25º | 8º | 60% |
軽量化
データの次元が減ると、それだけ保存しなければならない数字が少なくなるため、データ自体の容量が減る。人工神経網の場合、MLPは線形層で構成されており、入力データの次元がモデルのパラメータ数に影響を与える。この場合、次元削減を使用してモデルのパラメータを減らすことができる。CNNのように、入力データの次元がモデルのパラメータ数に影響を与えない場合でも、計算速度での利点をもたらすことができる。
過学習防止
適切な次元削減は、オーバーフィッティングをある程度防ぐことができるとされている。