SlideShare a Scribd company logo
1 of 35
Download to read offline
機械学習の数学とPCA
平鍋健児(@hiranabe)
2021/12/5 動画で学ぶデータサイエンス勉強会
2021/12/9 ESM 社内勉強会
=
1
機械学習の数学(とくに PCA/SVD 周辺)
● 全体像(数学・プログラミング・ML周辺)
● 機械学習の種類のおさらい
● その中で,今⽇の話の道筋
● PCA の簡単な例
● 裏の数学
● おもしろい応⽤
https://drive.mindmup.com/map/1rmfFeOarvJzVE_ZrhSj5OnKIwR5PuONX (内部)
基礎数学
定番ライブラリ
解析(微積分) 線形代数 確率・統計
フーリエ解析(FFT/DFT) ベイズ推定
特異値分解(SVD)/主成分分析(PCA)
活性化関数 勾配降下 逆伝播
畳込み
最適化数学 凸最適 線形計画
Python MATLAB R Juia
Numpy SciPy Pandas matplotlib
scikit-learn
言語
数値演算 表データ 可視化
機械学習種々
XGboost
CatBoost
アンサンブル
視覚認識
推奨/構造
翻訳/テキスト
スピーチ/会話
Google(Cloud ML Engin) AWS
サービス
https://aws.amazon.com/jp/machine-learning/ai-services/
Microsoft
もっといっぱい!
分類
目的 用途
クラスタリング
回帰
パターン抽出
推奨
顧客分類
不正検知
未来予測
次元削減
構造発見
3社のサービス比較
https://atmarkit.itmedia.co.jp/ait/articles/2006/22/news020.html
https://drive.mindmup.com/map/1r
mfFeOarvJzVE_ZrhSj5OnKIwR5P
uONX
このあたりの手法
のマインドマップ
seaborn
https://colab.research.google.com/drive/1YZgZWX5a7_MGA__HV2bybSuJsqkd4XxD?usp=sharing
ざっくり版
偏差値版
ざっくり版
偏差値版
線形代数計算の視覚化と
⾏列5分解
〜ストラング先⽣から学んだこと〜
平鍋健児(@hiranabe)
Version 1.1
=
10
これは何?
• Gilbert Strang 著
『Linear Algebra for Everyone』
は線形代数を直感理解するのに
とてもいい本です。
• 定理と証明の連鎖ではなく、マトリックス語法と例⽰で直感的な理解と実⽤的な
応⽤法を得ることができます。
• YouTube の MIT Open Courseware、 先⽣の講義プレイリストである 18.06
と 18.065 には、200万⼈の購読者がいます。(ぼくもその⼀⼈です)
• この本のハイライトは、
• AB=C の4つの⾒⽅
• 基本的な4つの部分空間
• 5つのマトリックス分解
• 通常の線形代数の教科書はジョルダン標準形がクライマックスですが、この
本では、SVD です。そして、
• 機械学習を含むデータサイエンスへの⼊⾨につながっています。
• この1と2のコンセプトをグラフィック表現できないか、というアイディアです。
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 11
1
2
5つの行列分解
𝐴 = 𝐶𝑅
𝐴 = 𝐿𝑈
𝐴 = 𝑄𝑅
𝑆 = 𝑄Λ𝑄!
𝐴 = 𝑈Σ𝑉!
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 12
独⽴列⾏列と⾏簡約⾏列の積
(⾏ランク=列ランクを⽰す)
LU分解=ガウスの消去法
QR分解=Gram-Schmidtの直⾏化
対称⾏列の固有値分解
どんな⻑⽅⾏列にも使える
特異値分解
= = =
3つの数からなる
2つの列ベクトル
2つの数からなる
3つの⾏ベクトル
6つの数
1 つの⾏列
⾏列の⾒⽅ – 4つ
𝐴 =
𝑎!!𝑎!"
𝑎"!𝑎""
𝑎#!𝑎#"
=
|
𝒂𝟏
|
|
𝒂𝟐
|
=
−𝒂!
∗ −
−𝒂"
∗ −
−𝒂#
∗ −
以降、太字で列ベクトル𝒂𝟏、*を付けて⾏ベクトル𝒂"
∗
、を表現する。
また、右肩にTをつけて転置ベクトル𝒂𝐓や転置⾏列𝑨𝐓を表現する。
𝐴 =
1 4
2 5
3 6
=
1 4
2 5
3 6
=
1 4
2 5
3 6
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 17
= = =
内積(スカラー) Rank1の⾏列
v1 =
1
2
3
𝑥 𝑦 =
𝑥 𝑦
2𝑥 2𝑦
3𝑥 3𝑦
ベクトルの積 – 2つ
1 2 3
𝑥!
𝑥"
𝑥#
=
1
2
3
,
𝑥!
𝑥"
𝑥#
= 𝑥! + 2𝑥" + 3𝑥#
2つの列ベクトル𝒂, 𝒃を𝒂𝒃!
の順に掛けると、⾏
列 (𝐴 = 𝒂𝒃!
) になる。 𝒂, 𝒃どちらも0でなければ、
この⾏列はRankが1になることが分かる。(各
⾏は定数倍であり、各列も定数倍である)
2つの列ベクトルの内積(𝒂 ) 𝒃)は⾏列形
式では、𝒂!
𝒃 と表現され、1つのスカラ
ーになる。
v2
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 18
= = +
⾏列とベクトルの積 – 2つ
𝐴 の⾏ベクトルと列ベクトルの積
(内積)からなる1つの列ベクトル
𝐴 の列ベクトルの線形結合
𝐴𝒙 =
1 2
3 4
5 6
𝑥!
𝑥"
=
(𝑥!+2𝑥")
(3𝑥! + 4𝑥")
(5𝑥! + 6𝑥")
𝐴𝒙 =
1 2
3 4
5 6
𝑥!
𝑥"
= 𝑥!
1
3
5
+ 𝑥"
2
4
6
最初に左を覚えるだろう。しかし、右の⾒⽅ができるようになると、
𝐴𝒙 が𝐴の列ベクトルの線形結合、すなわち、 𝐴の列ベクトル空間 𝐂(𝐴)、
さらに、 𝐴𝒙 = 0 の解がAの零空間 𝐍(𝐴)と読めるようになる。
Mv
1
Mv
2
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 19
⾏列と⾏列の積 – 4つ
=
1 2
3 4
5 6
𝑥" 𝑦"
𝑥# 𝑦#
=
(𝑥"+2𝑥#) (𝑦"+2𝑦#)
(3𝑥"+4𝑥#) (3𝑦"+4𝑦#)
(5𝑥"+6𝑥#) (5𝑦"+6𝑦#)
1 2
3 4
5 6
𝑥" 𝑦"
𝑥# 𝑦#
= 𝐴 𝒙 𝒚 = 𝐴𝒙 𝐴𝒚
= =
結果の各列 𝐴𝒙, 𝐴𝒚 は、それぞれ𝐴 の列ベクトルの線形結合
結果の各要素は、⾏ベクトルと列ベクトルの内積
MM
1
MM
2
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 21
便利な応⽤パターン – 3つ
2 3
=
1 2 3
1 1
=
2
1
+
3
+
2
=
2
1
+
3
+
3
=
2
1
+
3
+
MM
2
Mv
2
右からの操作は、列に作⽤する。
この表現は、右の3つの線形結合を
1つの⾏列表現で表したものだとも
⾔える。
P1
using
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 22
= =
𝐴𝐷 = 𝒂𝟏 𝒂𝟐 𝒂𝟑
𝑑!
𝑑"
𝑑#
= 𝑑!𝒂𝟏 𝑑"𝒂𝟐 𝑑"𝒂𝟐 𝐷𝐵 =
𝑑!
𝑑"
𝑑#
𝒃!
∗
𝒃!
∗
𝒃!
∗
=
𝑑!𝒃!
∗
𝑑!𝒃!
∗
𝑑!𝒃!
∗
対⾓⾏列を右から掛けると各列がスカラー倍 対⾓⾏列を左から掛けると各⾏がスカラー倍
これらを⽬に焼き付けると、さらに、、、、
P1ʼ P2ʼ
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 23
便利な応⽤パターン – 3つ
= + +
𝑈𝛴𝑉* = 𝒖𝟏 𝒖𝟐 𝒖𝟑
𝜎!
𝜎"
𝜎#
𝒗!
*
𝒗"
*
𝒗#
*
= 𝜎!𝒖!𝒗!
* + 𝜎"𝒖"𝒗"
*+ 𝜎#𝒖#𝒗#
*
rank 1⾏列の和 (SVDや対称⾏列のスペクトル分解で活⽤)
P4
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 24
便利な応⽤パターン – 3つ
𝐴 = 𝐶𝑅
𝐴 = 𝐿𝑈
𝐴 = 𝑄𝑅
𝑆 = 𝑄Λ𝑄!
𝐴 = 𝑈Σ𝑉!
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 25
独⽴列⾏列と⾏簡約⾏列の積
(⾏ランク=列ランクを⽰す)
LU分解=ガウスの消去法
QR分解=Gram-Schmidtの直⾏化
対称⾏列の固有値分解
どんな⻑⽅⾏列にも使える
特異値分解
⾏列の有名分解 – 5つ
𝐴 = 𝑈Σ𝑉*
𝐴の⾏空間ℝ$
の正規直交基底として𝑉、列空間 ℝ%
の正規直交規定として𝑈をそれぞれうまく取ると、対
⾓化される。これを特異値分解という。さらに、これを rank 1 ⾏列の和に分解できる。
𝐴が⼀般の⻑⽅⾏列の場合でも、特異値分解は必ず可能。
= +
=
1
1
2
2
2 3
1
1
2
P4
using
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 26
𝑈 Σ
𝐴 𝑉* 𝜎! 𝒖𝟏𝒗!
*
𝜎" 𝒖𝟐𝒗"
*
𝑈𝑈* = 𝐼+
𝑉𝑉* = 𝐼,
𝐴 = 𝑈Σ𝑉*=
|
𝒖𝟏
|
|
𝒖𝟐
|
|
𝒖𝟑
|
𝜎!
𝜎"
−𝒗!
* −
−𝒗"
* −
=𝜎!
|
𝒖𝟏
|
− 𝒗!
*
− + 𝜎"
|
𝒖𝟐
|
− 𝒗"
*
−
= 𝜎!𝒖𝟏𝒗!
* + 𝜎"𝒖𝟐𝒗"
*
PCAとは⾏と列が反対であることに注意︕
SVDの応⽤からの理解︓ eigenface
Washington ⼤学の Steve Brunton 先⽣の YouTube チャネル
にて、120回以上の動画で詳しくこの本の中について解説されて
いる。その中の、eigenface の回をご紹介。
Databookuw.com
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang
Eigenfaces – Yale B Dataset
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 28
256値×32K 画素×64枚× 36⼈、から、特異値ベクトルを抽出
Eigenfaces – Yale B Dataset
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 29
256値×32K 画素×64枚× 36⼈、から、特異値ベクトルを抽出
最初の 64 eigenfaces(ちょっと怖い…)
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 30
⾏列の意味(データとしてみる)
2. ℝ! のデータセットが𝑛列と⾒る。
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 32
𝑎!, 𝑎", … , 𝑎# ∈ ℝ$ m次元列ベクトルのデータ
𝑢!, 𝑢", … , 𝑢$ ∈ ℝ$ m次元列ベクトルの底
|
𝒂𝟏
|
|
𝒂𝟐
|
|
𝒂𝟑
|
=
|
𝒆𝟏
|
|
𝒆𝟐
|
|
𝒆𝟑
|
1 0 1
2
3
1
1
3
4
2 3
=
1
2 3
1
1
=
2
1
+
3
+
2
=
2
1
+
3
+
3
=
2
1
+
3
+
P1
𝒂𝟏 = 𝒖𝟏, 𝒂𝟐 = 𝒖𝟐, 𝒂𝟐 = 𝒖𝟏 + 𝒖𝟐
|
𝒂𝟏
|
|
𝒂𝟐
|
|
𝒂𝟑
|
=
|
𝒖𝟏
|
|
𝒖𝟐
|
|
𝒖𝟑
|
1 0 1
0
0
1
0
1
0
新しい基底(u1,u2,u3)の線形結合として各列を表す
通常の基底(e1,e2,e3)の線形結合として各列を表す 基底
この基底での「座標」
もしくは「成分」が
縦に並ぶ。
各データベクトル
𝑨 =
1 0 1
2
3
1
1
3
4
フーリエ変換等でもデータ圧縮可能
だが、SVDではデータ駆動で(デー
タ全体を⾒てから)有効な底を決め
る。
PCAとは⾏と列が反対であることに注意︕
特異値/特異ベクトル
1. 𝑛個の ℝ! のデータセットと⾒る。
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 35
2 3
1
2 3
1 1
=
2
1
+
3
+
2
=
2
1
+
3
+
3
=
2
1
+
3
+
新基底
各データベクトル
(各⾃の顔データ)
2 3
1
=
=
新基底
(eigen face)
𝐴 = 𝑈Σ𝑉*
𝐴 =
|
𝒖𝟏
|
|
𝒖𝟐
|
|
𝒖𝟑
|
𝜎!
𝜎"
𝜎#
−𝒗!
*
−
−𝒗"
* −
−𝒗#
*
−
𝐴 𝑉%
𝑈 Σ (Σ𝑉%)
𝑈
=
=
A	の各列(face)は、新基底(eigenface)の線形結合。
A	全体の中での信号の強さが特異値。
データごとの
Mixture(Vの⾏)
信号の強さ
(特異値)
新基底での座標
(各⾃の顔の成分)
新基底での座標
(各⾃の顔の成分)
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 39
顔データを元よりも少数
次元の基底によって復元
する。
基底は、U を特異値の⼩
さい⽅を削除ししまった
近似。
このU平⾯に新しい顔を
射影し、その座標(少数)
をαという。このαを使っ
て、新しい顔を表現する。
(データ圧縮)
顔を次元を順次増
やして復元。
効率は良くないが、
⽝も表現できるよ。
(だいぶ怖い)
参照⽂献と
謝辞
• Linear Algebra for Everyone
(⽇本語 来年)
http://math.mit.edu/everyone/
• MIT OpenCourseWare 18.06
http://web.mit.edu/18.06/www/vi
deos.shtml
• A 2020 Vision of Linear Algebra
https://ocw.mit.edu/resources/res
-18-010-a-2020-vision-of-linear-
algebra-spring-2020/
• マトリックスワールド
https://anagileway.com/2020/09/
29/matrix-world-in-linear-algebra-
for-everyone/
• 4つの部分空間 Tシャツ
https://anagileway.com/2020/06/
04/prof-gilbert-strang-linear-
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
40
By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 41
Tシャツ作った!
Thank you for
reading!
Any comments or feedbacks are welcome to:
Kenji Hiranabe (hiranabe@gmail.com)
=
42

More Related Content

What's hot

深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点Taiji Suzuki
 
Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会Taikai Takeda
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceKenji Hiranabe
 
DeepLearning 輪読会 第1章 はじめに
DeepLearning 輪読会 第1章 はじめにDeepLearning 輪読会 第1章 はじめに
DeepLearning 輪読会 第1章 はじめにDeep Learning JP
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」Keisuke Sugawara
 
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial NetworksDeep Learning JP
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成Prunus 1350
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシンShinya Shimizu
 
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック 大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック 西岡 賢一郎
 
正則化項について
正則化項について正則化項について
正則化項についてArata Honda
 
PRML輪読#2
PRML輪読#2PRML輪読#2
PRML輪読#2matsuolab
 
【書きかけ】一般化線形モデルの流れ
【書きかけ】一般化線形モデルの流れ【書きかけ】一般化線形モデルの流れ
【書きかけ】一般化線形モデルの流れTomoshige Nakamura
 
Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由tancoro
 
PRML輪読#4
PRML輪読#4PRML輪読#4
PRML輪読#4matsuolab
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-Shiga University, RIKEN
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)Yasunori Ozaki
 

What's hot (20)

深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 
Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
 
DeepLearning 輪読会 第1章 はじめに
DeepLearning 輪読会 第1章 はじめにDeepLearning 輪読会 第1章 はじめに
DeepLearning 輪読会 第1章 はじめに
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」
 
PRML 第4章
PRML 第4章PRML 第4章
PRML 第4章
 
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
 
PRML 4.1.6-4.2.2
PRML 4.1.6-4.2.2PRML 4.1.6-4.2.2
PRML 4.1.6-4.2.2
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
正準相関分析
正準相関分析正準相関分析
正準相関分析
 
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック 大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
 
正則化項について
正則化項について正則化項について
正則化項について
 
PRML輪読#2
PRML輪読#2PRML輪読#2
PRML輪読#2
 
【書きかけ】一般化線形モデルの流れ
【書きかけ】一般化線形モデルの流れ【書きかけ】一般化線形モデルの流れ
【書きかけ】一般化線形モデルの流れ
 
Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由
 
PRML輪読#4
PRML輪読#4PRML輪読#4
PRML輪読#4
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 

Similar to Math in Machine Learning / PCA and SVD with Applications

線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会Kenji Hiranabe
 
データ解析13 線形判別分析
データ解析13 線形判別分析データ解析13 線形判別分析
データ解析13 線形判別分析Hirotaka Hachiya
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013Shuyo Nakatani
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 
スプラトゥーン2 × 数学(訂正版)
スプラトゥーン2 × 数学(訂正版)スプラトゥーン2 × 数学(訂正版)
スプラトゥーン2 × 数学(訂正版)Takunology
 
行列計算アルゴリズム
行列計算アルゴリズム行列計算アルゴリズム
行列計算アルゴリズムTakuo Tachibana
 
【第34回数学カフェの予習会#1】微分と代数学のつながり
【第34回数学カフェの予習会#1】微分と代数学のつながり【第34回数学カフェの予習会#1】微分と代数学のつながり
【第34回数学カフェの予習会#1】微分と代数学のつながりMathCafe
 
2022年度秋学期 応用数学(解析) 第12回 複素関数論ダイジェスト(1) 複素関数・正則関数 (2022. 12. 15)
2022年度秋学期 応用数学(解析) 第12回 複素関数論ダイジェスト(1) 複素関数・正則関数 (2022. 12. 15) 2022年度秋学期 応用数学(解析) 第12回 複素関数論ダイジェスト(1) 複素関数・正則関数 (2022. 12. 15)
2022年度秋学期 応用数学(解析) 第12回 複素関数論ダイジェスト(1) 複素関数・正則関数 (2022. 12. 15) Akira Asano
 
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へZansa
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)Kensuke Otsuki
 
第1回R勉強会@東京
第1回R勉強会@東京第1回R勉強会@東京
第1回R勉強会@東京Yohei Sato
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章YosukeAkasaka
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Etsuji Nakai
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツShuyo Nakatani
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理Akito Tabira
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Takao Yamanaka
 
Rで実験計画法 後編
Rで実験計画法 後編Rで実験計画法 後編
Rで実験計画法 後編itoyan110
 
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5KazuhiroSato8
 
折り紙と正多角形と三次方程式 数学カフェ #math_cafe
折り紙と正多角形と三次方程式 数学カフェ #math_cafe 折り紙と正多角形と三次方程式 数学カフェ #math_cafe
折り紙と正多角形と三次方程式 数学カフェ #math_cafe Junpei Tsuji
 

Similar to Math in Machine Learning / PCA and SVD with Applications (20)

線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会
 
データ解析13 線形判別分析
データ解析13 線形判別分析データ解析13 線形判別分析
データ解析13 線形判別分析
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
スプラトゥーン2 × 数学(訂正版)
スプラトゥーン2 × 数学(訂正版)スプラトゥーン2 × 数学(訂正版)
スプラトゥーン2 × 数学(訂正版)
 
行列計算アルゴリズム
行列計算アルゴリズム行列計算アルゴリズム
行列計算アルゴリズム
 
【第34回数学カフェの予習会#1】微分と代数学のつながり
【第34回数学カフェの予習会#1】微分と代数学のつながり【第34回数学カフェの予習会#1】微分と代数学のつながり
【第34回数学カフェの予習会#1】微分と代数学のつながり
 
2022年度秋学期 応用数学(解析) 第12回 複素関数論ダイジェスト(1) 複素関数・正則関数 (2022. 12. 15)
2022年度秋学期 応用数学(解析) 第12回 複素関数論ダイジェスト(1) 複素関数・正則関数 (2022. 12. 15) 2022年度秋学期 応用数学(解析) 第12回 複素関数論ダイジェスト(1) 複素関数・正則関数 (2022. 12. 15)
2022年度秋学期 応用数学(解析) 第12回 複素関数論ダイジェスト(1) 複素関数・正則関数 (2022. 12. 15)
 
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
 
第1回R勉強会@東京
第1回R勉強会@東京第1回R勉強会@東京
第1回R勉強会@東京
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
 
Tokyo r7 sem_20100724
Tokyo r7 sem_20100724Tokyo r7 sem_20100724
Tokyo r7 sem_20100724
 
Rで実験計画法 後編
Rで実験計画法 後編Rで実験計画法 後編
Rで実験計画法 後編
 
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5
 
折り紙と正多角形と三次方程式 数学カフェ #math_cafe
折り紙と正多角形と三次方程式 数学カフェ #math_cafe 折り紙と正多角形と三次方程式 数学カフェ #math_cafe
折り紙と正多角形と三次方程式 数学カフェ #math_cafe
 

More from Kenji Hiranabe

effective ba for online communication
effective ba for online communication effective ba for online communication
effective ba for online communication Kenji Hiranabe
 
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyScrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyKenji Hiranabe
 
Appreciating Your Way to XP
Appreciating Your Way to XPAppreciating Your Way to XP
Appreciating Your Way to XPKenji Hiranabe
 
Digital Business and Agile
Digital Business and AgileDigital Business and Agile
Digital Business and AgileKenji Hiranabe
 
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraGraphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraKenji Hiranabe
 
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションwith コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションKenji Hiranabe
 
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Kenji Hiranabe
 
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDKenji Hiranabe
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabeKenji Hiranabe
 
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Kenji Hiranabe
 
Ba and digital here now ness
Ba and digital here now nessBa and digital here now ness
Ba and digital here now nessKenji Hiranabe
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsKenji Hiranabe
 
Modeling in the Agile Age
Modeling in the Agile Age Modeling in the Agile Age
Modeling in the Agile Age Kenji Hiranabe
 
Agile in automotive industry
Agile in automotive industryAgile in automotive industry
Agile in automotive industryKenji Hiranabe
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upKenji Hiranabe
 
5-principles-for-project-facilitation
5-principles-for-project-facilitation5-principles-for-project-facilitation
5-principles-for-project-facilitationKenji Hiranabe
 
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...Kenji Hiranabe
 
デジタルビジネスの潮流とアジャイル開発~ビジネスとエンジニアの協働チームづくり~
デジタルビジネスの潮流とアジャイル開発~ビジネスとエンジニアの協働チームづくり~デジタルビジネスの潮流とアジャイル開発~ビジネスとエンジニアの協働チームづくり~
デジタルビジネスの潮流とアジャイル開発~ビジネスとエンジニアの協働チームづくり~Kenji Hiranabe
 
Mob programming and the power of flow agilejapan 2018
Mob programming and the power of flow agilejapan 2018Mob programming and the power of flow agilejapan 2018
Mob programming and the power of flow agilejapan 2018Kenji Hiranabe
 

More from Kenji Hiranabe (20)

effective ba for online communication
effective ba for online communication effective ba for online communication
effective ba for online communication
 
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyScrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
 
Appreciating Your Way to XP
Appreciating Your Way to XPAppreciating Your Way to XP
Appreciating Your Way to XP
 
Digital Business and Agile
Digital Business and AgileDigital Business and Agile
Digital Business and Agile
 
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraGraphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear Algebra
 
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションwith コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーション
 
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020
 
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDESM Agile Studio DX and COVID
ESM Agile Studio DX and COVID
 
Agile Ba with Covid
Agile Ba with CovidAgile Ba with Covid
Agile Ba with Covid
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabe
 
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020
 
Ba and digital here now ness
Ba and digital here now nessBa and digital here now ness
Ba and digital here now ness
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah models
 
Modeling in the Agile Age
Modeling in the Agile Age Modeling in the Agile Age
Modeling in the Agile Age
 
Agile in automotive industry
Agile in automotive industryAgile in automotive industry
Agile in automotive industry
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
 
5-principles-for-project-facilitation
5-principles-for-project-facilitation5-principles-for-project-facilitation
5-principles-for-project-facilitation
 
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...
Nonaka Scrum - The New New Product Development Game, SECI model, The US Marin...
 
デジタルビジネスの潮流とアジャイル開発~ビジネスとエンジニアの協働チームづくり~
デジタルビジネスの潮流とアジャイル開発~ビジネスとエンジニアの協働チームづくり~デジタルビジネスの潮流とアジャイル開発~ビジネスとエンジニアの協働チームづくり~
デジタルビジネスの潮流とアジャイル開発~ビジネスとエンジニアの協働チームづくり~
 
Mob programming and the power of flow agilejapan 2018
Mob programming and the power of flow agilejapan 2018Mob programming and the power of flow agilejapan 2018
Mob programming and the power of flow agilejapan 2018
 

Math in Machine Learning / PCA and SVD with Applications

  • 2. 機械学習の数学(とくに PCA/SVD 周辺) ● 全体像(数学・プログラミング・ML周辺) ● 機械学習の種類のおさらい ● その中で,今⽇の話の道筋 ● PCA の簡単な例 ● 裏の数学 ● おもしろい応⽤
  • 4. 基礎数学 定番ライブラリ 解析(微積分) 線形代数 確率・統計 フーリエ解析(FFT/DFT) ベイズ推定 特異値分解(SVD)/主成分分析(PCA) 活性化関数 勾配降下 逆伝播 畳込み 最適化数学 凸最適 線形計画 Python MATLAB R Juia Numpy SciPy Pandas matplotlib scikit-learn 言語 数値演算 表データ 可視化 機械学習種々 XGboost CatBoost アンサンブル 視覚認識 推奨/構造 翻訳/テキスト スピーチ/会話 Google(Cloud ML Engin) AWS サービス https://aws.amazon.com/jp/machine-learning/ai-services/ Microsoft もっといっぱい! 分類 目的 用途 クラスタリング 回帰 パターン抽出 推奨 顧客分類 不正検知 未来予測 次元削減 構造発見 3社のサービス比較 https://atmarkit.itmedia.co.jp/ait/articles/2006/22/news020.html https://drive.mindmup.com/map/1r mfFeOarvJzVE_ZrhSj5OnKIwR5P uONX このあたりの手法 のマインドマップ seaborn
  • 6.
  • 11. これは何? • Gilbert Strang 著 『Linear Algebra for Everyone』 は線形代数を直感理解するのに とてもいい本です。 • 定理と証明の連鎖ではなく、マトリックス語法と例⽰で直感的な理解と実⽤的な 応⽤法を得ることができます。 • YouTube の MIT Open Courseware、 先⽣の講義プレイリストである 18.06 と 18.065 には、200万⼈の購読者がいます。(ぼくもその⼀⼈です) • この本のハイライトは、 • AB=C の4つの⾒⽅ • 基本的な4つの部分空間 • 5つのマトリックス分解 • 通常の線形代数の教科書はジョルダン標準形がクライマックスですが、この 本では、SVD です。そして、 • 機械学習を含むデータサイエンスへの⼊⾨につながっています。 • この1と2のコンセプトをグラフィック表現できないか、というアイディアです。 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 11 1 2
  • 12. 5つの行列分解 𝐴 = 𝐶𝑅 𝐴 = 𝐿𝑈 𝐴 = 𝑄𝑅 𝑆 = 𝑄Λ𝑄! 𝐴 = 𝑈Σ𝑉! By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 12 独⽴列⾏列と⾏簡約⾏列の積 (⾏ランク=列ランクを⽰す) LU分解=ガウスの消去法 QR分解=Gram-Schmidtの直⾏化 対称⾏列の固有値分解 どんな⻑⽅⾏列にも使える 特異値分解
  • 13. = = = 3つの数からなる 2つの列ベクトル 2つの数からなる 3つの⾏ベクトル 6つの数 1 つの⾏列 ⾏列の⾒⽅ – 4つ 𝐴 = 𝑎!!𝑎!" 𝑎"!𝑎"" 𝑎#!𝑎#" = | 𝒂𝟏 | | 𝒂𝟐 | = −𝒂! ∗ − −𝒂" ∗ − −𝒂# ∗ − 以降、太字で列ベクトル𝒂𝟏、*を付けて⾏ベクトル𝒂" ∗ 、を表現する。 また、右肩にTをつけて転置ベクトル𝒂𝐓や転置⾏列𝑨𝐓を表現する。 𝐴 = 1 4 2 5 3 6 = 1 4 2 5 3 6 = 1 4 2 5 3 6 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 17
  • 14. = = = 内積(スカラー) Rank1の⾏列 v1 = 1 2 3 𝑥 𝑦 = 𝑥 𝑦 2𝑥 2𝑦 3𝑥 3𝑦 ベクトルの積 – 2つ 1 2 3 𝑥! 𝑥" 𝑥# = 1 2 3 , 𝑥! 𝑥" 𝑥# = 𝑥! + 2𝑥" + 3𝑥# 2つの列ベクトル𝒂, 𝒃を𝒂𝒃! の順に掛けると、⾏ 列 (𝐴 = 𝒂𝒃! ) になる。 𝒂, 𝒃どちらも0でなければ、 この⾏列はRankが1になることが分かる。(各 ⾏は定数倍であり、各列も定数倍である) 2つの列ベクトルの内積(𝒂 ) 𝒃)は⾏列形 式では、𝒂! 𝒃 と表現され、1つのスカラ ーになる。 v2 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 18
  • 15. = = + ⾏列とベクトルの積 – 2つ 𝐴 の⾏ベクトルと列ベクトルの積 (内積)からなる1つの列ベクトル 𝐴 の列ベクトルの線形結合 𝐴𝒙 = 1 2 3 4 5 6 𝑥! 𝑥" = (𝑥!+2𝑥") (3𝑥! + 4𝑥") (5𝑥! + 6𝑥") 𝐴𝒙 = 1 2 3 4 5 6 𝑥! 𝑥" = 𝑥! 1 3 5 + 𝑥" 2 4 6 最初に左を覚えるだろう。しかし、右の⾒⽅ができるようになると、 𝐴𝒙 が𝐴の列ベクトルの線形結合、すなわち、 𝐴の列ベクトル空間 𝐂(𝐴)、 さらに、 𝐴𝒙 = 0 の解がAの零空間 𝐍(𝐴)と読めるようになる。 Mv 1 Mv 2 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 19
  • 16.
  • 17. ⾏列と⾏列の積 – 4つ = 1 2 3 4 5 6 𝑥" 𝑦" 𝑥# 𝑦# = (𝑥"+2𝑥#) (𝑦"+2𝑦#) (3𝑥"+4𝑥#) (3𝑦"+4𝑦#) (5𝑥"+6𝑥#) (5𝑦"+6𝑦#) 1 2 3 4 5 6 𝑥" 𝑦" 𝑥# 𝑦# = 𝐴 𝒙 𝒚 = 𝐴𝒙 𝐴𝒚 = = 結果の各列 𝐴𝒙, 𝐴𝒚 は、それぞれ𝐴 の列ベクトルの線形結合 結果の各要素は、⾏ベクトルと列ベクトルの内積 MM 1 MM 2 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 21
  • 18. 便利な応⽤パターン – 3つ 2 3 = 1 2 3 1 1 = 2 1 + 3 + 2 = 2 1 + 3 + 3 = 2 1 + 3 + MM 2 Mv 2 右からの操作は、列に作⽤する。 この表現は、右の3つの線形結合を 1つの⾏列表現で表したものだとも ⾔える。 P1 using By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 22
  • 19. = = 𝐴𝐷 = 𝒂𝟏 𝒂𝟐 𝒂𝟑 𝑑! 𝑑" 𝑑# = 𝑑!𝒂𝟏 𝑑"𝒂𝟐 𝑑"𝒂𝟐 𝐷𝐵 = 𝑑! 𝑑" 𝑑# 𝒃! ∗ 𝒃! ∗ 𝒃! ∗ = 𝑑!𝒃! ∗ 𝑑!𝒃! ∗ 𝑑!𝒃! ∗ 対⾓⾏列を右から掛けると各列がスカラー倍 対⾓⾏列を左から掛けると各⾏がスカラー倍 これらを⽬に焼き付けると、さらに、、、、 P1ʼ P2ʼ By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 23 便利な応⽤パターン – 3つ
  • 20. = + + 𝑈𝛴𝑉* = 𝒖𝟏 𝒖𝟐 𝒖𝟑 𝜎! 𝜎" 𝜎# 𝒗! * 𝒗" * 𝒗# * = 𝜎!𝒖!𝒗! * + 𝜎"𝒖"𝒗" *+ 𝜎#𝒖#𝒗# * rank 1⾏列の和 (SVDや対称⾏列のスペクトル分解で活⽤) P4 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 24 便利な応⽤パターン – 3つ
  • 21. 𝐴 = 𝐶𝑅 𝐴 = 𝐿𝑈 𝐴 = 𝑄𝑅 𝑆 = 𝑄Λ𝑄! 𝐴 = 𝑈Σ𝑉! By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 25 独⽴列⾏列と⾏簡約⾏列の積 (⾏ランク=列ランクを⽰す) LU分解=ガウスの消去法 QR分解=Gram-Schmidtの直⾏化 対称⾏列の固有値分解 どんな⻑⽅⾏列にも使える 特異値分解 ⾏列の有名分解 – 5つ
  • 22. 𝐴 = 𝑈Σ𝑉* 𝐴の⾏空間ℝ$ の正規直交基底として𝑉、列空間 ℝ% の正規直交規定として𝑈をそれぞれうまく取ると、対 ⾓化される。これを特異値分解という。さらに、これを rank 1 ⾏列の和に分解できる。 𝐴が⼀般の⻑⽅⾏列の場合でも、特異値分解は必ず可能。 = + = 1 1 2 2 2 3 1 1 2 P4 using By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 26 𝑈 Σ 𝐴 𝑉* 𝜎! 𝒖𝟏𝒗! * 𝜎" 𝒖𝟐𝒗" * 𝑈𝑈* = 𝐼+ 𝑉𝑉* = 𝐼, 𝐴 = 𝑈Σ𝑉*= | 𝒖𝟏 | | 𝒖𝟐 | | 𝒖𝟑 | 𝜎! 𝜎" −𝒗! * − −𝒗" * − =𝜎! | 𝒖𝟏 | − 𝒗! * − + 𝜎" | 𝒖𝟐 | − 𝒗" * − = 𝜎!𝒖𝟏𝒗! * + 𝜎"𝒖𝟐𝒗" * PCAとは⾏と列が反対であることに注意︕
  • 23. SVDの応⽤からの理解︓ eigenface Washington ⼤学の Steve Brunton 先⽣の YouTube チャネル にて、120回以上の動画で詳しくこの本の中について解説されて いる。その中の、eigenface の回をご紹介。 Databookuw.com By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang
  • 24. Eigenfaces – Yale B Dataset By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 28 256値×32K 画素×64枚× 36⼈、から、特異値ベクトルを抽出
  • 25. Eigenfaces – Yale B Dataset By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 29 256値×32K 画素×64枚× 36⼈、から、特異値ベクトルを抽出
  • 26. 最初の 64 eigenfaces(ちょっと怖い…) By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 30
  • 27. ⾏列の意味(データとしてみる) 2. ℝ! のデータセットが𝑛列と⾒る。 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 32 𝑎!, 𝑎", … , 𝑎# ∈ ℝ$ m次元列ベクトルのデータ 𝑢!, 𝑢", … , 𝑢$ ∈ ℝ$ m次元列ベクトルの底 | 𝒂𝟏 | | 𝒂𝟐 | | 𝒂𝟑 | = | 𝒆𝟏 | | 𝒆𝟐 | | 𝒆𝟑 | 1 0 1 2 3 1 1 3 4 2 3 = 1 2 3 1 1 = 2 1 + 3 + 2 = 2 1 + 3 + 3 = 2 1 + 3 + P1 𝒂𝟏 = 𝒖𝟏, 𝒂𝟐 = 𝒖𝟐, 𝒂𝟐 = 𝒖𝟏 + 𝒖𝟐 | 𝒂𝟏 | | 𝒂𝟐 | | 𝒂𝟑 | = | 𝒖𝟏 | | 𝒖𝟐 | | 𝒖𝟑 | 1 0 1 0 0 1 0 1 0 新しい基底(u1,u2,u3)の線形結合として各列を表す 通常の基底(e1,e2,e3)の線形結合として各列を表す 基底 この基底での「座標」 もしくは「成分」が 縦に並ぶ。 各データベクトル 𝑨 = 1 0 1 2 3 1 1 3 4 フーリエ変換等でもデータ圧縮可能 だが、SVDではデータ駆動で(デー タ全体を⾒てから)有効な底を決め る。 PCAとは⾏と列が反対であることに注意︕
  • 28. 特異値/特異ベクトル 1. 𝑛個の ℝ! のデータセットと⾒る。 By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 35 2 3 1 2 3 1 1 = 2 1 + 3 + 2 = 2 1 + 3 + 3 = 2 1 + 3 + 新基底 各データベクトル (各⾃の顔データ) 2 3 1 = = 新基底 (eigen face) 𝐴 = 𝑈Σ𝑉* 𝐴 = | 𝒖𝟏 | | 𝒖𝟐 | | 𝒖𝟑 | 𝜎! 𝜎" 𝜎# −𝒗! * − −𝒗" * − −𝒗# * − 𝐴 𝑉% 𝑈 Σ (Σ𝑉%) 𝑈 = = A の各列(face)は、新基底(eigenface)の線形結合。 A 全体の中での信号の強さが特異値。 データごとの Mixture(Vの⾏) 信号の強さ (特異値) 新基底での座標 (各⾃の顔の成分) 新基底での座標 (各⾃の顔の成分)
  • 29.
  • 30.
  • 31.
  • 32. By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 39 顔データを元よりも少数 次元の基底によって復元 する。 基底は、U を特異値の⼩ さい⽅を削除ししまった 近似。 このU平⾯に新しい顔を 射影し、その座標(少数) をαという。このαを使っ て、新しい顔を表現する。 (データ圧縮) 顔を次元を順次増 やして復元。 効率は良くないが、 ⽝も表現できるよ。 (だいぶ怖い)
  • 33. 参照⽂献と 謝辞 • Linear Algebra for Everyone (⽇本語 来年) http://math.mit.edu/everyone/ • MIT OpenCourseWare 18.06 http://web.mit.edu/18.06/www/vi deos.shtml • A 2020 Vision of Linear Algebra https://ocw.mit.edu/resources/res -18-010-a-2020-vision-of-linear- algebra-spring-2020/ • マトリックスワールド https://anagileway.com/2020/09/ 29/matrix-world-in-linear-algebra- for-everyone/ • 4つの部分空間 Tシャツ https://anagileway.com/2020/06/ 04/prof-gilbert-strang-linear- 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 40
  • 34. By Kenji Hiranabe with the kindest help of Prof. Gilbert Strang 41 Tシャツ作った!
  • 35. Thank you for reading! Any comments or feedbacks are welcome to: Kenji Hiranabe (hiranabe@gmail.com) = 42