Slide 1

Slide 1 text

平鍋健児 X:@hiranabe 本資料,およびレクチャーノート︓https://anagileway.com/

Slide 2

Slide 2 text

本⽇の内容 本書の動機 ● ストラング先⽣の紹介 ● ⾏列の計算 ● 基本概念 ● 𝐴 = 𝐶𝑅 CR分解と次元定理 ● 対称⾏列の固有値分解(最⾼の分解) ● 𝐴 = 𝑈Σ𝑉 ! 特異値分解(SVD)(汎⽤の分解) ● おもしろい応⽤ ●

Slide 3

Slide 3 text

• MIT Gilbert Strang 先⽣の教え⽅に 影響を受けた,線形代数を直感理解 する本です. 動機 これは何? • YouTube の MIT Open Courseware、 先⽣の講義プレイリストである MIT 18.06 と 18.065 には、200万⼈の 購読者がいます. • 先⽣とコミュニケーションしながら, 線形代数に関わるグラフィックスを 作成し,先⽣の本で使ってもらいま した. 3

Slide 4

Slide 4 text

この資料を書籍に仕上 げたのが,本書です. "The Art of Linear Albebra" Yann LeCun 先生も retweet ❤ https://github.com/kenjihiranabe/The-Art-of-Linear-Algebra/blob/main/The-Art-of-Linear-Algebra-j.pdf

Slide 5

Slide 5 text

本書の構成と本⽇のトピック 2 4 3 1 5

Slide 6

Slide 6 text

翻訳本 ストラング シリーズ 6

Slide 7

Slide 7 text

MIT18.06 講演例: https://ww w.youtube.c om/watch?v =MsIvs_6vC 38 7

Slide 8

Slide 8 text

https://www.youtube.com/watch?v=lUUte2o2Sn8 8

Slide 9

Slide 9 text

https://www.youtube.com/watch?v=Z131v2h6SAY 9

Slide 10

Slide 10 text

⾏列の 計算 レクチャーノート参照 (⼿を動かして) https://anagileway.com/ 10

Slide 11

Slide 11 text

⾏列の⾒⽅ – 4つ = = = 1 4 1 4 1 4 = 2 5 = 2 5 = 2 5 3 6 3 6 3 6 𝐴 1 つの⾏列 6つの数 3つの数からなる 2つの列ベクトル 2つの数からなる 3つの⾏ベクトル 𝑎!!𝑎!" −𝒂!∗ − | | 𝐴 = 𝑎"!𝑎"" = 𝒂𝟏𝒂𝟐 = −𝒂∗" − 𝑎#!𝑎#" | | −𝒂∗# − 以降、太字で列ベクトル𝒂𝟏、*を付けて⾏ベクトル𝒂"∗、を表現する。 また、右肩にTをつけて転置ベクトル𝒂𝐓や転置⾏列𝑨𝐓を表現する。 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 11

Slide 12

Slide 12 text

⾏列計算の基本(すべてこれ) m 𝐴 𝐵 p n 1 2 3 p 1 2 = 𝐶 n = m 1 2 3 1 1 1 1 2 3 2 2 2 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 12

Slide 13

Slide 13 text

ベクトルの積 – 2つ v1 = = 内積(スカラー) 2つの列ベクトルの内積(𝒂 ) 𝒃)は⾏列形 式では、𝒂! 𝒃 と表現され、1つのスカラ ーになる。 𝑥! 𝑥! 1 1 2 3 𝑥" = 2 . 𝑥" = 𝑥! + 2𝑥" + 3𝑥# 𝑥# 𝑥# 3 = v2 = Rank1の⾏列 2つの列ベクトル𝒂, 𝒃を𝒂𝒃! の順に掛けると、⾏ 列 (𝐴 = 𝒂𝒃! ) になる。 𝒂, 𝒃どちらも0でなければ、 この⾏列はRankが1になることが分かる。(各 ⾏は定数倍であり、各列も定数倍である) 1 2 𝑥 3 𝑥 𝑦 = 2𝑥 3𝑥 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 𝑦 2𝑦 3𝑦 13

Slide 14

Slide 14 text

⾏列とベクトルの積 – 2つ = Mv 1 𝐴 の⾏ベクトルと列ベクトルの積 (内積)からなる1つの列ベクトル 1 2 𝐴𝒙 = 3 4 5 6 (𝑥!+2𝑥") 𝑥! 𝑥" = (3𝑥! + 4𝑥") (5𝑥! + 6𝑥") = Mv 2 + 𝐴 の列ベクトルの線形結合 1 2 𝐴𝒙 = 3 4 5 6 1 2 𝑥! 𝑥" = 𝑥! 3 + 𝑥" 4 5 6 最初に左を覚えるだろう。しかし、右の⾒⽅ができるようになると、 𝐴𝒙 が𝐴の列ベクトルの線形結合、すなわち、 𝐴の列ベクトル空間 𝐂(𝐴)、さらに、 𝐴𝒙 = 0 の解がAの零空間 𝐍(𝐴)と読めるようになる。 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 14

Slide 15

Slide 15 text

ベクトルと⾏列の積 – 2つ = vM1 𝒚𝐴 = 𝑦! 𝑦" 𝑦# 𝒚𝐴 = 𝑦! 1 2 3 4 = (𝑦!+3𝑦" + 5𝑦#) (2𝑦! + 4𝑦" + 6𝑦#) 5 6 = vM2 𝑦" 𝑦# ⾏ベクトルと A の列ベクトルとの 積(内積)からなる、 1つの⾏ベクトル + + A の⾏ベクトルの線形結合 1 2 3 4 = 𝑦! 1 2 + 𝑦" 3 4 + 𝑦# 5 6 5 6 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 15

Slide 16

Slide 16 text

⾏列と⾏列の積 – 4つ = MM 1 𝑥" 𝑥# (𝑥" +2𝑥# ) 𝑦" 𝑦# = (3𝑥" +4𝑥# ) (5𝑥" +6𝑥# ) 1 2 3 4 5 6 (𝑦" +2𝑦# ) (3𝑦" +4𝑦# ) (5𝑦" +6𝑦# ) 𝑥" 𝑥# 𝑦" 𝒙 𝒚 = 𝑨𝒙 𝑨𝒚 𝑦# = 𝑨 = MM 4 MM 3 = = 結果の各列 𝐴𝒙, 𝐴𝒚 は、それぞれ𝐴 の列ベクトルの線形結合 結果の各要素は、⾏ベクトルと列ベクトルの内積 1 2 3 4 5 6 = MM 2 + = ⾏列の積は、Rank1の⾏列の和に分解される。 結果の各⾏は、⾏ベクトルの線形結合 1 2 3 4 5 6 𝑥" 𝑥# 𝒂∗𝟏 𝒂∗𝟏 𝑿 𝑦" ∗ ∗ 𝑦# = 𝒂𝟐∗ 𝑿 = 𝒂𝟐∗ 𝑿 𝒂𝟑 𝒂𝟑 𝑿 1 2 𝑏 𝒃∗𝟏 "" 𝑏"# = 𝒂𝟏 𝒂𝟐 ∗ = 𝒂𝟏 𝒃∗𝟏 + 𝒂𝟐 𝒃∗𝟐 3 4 𝑏 𝑏 𝒃𝟐 #" ## 5 6 𝑏"" 𝑏"# 2𝑏#" 1 2 = 3 𝑏"" 𝑏"# + 4 𝑏#" 𝑏## = 3𝑏"" 3𝑏"# + 4𝑏#" 5𝑏"" 5𝑏"# 6𝑏#" 5 6 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 2𝑏## 4𝑏## 6𝑏## 16

Slide 17

Slide 17 text

便利な応⽤パターン – 4つ P1 1 2 3 = = 1 2 3 右からの操作は、列に作⽤する。 この表現は、右の3つの線形結合を 1つの⾏列表現で表したものだとも ⾔える。 1 1 = 1 2 = 3 1 + + + 2 2 2 + + + By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 3 using MM 2 Mv 2 3 3 17

Slide 18

Slide 18 text

便利な応⽤パターン – 4つ P2 1 2 3 = 1 2 3 左からの操作は、⾏に作⽤する。 この表現は、右の3つの線形結合を 1つの⾏列表現で表したものだとも ⾔える。 1 = 1 + 2 + 3 2 = 1 + 2 + 3 3 = 1 + 2 + 3 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang using MM 3 Mv 2 18

Slide 19

Slide 19 text

便利な応⽤パターン – 4つ = P1ʼ 対⾓⾏列を左から掛けると各⾏がスカラー倍 対⾓⾏列を右から掛けると各列がスカラー倍 𝐴𝐷 = 𝒂𝟏 𝒂𝟐 𝒂𝟑 𝑑! 𝑑" 𝑑# = P2ʼ = 𝑑!𝒂𝟏 𝑑"𝒂𝟐 𝑑"𝒂𝟐 𝐷𝐵 = 𝑑! 𝑑" 𝑑# 𝒃!∗ 𝑑!𝒃!∗ 𝒃!∗ = 𝑑!𝒃!∗ 𝒃!∗ 𝑑!𝒃!∗ これらを⽬に焼き付けると、さらに、、、、 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 19

Slide 20

Slide 20 text

便利な応⽤パターン – 4つ = P4 + + rank 1⾏列の和 (SVDや対称⾏列のスペクトル分解で活⽤) 𝑈𝛴𝑉 * = 𝒖𝟏 𝒖𝟐 𝒖𝟑 𝜎! 𝜎" 𝜎# 𝒗!* 𝒗*" = 𝜎!𝒖!𝒗!* + 𝜎"𝒖"𝒗*" + 𝜎#𝒖#𝒗*# 𝒗*# By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 20

Slide 21

Slide 21 text

基本概念 本当は⼿強い 21

Slide 22

Slide 22 text

22

Slide 23

Slide 23 text

⾏列の 分解と 4つの部分 空間 連⽴⽅程式の解 CR分解との関係, 固有値分解 特異値分解 23

Slide 24

Slide 24 text

⾏列の有名分解 – 5つ 𝐴 = 𝐶𝑅 独⽴列⾏列と⾏簡約⾏列の積 (⾏ランク=列ランクを⽰す) 𝐴 = 𝐿𝑈 LU分解=ガウスの消去法 𝐴 = 𝑄𝑅 QR分解=Gram-Schmidtの直⾏化 𝑆 = 𝑄Λ𝑄! 対称⾏列の固有値分解 ! 𝐴 = 𝑈Σ𝑉 どんな⻑⽅⾏列にも使える 特異値分解 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 24

Slide 25

Slide 25 text

𝐴 = 𝐶𝑅 ⻑⽅⾏列𝐴の⾏ランクと、 𝐴の列ランクが等しいことを最も直感的に⽰す分解。 Cは𝐴の線形独⽴な列ベクトル。 𝑅は⾏簡約階段⾏列(row reduced echelon form)となる。 𝐴 = 𝐶𝑅 1 2 3 1 2 1 0 1 = 2 3 5 2 3 0 1 1 𝐴の列ベクトルを左から順に⾒て、独⽴なもののみ選び出していく。1,2列⽬は⽣き残り、3列⽬は1列⽬+2列 ⽬なので捨てる。残った2つの列ベクトルCを使って𝐴 を復元すると、𝑅には階段⾏列が現れる。 これを、よく⾒て、⼆つの表現で表すと… using P1 123 = = 12 1 + 2 1 + 2 1 + 2 すべての列ベクトルはc1,c2の線形結合。すなわち、列ランク=dim C(𝐴)=2。 | | | | | 𝒂𝟏 𝒂𝟐 𝒂𝟑 = 𝒄𝟏 𝒄𝟐 1 0 1 | | | | | 0 1 1 𝒂𝟏 = 𝒄𝟏 , 𝒂𝟐 = 𝒄𝟐 , 𝒂𝟑 = 𝒄𝟏 + 𝒄𝟐 using 1 2 = 1 2 = 1 1 + + 2 2 P2 すべての⾏ベクトルはr1,r2の線形結合。すなわち、⾏ランク=dim C(𝐴( )=2。 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang −𝒂"∗ − 1 2 −𝒓"∗ − = −𝒂∗# − 2 3 −𝒓∗# − 𝒂"∗ = 𝒓"∗ + 2𝒓∗# , 𝒂∗# = 2𝒓"∗ + 3𝒓∗# 25

Slide 26

Slide 26 text

26

Slide 27

Slide 27 text

27

Slide 28

Slide 28 text

By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 28

Slide 29

Slide 29 text

𝑆 = 𝑄𝛬𝑄! 対称⾏列𝑆の固有値分解。固有値はすべて実数であり、固有ベクトルは必ず互いに直⾏したものが取れる。 𝑄 𝑆 = 1 2 3 𝛬 𝜆!𝒒𝟏𝒒!+ 𝑄+ 1 2 3 = 1 1 𝜆"𝒒𝟐𝒒+" + 2 2 𝜆#𝒒𝟑𝒒+# + 3 3 using P4 対称⾏列𝑆は、直⾏⾏列𝑄によって固有値の対⾓⾏列𝛬に対⾓化される。 さらに、これをRank1の射影⾏列の和に分解できる。(スペクトル分解) −𝒒!* − | | | 𝜆! | | | 𝑆 = 𝑄𝛬𝑄*= 𝒒𝟏𝒒𝟐𝒒𝟑 𝜆" −𝒒*" − =𝜆! 𝒒𝟏 − 𝒒!* − + 𝜆" 𝒒𝟐 − 𝒒*" − + 𝜆# 𝒒𝟑 − 𝒒*# − | | | 𝜆# −𝒒*# − | | | = 𝜆!𝑃! + 𝜆"𝑃" + 𝜆#𝑃# 𝑆 = 𝑆* 𝑄*𝑄 = 𝑃! +𝑃" + 𝑃# = 𝐼 𝑃!𝑃" = 𝑃"𝑃# = 𝑃#𝑃! = 𝑂 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 30

Slide 30

Slide 30 text

𝐴 = 𝑈Σ𝑉 " 𝐴が⼀般の⻑⽅⾏列の場合でも、特異値分解は必ず可能。 𝐴 𝑈 = 1 2 3 Σ 𝑉* 1 2 = 𝜎! 𝒖𝟏𝒗!* 𝜎" 𝒖𝟐𝒗*" 1 2 + 1 2 using P4 𝐴の⾏空間ℝ) の正規直交基底として𝑉、列空間 ℝ* の正規直交規定として𝑈をそれぞれうまく取ると、対 ⾓化される。これを特異値分解という。さらに、これを rank 1 ⾏列の和に分解できる。 𝐴 = 𝑈Σ𝑉 *= | | | 𝜎! | | −𝒗!* − * 𝒖𝟏𝒖𝟐𝒖𝟑 =𝜎! 𝒖𝟏 − 𝒗! − + 𝜎" 𝒖𝟐 − 𝒗*" − 𝜎" * −𝒗" − | | | | | = 𝜎!𝒖𝟏𝒗!* + 𝜎"𝒖𝟐𝒗*" 𝑈*𝑈 = 𝑈𝑈* = 𝐼, 𝑉 *𝑉 = 𝑉𝑉 * = 𝐼- By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 31

Slide 31

Slide 31 text

By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 32

Slide 32

Slide 32 text

特異値分解 SVD 画像圧縮のデモ 33

Slide 33

Slide 33 text

https://timbaumann.info/svd-image-compression-demo/ 34

Slide 34

Slide 34 text

SVDの応⽤からの理解︓ eigenface Washington ⼤学の Steve Brunton 先⽣の YouTube チャネル にて、120回以上の動画で詳しくこの本の中について解説されて いる。その中の、eigenface の回をご紹介。 Databookuw.com

Slide 35

Slide 35 text

Eigenfaces – Yale B Dataset 256値×32K 画素×64枚× 36⼈、から、特異値ベクトルを抽出 https://www.youtube.com/watch?v=XwTW_YA3HG0 36

Slide 36

Slide 36 text

最初の 64 eigenfaces(ちょっと怖い…) 37

Slide 37

Slide 37 text

⾏列の意味(データとしてみる) 2. フーリエ変換等でもデータ圧縮可能 だが、SVDではデータ駆動で(デー タ全体を⾒てから)有効な底を決め る。 ℝ! のデータセットが𝑛列と⾒る。 𝑎! , 𝑎" , … , 𝑎# ∈ ℝ$ m次元列ベクトルのデータ 𝑢! , 𝑢" , … , 𝑢$ ∈ ℝ$ m次元列ベクトルの底 1 𝑨= 2 3 0 1 1 = 1 3 4 | | | | | | 1 0 1 𝒂𝟏 𝒂𝟐 𝒂𝟑 = 𝒆𝟏 𝒆𝟐 𝒆𝟑 2 1 3 | | | | | | 3 1 4 1 1 P1 通常の基底(e1,e2,e3)の線形結合として各列を表す | | | | | | 1 0 1 𝒂𝟏 𝒂𝟐 𝒂𝟑 = 𝒖𝟏 𝒖𝟐 𝒖𝟑 0 1 1 | | | | | | 0 0 0 新しい基底(u1,u2,u3)の線形結合として各列を表す 1 2 3 = 各データベクトル = 1 2 3 1 2 = 基底 この基底での「座標」 もしくは「成分」が 縦に並ぶ。 3 1 + + + 2 2 2 + + + 3 3 3 𝒂𝟏 = 𝒖𝟏 , 𝒂𝟐 = 𝒖𝟐 , 𝒂𝟐 = 𝒖𝟏 + 𝒖𝟐 39

Slide 38

Slide 38 text

特異値/特異ベクトル 1. 𝑛個の ℝ! のデータセットと⾒る。 𝐴 = 😃😂😆 1 2 3 = 各データベクトル (各⾃の顔データ) 𝑈 Σ 💀💀💀 = = 1 2 3 新基底 信号の強さ (eigen face) (特異値) 𝐴 = 𝑈Σ𝑉 * | | | 𝜎! 𝐴 = 𝒖𝟏𝒖𝟐𝒖𝟑 𝜎" | | | 𝜎# 𝑉% データごとの Mixture(Vの⾏) 𝑈 新基底での座標 (各⾃の顔の成分) (Σ𝑉 % ) 😃 1 2 3 新基底 新基底での座標 (各⾃の顔の成分) −𝒗!* − −𝒗*" − −𝒗*# − 😆 😂 = 1 1 = 1 2 = 3 1 + + + 2 2 2 + + + 3 3 3 A の各列(face)は、新基底(eigenface)の線形結合。 A 全体の中での信号の強さが特異値。 42

Slide 39

Slide 39 text

顔データを元よりも少数 次元の基底によって復元 する。 基底は、U を特異値の⼩ さい⽅を削除ししまった 近似。 このU平⾯に新しい顔を 射影し、その座標(少数) をαという。このαを使っ て、新しい顔を表現す る。(データ圧縮) 顔を次元を順次増 やして復元。 効率は良くないが、 ⽝も表現できるよ。 (だいぶ怖い) 43

Slide 40

Slide 40 text

参照⽂献と 謝辞 • 『図解瀬系代数』特設ページ https://anagileway.com/visual -linear-algebra/ • MIT OpenCourseWare 18.06 http://web.mit.edu/18.06/ww w/videos.shtml • A 2020 Vision of Linear Algebra https://ocw.mit.edu/resources /res-18-010-a-2020-vision-oflinear-algebra-spring-2020/ • The Art of Linear Algebra https://github.com/kenjihirana be/The-Art-of-LinearAlgebra/blob/main/The-Art-ofLinear-Algebra-j.pdf • 4つの部分空間 Tシャツ https://anagileway.com/2020/ 06/04/prof-gilbert-stranglinear-algebra/ This work is inspired by Prof. Strangʼs books and lecture videos. I deeply appreciate his work, passion and personality. By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 44

Slide 41

Slide 41 text

Tシャツ作った! By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 45

Slide 42

Slide 42 text

Matrix World in 図解線形代数 5章 𝐴 = 𝐶𝑅 1 4 2 5 正⽅⾏列 (𝑛×𝑛) 3 6 可逆(正則) det 𝐴 ≠ 0, ∀𝜆 ≠ 0 6章 𝐴 = 𝑄𝑅 非可逆(特異) det(𝐴) = 0, ∃𝜆 = 0 𝐴 = 𝐿𝑈 4章 三角化 𝑈 はゼロ行を持つ グラム・シュミット法 𝐴= 2 0 行列の積分解 𝑆𝑉𝐷: 単位直交基底 𝑈, 𝑉 行 𝑟𝑎𝑛𝑘 = 列 𝑟𝑎𝑛𝑘 𝐴= 章番号 ⾏列 (𝑚×𝑛) 𝐴 = 𝑈Σ𝑉 0 8章 対⾓化可能 7章 𝐴 = 𝑋Λ𝑋 ./ 1 2 𝐴= 1 0 1 2 𝐴= 正規 𝐴 # 𝐴 = 𝐴𝐴 # ユニタリ行列で対角化可能 7章 𝐴 = 𝑄Λ𝑄∗ 対角化 𝑄 !" = 𝑄 # ∀ |𝜆| = 1 𝑆 = 𝑆$, ∀ 𝜆 ∈ ℝ 半正定値 𝑆 = 𝑄Λ𝑄0 7章 0 𝑄= −1 1 0 6章 射影 置換 4章 I の並び替え ∀ 𝜆 は1の根 1 1 対称 7章 ∀𝜆 ≥ 0, ∀ 𝐴!𝐴 直交 6章 0 0 1 2 𝑆= 𝑃 % = 𝑃 = 𝑃 # , 𝜆 = 1 𝑜𝑟 0 𝑰 2 0 O 対⾓ Σ= 𝜎% 0 0 𝜎% Λ= 𝜆 0 0 𝜆 正定値 7章 ∀𝜆 > 0 𝐴./ = 𝑉Σ./ 𝑈0 すべての𝐴に対する擬似逆行列 𝐴? = 𝑉Σ?𝑈0 8章 最もバズった図 46