Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
主成分分析(PCA)の仕組み
Search
K_DM
January 15, 2022
Education
0
190
主成分分析(PCA)の仕組み
K_DM
January 15, 2022
Tweet
Share
More Decks by K_DM
See All by K_DM
X-meansの仕組み
k_study
0
1.9k
勾配ブースティングの仕組み
k_study
0
100
k-meansクラスタリングの仕組み
k_study
0
240
決定木を使った回帰の仕組み
k_study
0
220
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
92
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
660
線形回帰② 正則化と過学習
k_study
0
530
外れ値とHuber(フーバー)損失
k_study
0
1.1k
木構造1~決定木の仕組み(分類)
k_study
0
160
Other Decks in Education
See All in Education
Node-REDで広がるプログラミング教育の可能性
ueponx
0
180
2024-2025 CBT top items
cbtlibrary
0
140
Design Guidelines and Models - Lecture 5 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.1k
中間活動報告会 人材育成WG・技術サブWG / 20250808-oidfj-eduWG-techSWG
oidfj
0
800
HTML5 and the Open Web Platform - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
2
3.1k
QR-koodit opetuksessa
matleenalaakso
0
1.7k
相互コミュニケーションの難しさ
masakiokuda
0
300
子どもが自立した学習者となるデジタルの活用について
naokikato
PRO
0
130
Web Application Frameworks - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
H5P-työkalut
matleenalaakso
4
40k
ÉTICA, INCLUSIÓN, EDUCACIÓN INTEGRAL Y NEURODERECHOS EN EL CONTEXTO DEL NEUROMANAGEMENT
jvpcubias
0
130
Презентация "Знаю Россию"
spilsart
0
310
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7.2k
4 Signs Your Business is Dying
shpigford
186
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Site-Speed That Sticks
csswizardry
13
950
Mobile First: as difficult as doing things right
swwweet
225
10k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Designing Experiences People Love
moore
142
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Unsuck your backbone
ammeep
671
58k
Transcript
次元削減1 次元削減1 主成分分析 主成分分析 作成者:K (リンク)
『次元削減』で説明する項目 PCA・ICA・CCA など
今回の内容 •「教師なし学習」のおさらい •「次元削減」とは •主成分分析 •アルゴリズム •実験 •まとめ PCA(主成分分析)について説明します
教師なし学習 教師データ無しでデータの中の構造を見つける データ は与えられている が、正解データ は無い =教師なし学習 X y ڭࢣͳֶ͠शʢ͖ΐ͏͠ͳ͕͘͠͠Ύ͏,
ӳ: Unsupervised Learningʣͱɺػցֶशͷख๏ͷҰ ͭͰ͋Δɻʮग़ྗ͖͢ͷʯ͕͋Β͔͡Ίܾ·͍ͬͯͳ͍ͱ͍͏Ͱڭࢣ͋Γֶशͱେ͖͘ҟ ͳΔɻσʔλͷഎޙʹଘࡏ͢Δຊ࣭తͳߏΛநग़͢ΔͨΊʹ༻͍ΒΕΔɻ ग़యɿhttps://ja.wikipedia.org/wiki/ڭࢣͳֶ͠श
次元削減とは たくさんある特徴をより少ない数値で表現する 例:ボディマス指数 BMI = 体重[kg] / (身長[m]) × (身長[m])
→体重と身長というデータをBMIと呼ばれる一つの数値で表している
次元削減とは たくさんある特徴をより少ない数値で表現する 例:ボディマス指数 BMI = 体重[kg] / (身長[m]) × (身長[m])
→体重と身長というデータをBMIと呼ばれる一つの数値で表している 手元にあるデータに対して、いい感じに次元削減して データを表現する方法はないだろうか? ㅟ ㅟ ㅟ ㅟ
PCA(主成分分析) データのばらつきを表現できる軸を見つける手法 ओੳʢ͠Ύ͍ͤͿΜͿΜ͖ͤɺӳ: principal component analysis; PCAʣɺ૬ؔͷ͋Δଟ ͷม͔Β૬ؔͷͳ͍গͰશମͷΒ͖ͭΛ࠷Α͘ද͢ओͱݺΕΔมΛ߹͢Δଟม ྔղੳͷҰख๏ɻ ग़యɿhttps://ja.wikipedia.org/wiki/ओੳ
✕✕ ✕ ✕ ✕ ✕ ✕ 第一主成分
PCA(主成分分析) 二次元の座標のデータを一次元で表現してみる
PCA(主成分分析) 二次元の座標のデータを一次元で表現してみる ✕✕ ✕ ✕ ✕ ✕ ✕ ✕ ✕
✕ ✕ ✕ ✕ ✕
PCA(主成分分析) 二次元の座標のデータを一次元で表現してみる ✕✕ ✕ ✕ ✕ ✕ ✕ ✕ ✕
✕ ✕ ✕ ✕ ✕ 分散が少ない = 情報の損失が多い 分散が大きい = 情報が残っている データを射影した時に分散が最大になるような軸を探せばいい
実際に分散が最大になるような軸を見つけてみる 3つのデータをまとめた行列 X = x1,1 x1,2 x2,1 x2,2 x3,1 x3,2
実際に分散が最大になるような軸を見つけてみる ✕ ✕ ✕ ✕ ✕ ✕ e e x1
x2 x3 x3 ·e 分散が最大 → が最大 → が最大 → が最大 → が最大となる を見つければ良い (x1 ·e)2 + (x2 ·e)2 + (x3 ·e)2 (Xe)T(Xe) eT(XTX)e/3 eTΣe e
実際に分散が最大になるような軸を見つけてみる ✕ ✕ ✕ e x3 ·e 分散が最大 → が最大
→ が最大 → が最大 → が最大となる を見つければ良い (x1 ·e)2 + (x2 ·e)2 + (x3 ·e)2 (Xe)T(Xe) eT(XTX)/3 eTΣe e の直線であり という制約をつける ↓ 「制約がある中で分散の式を最大にする」 という問題になる。 ↓ ラグランジュの未定乗数法で解ける! e = αx + βy α2 + β2 = 1
ラグランジュの未定乗数法を適用する L(ex , ey , λ) = eTΣe − λ(α2
+ β2 − 1) ∂L(ex , ey , λ) ∂α = (1 0) Σ ( α β) + (α β) ΣT ( 1 0) − 2λα = 0 ∂L(ex , ey , λ) ∂β = (0 1) Σ ( α β) + (α β) ΣT ( 0 1) − 2λβ = 0 Σ ( α β) = λ ( α β) となるような が求まれば、 分散を最大にする軸 が求まる! α, β e
ラグランジュの未定乗数法を適用する Σ ( α β) = λ ( α β)
となるような が求まれば、 分散を最大にする軸 が求まる! α, β e 分散が最大になるような軸を見つけたいならば、 の最大固有値の固有ベクトルを求めればよい Σ ※ は分散共分散行列と呼ばれる行列 Σ = (XTX)/3 分散が最大 → が最大 → が最大 → が最大 → が最大となる を見つければ良い (x1 ·e)2 + (x2 ·e)2 + (x3 ·e)2 (Xe)T(Xe) eT(XTX)/3 eTΣe e 上の式を に代入すると となることがわかる eTΣe eTΣe = λ
PCA(主成分分析) データのばらつきを表現できる軸を見つける手法 ✕✕ ✕ ✕ ✕ ✕ ✕ 第一主成分 •第一主成分を求めるには、分散共分散行列の最大固有値の固有ベクトルを求める
•データ前処理がこの計算に影響を与えるかどうか意識する必要がある
実験!
3次元のデータを二次元にして 散布図で可視化します https://k-datamining.github.io/dm-book/data-analysis/materials/dimensionality_reduction/PCA.html
まとめ 主成分分析について説明しました •主成分分析(PCA)とは、次元削減をする教師なし学習手法のひとつ •主に高次元のデータを可視化する時に使うことができる •分散が最大になる方向が最も情報の損失が少ない方向 •分散共分散行列の固有ベクトルを求めることで、主成分方向が求まる •PCAで次元削減して可視化をする時は、データ前処理がPCAの計算にどのような影響 を与えるか考える
参考文献 •鈴木大慈, データ解析 第七回「主成分分析」http://ibis.t.u-tokyo.ac.jp/suzuki/ lecture/2015/dataanalysis/L7.pdf •sklearn.decomposition.PCA — scikit-learn 1.0.2 documentation