Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Visual Linear Algebra - Lecture at Shosen Grande

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Visual Linear Algebra - Lecture at Shosen Grande

2026/8/29 書泉グランデにおける『図解線形代数:ストラング流直感的理解』のミニレクチャー

Avatar for Kenji Hiranabe

Kenji Hiranabe

August 25, 2026

More Decks by Kenji Hiranabe

Other Decks in Science

Transcript

  1. 本⽇の内容 本書の動機 • ストラング先⽣の紹介 • ⾏列の計算 • 基本概念 • 𝐴

    = 𝐶𝑅 CR分解と次元定理 • 対称⾏列の固有値分解(最⾼の分解) • 𝐴 = 𝑈Σ𝑉 ! 特異値分解(SVD)(汎⽤の分解) • おもしろい応⽤ •
  2. • MIT Gilbert Strang 先⽣の教え⽅に 影響を受けた,線形代数を直感理解 する本です. 動機 これは何? •

    YouTube の MIT Open Courseware、 先⽣の講義プレイリストである MIT 18.06 と 18.065 には、200万⼈の 購読者がいます. • 先⽣とコミュニケーションしながら, 線形代数に関わるグラフィックスを 作成し,先⽣の本で使ってもらいま した. 3
  3. この資料を書籍に仕上 げたのが,本書です. "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
  4. ⾏列の⾒⽅ – 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
  5. ⾏列計算の基本(すべてこれ) 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
  6. ベクトルの積 – 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
  7. ⾏列とベクトルの積 – 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
  8. ⾏列と⾏列の積 – 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𝑏## 15
  9. 便利な応⽤パターン – 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 16
  10. 便利な応⽤パターン – 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 17
  11. 便利な応⽤パターン – 4つ = P1ʼ 対⾓⾏列を左から掛けると各⾏がスカラー倍 対⾓⾏列を右から掛けると各列がスカラー倍 𝐴𝐷 = 𝒂𝟏

    𝒂𝟐 𝒂𝟑 𝑑! 𝑑" 𝑑# = P2ʼ = 𝑑!𝒂𝟏 𝑑"𝒂𝟐 𝑑"𝒂𝟐 𝐷𝐵 = 𝑑! 𝑑" 𝑑# 𝒃!∗ 𝑑!𝒃!∗ 𝒃!∗ = 𝑑!𝒃!∗ 𝒃!∗ 𝑑!𝒃!∗ これらを⽬に焼き付けると、さらに、、、、 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 18
  12. 便利な応⽤パターン – 4つ = P4 + + rank 1⾏列の和 (SVDや対称⾏列のスペクトル分解で活⽤)

    𝑈𝛴𝑉 * = 𝒖𝟏 𝒖𝟐 𝒖𝟑 𝜎! 𝜎" 𝜎# 𝒗!* 𝒗*" = 𝜎!𝒖!𝒗!* + 𝜎"𝒖"𝒗*" + 𝜎#𝒖#𝒗*# 𝒗*# By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 19
  13. 21

  14. ⾏列の有名分解 – 5つ 𝐴 = 𝐶𝑅 独⽴列⾏列と⾏簡約⾏列の積 (⾏ランク=列ランクを⽰す) 𝐴 =

    𝐿𝑈 LU分解=ガウスの消去法 𝐴 = 𝑄𝑅 QR分解=Gram-Schmidtの直⾏化 𝑆 = 𝑄Λ𝑄! 対称⾏列の固有値分解 ! 𝐴 = 𝑈Σ𝑉 どんな⻑⽅⾏列にも使える 特異値分解 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 23
  15. 𝐴 = 𝐶𝑅 ⻑⽅⾏列𝐴の⾏ランクと、 𝐴の列ランクが等しいことを最も直感的に⽰す分解。 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𝒓∗# 24
  16. 25

  17. 26

  18. 28

  19. 𝑆 = 𝑄𝛬𝑄! 対称⾏列𝑆の固有値分解。固有値はすべて実数であり、固有ベクトルは必ず互いに直⾏したものが取れる。 𝑄 𝑆 = 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 29
  20. 𝐴 = 𝑈Σ𝑉 " 𝐴が⼀般の⻑⽅⾏列の場合でも、特異値分解は必ず可能。 𝐴 𝑈 = 1 2

    3 Σ 𝑉* 1 2 = 𝜎! 𝒖𝟏𝒗!* 𝜎" 𝒖𝟐𝒗*" 1 2 + 1 2 using P4 𝐴の⾏空間ℝ) の正規直交基底として𝑉、列空間 ℝ* の正規直交規定として𝑈をそれぞれうまく取ると、対 ⾓化される。これを特異値分解という。さらに、これを rank 1 ⾏列の和に分解できる。 𝐴 = 𝑈Σ𝑉 *= | | | 𝜎! | | −𝒗!* − * 𝒖𝟏𝒖𝟐𝒖𝟑 =𝜎! 𝒖𝟏 − 𝒗! − + 𝜎" 𝒖𝟐 − 𝒗*" − 𝜎" * −𝒗" − | | | | | = 𝜎!𝒖𝟏𝒗!* + 𝜎"𝒖𝟐𝒗*" 𝑈*𝑈 = 𝑈𝑈* = 𝐼, 𝑉 *𝑉 = 𝑉𝑉 * = 𝐼- By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 30
  21. ⾏列の意味(データとしてみる) 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 𝒂𝟏 = 𝒖𝟏 , 𝒂𝟐 = 𝒖𝟐 , 𝒂𝟐 = 𝒖𝟏 + 𝒖𝟐 37
  22. 特異値/特異ベクトル 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 全体の中での信号の強さが特異値。 40
  23. 顔データを元よりも少数 次元の基底によって復元 する。 基底は、U を特異値の⼩ さい⽅を削除ししまった 近似。 このU平⾯に新しい顔を 射影し、その座標(少数) をαという。このαを使っ

    て、新しい顔を表現す る。(データ圧縮) 顔を次元を順次増 やして復元。 効率は良くないが、 ⽝も表現できるよ。 (だいぶ怖い) 41
  24. 参照⽂献と 謝辞 • 『図解瀬系代数』特設ページ 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 42