主成分分析

1.1K Views

April 19, 24

スライド概要

勉強会で使用した資料。

profile-image

主に深層学習に興味があります

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

2023/09/14 主成分分析 武蔵野⼤学データサイエンス学部 勉強会2023夏 ⼩宮和真 misya11p 武蔵野⼤学 データサイエンス学部 3年 @ds33miya

2.

2023/09/14 勉強会2023夏 目次 1. 2. 3. 4. 次元削減 主成分分析 特異値分解 主成分軸の解釈 1

3.

2023/09/14 1. 2. 3. 4. 勉強会2023夏 次元削減 主成分分析 特異値分解 主成分軸の解釈 2

4.

2023/09/14 勉強会2023夏 次元削減 次元削減 データが高次元空間に存在していても、実際はより低い次元でだいたい表せる。 ある𝑙次元のデータ空間ℝ! に分布するデータセット𝒳について考える。 データ𝒙" ∈ 𝒳は𝑙個の値𝑥#, 𝑥$, ⋯ , 𝑥! によって一意に表せる。しかし、扱うデータ の分布によっては𝑙より少ない個数で𝒙" をうまく表せる。 3

5.

2023/09/14 勉強会2023夏 次元削減 次元削減 例を示そう。2次元空間ℝ$にデータ𝒙" = (𝑥#, 𝑥$) が存在し、それが 3𝑥# − 4𝑥$ = 0 を満たす超平面(直線)のみに分布する場合を考える。 このとき、𝑥#を定めれば𝑥$が一意に定まる(逆も 然り)ため、 ℝ$内のデータ𝒙" を表すのに必要な 値は一つで良いことになる。 これは、2次元空間内のデータが軸を減らした1 次元空間で完全に表せることを示している。 4

6.

2023/09/14 勉強会2023夏 次元削減 次元削減 では、もう少し現実的な例について考える。 ある2次元のデータが3𝑥# − 4𝑥$ = 0を満たす超平面の近くに分布する場合を 考える。データに相関が見られる場合ということ。 この場合、先ほどのように1次元空間で完全に表 すことはできない。しかし、だいたいを表すこと はできる。 5

7.

2023/09/14 勉強会2023夏 次元削減 次元削減 このように、本来の次元よりも少ない次元でデータを近似的に表現することを 次元削減という。 次元削減はデータの処理の効率化や可視化に大きく役立つ。 6

8.

2023/09/14 1. 2. 3. 4. 勉強会2023夏 次元削減 主成分分析 特異値分解 主成分軸の解釈 7

9.

2023/09/14 勉強会2023夏 主成分分析 主成分分析 PCA: Principal Component Analysis 最も一般的な次元削減の手法。 主成分分析では、データ空間ℝ! 内に𝑚 < 𝑙個の互いに直行する軸を定める。 この軸にデータを射影することで次元を削減する。軸は射影後のデータの分散 が最も大きくなるように定義する。この軸は主成分軸と呼ぶ。 8

10.

2023/09/14 主成分分析 勉強会2023夏 主成分分析 元のデータ 射影 主成分軸を求める 次元削減 9

11.

2023/09/14 主成分分析 勉強会2023夏 主成分分析 元のデータ 主成分軸を求める これが主成分分析の目標 射影 次元削減 10

12.

2023/09/14 主成分分析 勉強会2023夏 主成分分析 元のデータ 主成分軸を求める これが主成分分析の目標 射影 次元削減 ここの分散が最大になるようにする 11

13.

2023/09/14 勉強会2023夏 主成分分析 分散の最大化 なんで分散を最大化するの? いろいろな説明があるが、ここでは情報量に着目して説明する。 次元を減らすことで、当然元のデータからいくらかの情報が失われることと なる。この失われる情報を最小にしたいという願いがある。 少し表現を変えて、次元削減したデータが多くの情報を持つようにしたい、 とする。 ここで、確率分布が持つ情報量について記述したとある理論を用いる。 12

14.

2023/09/14 勉強会2023夏 主成分分析 情報理論 事象に対する情報量を記述した理論。 1950年頃にクロード・シャノンによって提唱された。 13

15.

2023/09/14 勉強会2023夏 主成分分析 情報エントロピー 確率分布𝑝(𝑥) が持つ情報量𝐻(𝑝) 。以下に定義される。 なおこの式の意味はここで理解しなくてよい。何となく載せただけ。 情報エントロピーは確率分布が持つ情報量を示す。 また、それと同時に「予測のしにくさ」を表すとも言われている。 つまりこの理論によると、予測がしにくいほど情報量が多いということになる。 14

16.

2023/09/14 勉強会2023夏 主成分分析 情報エントロピー 二つの正規分布を見てみよう。 左の方が予測しにくそうだ。分散が大きく、広く分布しているから。 15

17.

2023/09/14 勉強会2023夏 主成分分析 情報エントロピー 情報エントロピーを見てみよう。 正規分布の情報エントロピーは以下になる。 分散に対して単調増加なので、分散が大きいほど情報エントロピーが 大きく=多くの情報量を持つことになる。 16

18.

2023/09/14 主成分分析 勉強会2023夏 情報エントロピー 実際に求めてみてもそうなる。 H(p) = 1.42 H(p) = -0.19 以上より、分散が大きい分布は多くの情報量を持つことが分かった。 ここから、主成分分析の目的が射影後の分散の最大化であることが納得できる。 射影後に多くの情報が残るようにしたいから、分散が大きくなるようにする。 17

19.

2023/09/14 勉強会2023夏 主成分分析 主成分軸の導出 では主成分軸を求めていく。 まず、射影したときに最も大きな分散をとる一つの軸を求める。 18

20.

2023/09/14 主成分分析 勉強会2023夏 主成分軸の導出 扱う𝑁個のデータを𝒙" ∈ ℝ𝒍 で表す。そして求める軸を𝒖# ∈ ℝ𝒍 とする。 𝒙" も𝒖#も𝑙次元ベクトルで、 𝒖# は単位ベクトルとする。 ここで、データを平均0に中心化した場合、𝒖#にデータ𝒙" を射影した時の 偏差(平均からの距離)は内積𝒖#& 𝒙" で表せる。 平均 平均 𝒙! 𝒙! 𝒖" 偏差: 𝒖"# 𝒙! 19

21.

2023/09/14 主成分分析 勉強会2023夏 主成分軸の導出 分散は偏差の2乗の平均なので、𝒙" を全て𝒖#に射影した時の分散𝐽(𝒖#)は以下。 Σはこれ。 これはデータの共分散行列。 本当は中心化したデータの共分散行列だが、 平均はそれに影響を与えないので同じ。 20

22.

2023/09/14 勉強会2023夏 主成分分析 主成分軸の導出 以上より、求めたい𝒖#は以下となる。 また、以下の制約条件も課される。 これは𝒖が単位ベクトルであることを示している。この条件がない場合、 ただ分散=内積を大きくすれば良くなり、方向を無視した無限の大きさを持つ ベクトルが解となってしまう。 21

23.

2023/09/14 勉強会2023夏 主成分分析 主成分軸の導出 以上より、解くべき問題を条件付き最適化問題に落とし込むことができた。 これをラグランジュの未定乗数法で解く。まずラグランジュ関数を定義する。 これを𝒖で偏微分し、0になる𝒖を求める。 22

24.

2023/09/14 勉強会2023夏 主成分分析 主成分軸の導出 ここで、Σは正方行列、 𝜆はスカラーであるため、これを満たす𝒖はΣの固有 ベクトルとなる。また両辺に𝒖& をかけると、制約条件より が成り立ち、これは固有値𝜆が最大化したい射影後の分散と一致することを 表している。 よって、分散を最大化する𝒖はΣの最大固有値に対応する固有ベクトルとなる。 23

25.

2023/09/14 勉強会2023夏 主成分分析 主成分軸の導出 次に2番目以降の主成分𝒖$, 𝒖', ⋯ , 𝒖( を求めたい。 Σの固有値が大きい順に、対応する固有ベクトルを並べれば終わりである。 残っている固有ベクトルの中で分散が最も大きくなるものを選び続ける、 というイメージ。 また、主成分同士が直行することも満たすべき条件であるが、Σが対称行列 であるため固有ベクトル同士が直行し、条件を満たす。 24

26.

2023/09/14 主成分分析 勉強会2023夏 主成分軸の導出 共分散行列 データ 名前 年齢 身長 小宮和真 21 167 兼重宏一 35 165 立浪和義 54 173 Σ 固有値 固有ベクトル 𝜆! 𝜆" [𝒖! , 𝒖" , ⋯ , 𝒖# ] ⋮ 𝜆# 対応する固有値が大き い順に𝑚個採用する。 25

27.

2023/09/14 1. 2. 3. 4. 勉強会2023夏 次元削減 主成分分析 特異値分解 主成分軸の解釈 26

28.

2023/09/14 特異値分解 勉強会2023夏 特異値分解 主成分分析と特異値分解は深い関わりがある。 行列𝑋 ∈ ℝ!×+ は特異値分解によって以下のように記述できる。 • 𝑈 ∈ ℝ!×, : 𝑋𝑋 & の固有ベクトルを一行に並べた行列 • 𝑉 ∈ ℝ+×, : 𝑋 & 𝑋の固有ベクトルを一行に並べた行列 • 𝐷 ∈ ℝ,×, : 特異値𝜎- = これだけ覚えて 𝜆- を対角成分に持つ対角行列 𝐷 は Σ と表記することが多いが、共分散行列と紛らわしいのでここでは 𝐷 とする。 27

29.

2023/09/14 特異値分解 勉強会2023夏 特異値分解 𝑋をデータセットと見る: 𝑋 = [𝒙#, 𝒙$, ⋯ , 𝒙+ ] ∈ ℝ!×+ そうすると、 𝑋𝑋 & は𝑋の共分散行列に𝑁を掛けたものとなる。固有ベクトルは スカラーを掛けても変わらない。 𝑋の共分散行列も、それに𝑁を掛けた𝑋𝑋 & も 同じ固有ベクトルを持つ。 つまり特異値分解によって得られる𝑈 = [𝒖#, 𝒖$, ⋯ , 𝒖! ]は、𝑋の主成分分析に よって得られる主成分軸と同じものである。 再掲 28

30.

2023/09/14 勉強会2023夏 特異値分解 特異値分解 さっきの式を書き直してみる。 29

31.

2023/09/14 勉強会2023夏 特異値分解 特異値分解 右の行列の各要素𝑧"- は、𝒙" を主成分軸𝒖- に射影した時の値。それを𝒖- に掛ける ことで、主成分軸方向に大きさを持ったベクトルが表現でき、それらの和 として元のデータを表現しているという感じ。要は基底を変えただけ。 元の表現は標準基底によるもの 30

32.

2023/09/14 特異値分解 勉強会2023夏 特異値分解 可視化した方がええな 主成分軸 標準基底 特異値分解 31

33.

2023/09/14 特異値分解 勉強会2023夏 特異値分解 この中から固有値の大きい𝑚 < 𝑙個の軸を用いた近似は、 元のデータ𝑋の良い近似として知られている。 𝑚個だけ使う 𝑚個 𝑚個 32

34.

2023/09/14 勉強会2023夏 特異値分解 特異値分解 A 𝑋と置いておこう。 𝑚個だけ使う 33

35.

2023/09/14 勉強会2023夏 特異値分解 誤差最小解釈 良い近似とは、フロべニウスノルムを最小にするという意味。 フロベニウスノルムは行列版L2ノルムって感じ。 𝑚 個の主成分軸による近似が、元のデータと最も近いものとなる、ということ。 これは分散の最大化を納得するための根拠の一つとなり得るね。 34

36.

2023/09/14 1. 2. 3. 4. 勉強会2023夏 次元削減 主成分分析 特異値分解 主成分軸の解釈 35

37.

2023/09/14 主成分軸の解釈 勉強会2023夏 主成分軸の解釈 主成分軸は𝑙次元ベクトルである。今まではこれを「基底」として見てきたが、 ℝ! に存在する一つの「データ」と見ることもできる。そのデータはどんなもの だろうか。 基底としての解釈 データとしての解釈 36

38.

2023/09/14 主成分軸の解釈 勉強会2023夏 主成分軸の解釈 画像を例に考える。ピクセルごとの色が記述された一般的なデータ形式とする。 標準基底の場合、基底となっているデータは、どこか一つのピクセルのみに 色がついた画像と見做せる。 基底 データ 足し合わせ 37

39.

2023/09/14 勉強会2023夏 主成分軸の解釈 主成分軸の解釈 では、主成分軸はどのようなデータになっているだろう。 主成分軸は、それがどれだけ含まれているかを表すことでそのデータの大体を 記述できるような軸となっている。そのため、軸そのものがある程度の意味を 持ったものであることが予想できる。 38

40.

2023/09/14 勉強会2023夏 主成分軸の解釈 主成分軸の解釈 やってみよう。以下のような顔画像データセットを使う。 39

41.

2023/09/14 主成分軸の解釈 勉強会2023夏 主成分軸の解釈 ℎ 𝑤の画像が𝑁枚あるとする。各画像の各ピクセルの値を一列に並べて ベクトル𝒙" ∈ ℝ! , 𝑙 ≔ ℎ ⋅ 𝑤, 𝑛 = 1,2, ⋯ , 𝑁とする。 そして、それらを一行に並べて行列𝑋 ∈ ℝ!×+ とする。 ギャー 𝒙1 切断 (本当は1ピクセルごとね) 40

42.

2023/09/14 勉強会2023夏 主成分軸の解釈 主成分軸の解釈 ℎ 𝑤の画像が𝑁枚あるとする。各画像の各ピクセルの値を一列に並べて ベクトル𝒙" ∈ ℝ! , 𝑙 ≔ ℎ ⋅ 𝑤, 𝑛 = 1,2, ⋯ , 𝑁とする。 そしてそれらを一行に並べて行列𝑋 ∈ ℝ!×+ とする。 ほんで主成分分析によって𝑋の主成分軸を求める。 ほんで求めた主成分軸をℎ 𝑤の画像として見る。 どうなるかな。 41

43.

2023/09/14 主成分軸の解釈 勉強会2023夏 主成分軸の解釈 こうなった。ちょっとコワイ 固有値 18.48 8.15 5.30 4.77 2.67 求めた主成分軸と対応する固有値。固有値が大きいものを5個載せた。 画像の場合は固有画像とも呼ぶ。さらに顔画像の場合は固有顔とも呼ぶ。 42

44.

2023/09/14 勉強会2023夏 主成分軸の解釈 主成分軸の解釈 このように軸をよく観察すると、元のデータがどのように構成されているかが わかりやすくなるね。 43

45.

2023/09/14 主成分軸の解釈 勉強会2023夏 主成分軸の解釈 再構成してみた。主成分を多く使うほどよく近似できることがわかる。 𝑚=5 𝑚 = 10 𝑚 = 30 𝑚 = 100 𝑚 = 500 Original 44

46.

2023/09/14 勉強会2023夏 実装 dimensionality-reduction/PCA.ipynb at main · misya11p/dimensionality-reduction Pythonでの実装まとめ。 45

47.

オワリ おつ