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
はじめてのパターン認識読書会 #11 部分空間法
Search
KOMIYA Atsushi
February 04, 2014
Technology
1
790
はじめてのパターン認識読書会 #11 部分空間法
KOMIYA Atsushi
February 04, 2014
Tweet
Share
More Decks by KOMIYA Atsushi
See All by KOMIYA Atsushi
#JJUG Java における乱数生成器とのつき合い方
komiya_atsushi
5
4.8k
#JJUG Fork/Join フレームワークを効率的に正しく使いたい
komiya_atsushi
0
400
[#JSUG] SmartNews における container friendly な Spring Boot アプリケーション開発
komiya_atsushi
1
11k
Java のデータ圧縮ライブラリを極める #jjug_ccc #ccc_c7
komiya_atsushi
4
4.1k
#devsumi 自然言語処理・機械学習によるファクトチェック業務の支援
komiya_atsushi
1
4k
SmartNews Ads における機械学習の活用とその運用 #mlops
komiya_atsushi
3
19k
GBDT によるクリック率予測を高速化したい #オレシカナイト vol.4
komiya_atsushi
5
1.2k
Maven central repository の artifact をランキングする #渋谷java
komiya_atsushi
0
1.1k
確率的データ構造を Java で扱いたい! #JJUG
komiya_atsushi
6
2.1k
Other Decks in Technology
See All in Technology
任意コード実行の原理
ffri
0
170
Vos logs méritent mieux que la config par défaut
lyrixx
2
340
HoneycombとOpenTelemetryでオブザーバビリティに入門してみる
sumiren
2
150
Autify Company Deck
autifyhq
1
30k
Azureコストは水道代/The_47th_Tokyo_Jazug
aeonpeople
3
360
BDD(Cucumber)コミュニティが無料提供しているコンテンツの紹介と現在起きている危機
nihonbuson
4
730
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
140
Evolutionary Optimization of Model Merging Recipes
fuyu_quant0
3
520
ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
yuitosato
29
12k
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
170
現実世界の事象から学ぶSOLID原則
h0r15h0
24
10k
大規模データとの戦い方
knih
1
460
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
644
57k
Infographics Made Easy
chrislema
237
18k
How GitHub Uses GitHub to Build GitHub
holman
467
290k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Scaling GitHub
holman
456
140k
Adopting Sorbet at Scale
ufuk
66
8.5k
What the flash - Photography Introduction
edds
64
11k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
GraphQLの誤解/rethinking-graphql
sonatard
48
9.1k
Atom: Resistance is Futile
akmur
258
25k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Transcript
はじめての パターン認識 読書会 #11 Chap.9 部分空間法 KOMIYA Atsushi (@komiya_atsushi )
2014.2.4 http://connpass.com/event/4978/
by Allert Aalders http://www.flickr.com/photos/50553647@N00/424644321/ 今日は 「9.1 部分空間」 「9.2 主成分分析」 の発表です
2
数式の解説は 難しいので 諦めました すみません>< 3
by ume-y http://www.flickr.com/photos/29989965@N00/2881945138/ 部分空間 の定義的なもの 4
部分空間をざっくり説明すると… • 次元ベクトル空間 の部分空間とは、 上にある 個 ( ≤ ) の
1 次独立な ベクトル 1 , 2 , … , を1次結合するこ とで表現されるベクトルすべての集合で ある 5
部分空間をざっくり説明すると… • 次元ベクトル空間 の部分空間とは、 上にある 個 ( ≤ ) の
1 次独立な ベクトル 1 , 2 , … , を1次結合するこ とで表現されるベクトルすべての集合で ある 6
部分空間:もう少しわかりやすく •3 次元のベクトル空間 で考えてみよう • 1 次従属じゃない、すなわち 1 次独立 な
3 個以下の ベクトルを用意します • 1 = 3,1,0 , 2 = (0,2,1) • 1 = 2 を満たすような実数 はないよね? → 一次独立 • 1 , 2 のベクトルを 1 次結合して得られるすべてのベク トルを考える • = 1 1 + 2 2 • 1 , 2 は実数とする • このベクトル が属する集合を の部分空間 という • = 1 1 + 2 2 1 ∈ , 2 ∈ } • は実数の集合を表す 7
部分空間:もう少しわかりやすく •3 次元のベクトル空間 で考えてみよう • 1 次従属じゃない、すなわち 1 次独立 な
3 個以下の ベクトルを用意します • 1 = 3,1,0 , 2 = (0,2,1) • 1 = 2 を満たすような実数 はないよね? → 一次独立 • 1 , 2 のベクトルを 1 次結合して得られるすべてのベク トルを考える • = 1 1 + 2 2 • 1 , 2 は実数とする • このベクトル が属する集合を の部分空間 という • = 1 1 + 2 2 1 ∈ , 2 ∈ } • は実数の集合を表す 8
部分空間:もう少しわかりやすく •3 次元のベクトル空間 で考えてみよう • 1 次従属じゃない、すなわち 1 次独立 な
3 個以下の ベクトルを用意します • 1 = 3,1,0 , 2 = (0,2,1) • 1 = 2 を満たすような実数 はないよね? → 一次独立 • 1 , 2 のベクトルを 1 次結合して得られるすべてのベク トルを考える • = 1 1 + 2 2 • 1 , 2 は実数とする • このベクトル が属する集合を の部分空間 という • = 1 1 + 2 2 1 ∈ , 2 ∈ } • は実数の集合を表す 9
部分空間:さらにわかりやすく(?) 2 次元平面で考えてみよう! 10
部分空間:さらにわかりやすく(?) = 1,2 2 次元平面で考えてみよう! 11
部分空間:さらにわかりやすく(?) = 1,2 2 次元平面で考えてみよう! このベクトルで 表現できる 部分空間は…? 12
部分空間:さらにわかりやすく(?) = 1,2 = = 1,2 2 次元平面で考えてみよう! このベクトルで 表現できる
部分空間は…? 13
部分空間:乱暴に言うと… • 上のベクトルを幾つか( の次元数以 下に抑えつつ)選び、その選んだベクト ルだけで他のベクトルを表現しようぜ、 みたいな? 14
部分空間:乱暴に言うと… • 上のベクトルを幾つか( の次元数以 下に抑えつつ)選び、その選んだベクト ルだけで他のベクトルを表現しようぜ、 みたいな? 15
部分空間 と直行している部分空間 ⊥ 16
部分空間 と直行している部分空間 ⊥ W に直行してい る部分空間 ⊥ 17
部分空間 と直行している部分空間 ⊥ W に直行してい る部分空間 ⊥ 18
部分空間 と直行している部分空間 ⊥ W に直行してい る部分空間 ⊥ 19
部分空間 と直行している部分空間 ⊥ W に直行してい る部分空間 ⊥ ⊥ 20
部分空間 と直行している部分空間 ⊥ W に直行してい る部分空間 ⊥ ⊥ = +
⊥ 21
グラム-シュミットの正規直交化 •すみません割愛します・・・ 22
by Digital Archaeology http://www.flickr.com/photos/54899285@N06/8392517937/ 主成分分析 23
たぶん今日のメイントピック •どんなものなのか? •どのように使うのか? •どのように求めるのか? 24
主成分分析:どんなものなのか? •「学習データの分散が最大になる方向へ の線形変換を求める手法である」 •「データの無相関化と同じこと」 25
主成分分析:どんなものなのか? •「学習データの分散が最大になる方向へ の線形変換を求める手法である」 •「データの無相関化と同じこと」 26
主成分分析:どのように使うのか? •※勝手な想像が多分に入り混じってます •分析対象のデータの概要・傾向を知るため • 次元数 – 1 個の総合指標を算出するイメージ • 単変量解析
→ 2 変量解析の後ぐらいに実施? •たくさんある説明変数 (=高次元) を削減 するため • 説明変数そのものを削減するのではない • さして影響を与えない(寄与率の低い)総合 指標を削る •むしろ皆様の使い方をお聞かせ下さい… 27
主成分分析:どのように使うのか? •※勝手な想像が多分に入り混じってます •分析対象のデータの概要・傾向を知るため • 次元数 – 1 個の総合指標を算出するイメージ • 単変量解析
→ 2 変量解析の後ぐらいに実施? •たくさんある説明変数 (=高次元) を削減 するため • 説明変数そのものを削減するのではない • さして影響を与えない(寄与率の低い)総合 指標を削る •むしろ皆様の使い方をお聞かせ下さい… 28
主成分分析:どのように使うのか? •※勝手な想像が多分に入り混じってます •分析対象のデータの概要・傾向を知るため • 次元数 – 1 個の総合指標を算出するイメージ • 単変量解析
→ 2 変量解析の後ぐらいに実施? •たくさんある説明変数 (=高次元) を削減 するため • 説明変数そのものを削減するのではない • さして影響を与えない(寄与率の低い)総合 指標を削る •むしろ皆様の使い方をお聞かせ下さい… 29
主成分分析:より具体的な使い方 •http://markezine.jp/article/detail/16870 30
主成分分析:どのように求めるのか? •共共分散行列を求める •分散行列の固有値問題を解く •d 個の固有値と固有ベクトルが得られる •固有ベクトルを使い、主成分を計算する •固有値を使い、寄与率を計算する 31
共分散行列 •学習データ = 1 , … , •学習データの行列 = 1
, … , •各成分の平均を表すベクトル = 1 , … , •平均を減じた学習データの行列 = 1 − , … , − •共分散行列 = Var = 1 32
固有値問題 •固有値問題 = λ (1 ≤ ≤ ) を解く •しかしなぜ固有値問題?
•平均を減じた学習データ − に対し て、係数ベクトル を使って線形変換 したベクトル を得る = 1 , … , = •線形変換後のデータの分散 = = = 33
固有値問題(続き) •「ラグランジュの未定乗数法」という よくわからない黒魔術を使って さらに式変形する = − λ( − 1) •
で微分する ∂ = 2 − λ = λ 34
固有値問題(続き) •「ラグランジュの未定乗数法」という よくわからない黒魔術を使って さらに式変形する = − λ( − 1) •
で微分する ∂ = 2 − λ = λ 35
主成分/寄与率 •めでたく固有値/固有ベクトルがもとまっ た体で話を進めます… •第 主成分 •最大の固有値から順に λ1 , … ,
λ 、対応する固 有ベクトルを 1 , … , としたときに の固 有ベクトルで線形変換することで求められる •寄与率 •第 主成分の寄与率は = λ =1 λ 36
主成分/寄与率 •第 1 主成分 •データを最もよく説明してくれる総合指標 • 分散が最も大きい • 分散は λ1
が対応している •続いて第 2 主成分、第 3 主成分… の順に、 データをよく説明する総合指標となる •寄与率 •具体的に、その主成分が全体の何割を説明し てくれるのか、の指標値 37
まとめ •部分空間 •元のベクトル空間上のいくつかのベクトル を利用して、線形結合により部分空間を表 現する •主成分分析 •データがよくバラつく(分散が大きくな る)方向に線形変換する •データの特性を確認したり、次元を削減し たり…
38
自己紹介 39
KOMIYA Atsushi @komiya_atsushi 40
分析力をコアとする マーケティングソリューションカンパニー エンジニアやってます 41
42 by vandys http://www.flickr.com/photos/41028635@N00/245922527/ ありがとう ございました