Upload
koichiro-suzuki
View
3.475
Download
1
Embed Size (px)
DESCRIPTION
(IN JAPANESE) Kernel ECAの解説
Citation preview
Kernel Entropy ComponentAnalysis
新技術研究会 2013.10.09鈴木幸一郎
Kernel Entropy ComponentAnalysis• Robert Jenssen, PAMI 05/2010• Kernel (Gram) Matrix の分解を行う
• VCAと同じく非線形基底を求める方法
• Kernel関数による確率密度関数の推定、から(やや美しく)導出される。
• Kernel PCAに比べ、データの直交性を保ちつつ分解できるので、クラスタリング等の性能アップに寄与する。
• 地理データ(衛星写真)のクラスタリングに応用事例あり
流れ
• 部分空間法
• まずはKernel PCA• MDS とPCA (←線形)• Kernel Gram行列からKernel PCA
• Kernel ECA• Renyi entropy 最小化からの導出
• Gram行列からECA 実装をまじえて
• Kernel パラメータσ の扱い(クラスタリングへの応用)
• まとめ
はじめに• よくある問題: 高次のデータを低次で表現したい
• 基底に分解して、その係数の大きさで信号かどうか判定したり(detection)
• さらにその係数を比較することでどのクラスタに属するか判別したり(clustering(, recognition))
• 例えば Principal Component Analysis• X∈ RDxN (データ) で、||X – QTX||2
F を最小にするQ∈ RDxD
, rank(Q) = M <= D な半正定行列を求める
• XXTの固有ベクトルを求める問題に帰着
• →部分空間法
=x1, …, xN
T
CxX X
overdeterminant
X = U C +
データ 基底係数
ε
雑音
= U Λ UT + ε1/N
線形から非線形へ
• ユークリッド空間の部分空間→超平面に分割
• ユークリッド空間では表現に限界あり
• 高次空間へ拡張• Neural Network• Recursive Kernel Hilbert Space→ Kernel Trick
-10 -5 0 5 10
-10
-8
-6
-4
-2
0
2
4
6
8
10
直線では分割ムリ
Xφ
Φ次元はわからん
K=ΦTΦ, Kij=φ(xi, xj) は定義
K=ΦTΦ
Φ次元はわからん
CΦ
• Φ = PΦCΦ + ε を求めたいが
• 線形PCAと同じく考えると……
PΦ + ε=
ΦΦT の部分空間
ん???できるん???ΦΦT←これ知らんし
Kernel PCA
線形に戻ってPCAとMDSMDS: Muiti Dimensional Scaling
• 角度(内積)を保存するように次元圧縮
XT
X YT
Y-
F
2
J =
これを最小にするYは、XTX の大きい固有値L個に対応する固有ベクトルをElとすると、y = El
TX となる、、、のだが、ここで、XTXのとある固有値をλ、対応する固有ベクトルをeとすると、XTXe = λe→ XXTXe = λXe → NCx (Xe) = λN (Xe)であるので、XTXの固有ベクトルはXXTの固有ベクトルと一対一対応する
グラム行列K=ΦTΦを用いてKernel PCA (ΦΦT) が構成できる
グラム行列(データの内積を表現)
Kernel グラム行列からPCA
• グラム行列 K をスペクトル展開し、部分空間へ
• K = EΛET , E→El, Λ→ λS, Kl = ElΛlElT
• PCA基底はΦEl (線形の場合は XEl )• とあるデータxは、 El
TΦ(xd,x) によって変換される
Φ(xd,x) =
φ(x1, x)φ(x2, x)
・・
φ(xN, x) 計算できるやん!
Kernel PCAのまとめ
• Kernel gram 行列をスペクトル展開
• 対応する固有値が大きいものから所望の次元数分、固有ベクトルを選択
• 基底をΦElとする
Kernel E(ntropy)C(omponent)A(nalysis)のやり方
• Kernel gram 行列をスペクトル展開
• 対応する固有値が大きいものから所望の次元数分、固有ベクトルを選択
• Renyi quadratic entropy を下げられる固有ベクトルを次元数分選択
• 基底をΦElとする
Renyiquadratic entropy
• エントロピーを一般化
• α→1でシャノンの
• α=2で今回のRenyi Entropy• ピークが鋭くて数が少ない分布→小
• 一様に広がってるような分布→大
• パラメータ推定時の問題の難しさ、を定量化
Alfréd Rényi (20 March 1921 – 1 February 1970) was a Hungarian mathematician
数学さえあればいいというラジカルな主張を持つ男
淀川長治に似てるまゆ毛と眼鏡は金出先生にも似てる
Kernel gram matrixとRenyi entropy
• logは単調関数なので、積分項の最大化
• 密度関数の推定ってkernelを使う
• この積分は密度関数の期待値だから無慈悲に平均
グラム行列の全ての要素を足す! ※ただしkernelがpsdの場合に限る
Kernel gram matrix のスペクトル展開とRenyi entropy• K をスペクトル展開
• 密度関数の期待値は
• この寄与が大きい順に固有ベクトルを選ぶ
• 固有ベクトルが「振動」しているようなものは寄与低い
実際にやってみる
-10 -5 0 5 10
-10
-8
-6
-4
-2
0
2
4
6
8
10
これを分類
クラスタ1: 分散0.05、平均0な2次元ガウスから生成 500点クラスタ2: 半径10の円周上に一様に分布。ただし観測雑音(強度0.1)混入。200点パラメータσを持つGaussian Kernelでグラム行列を生成し、PCA, ECAを実施
kσ(x,y) = exp(-(x – y)2/2σ2)
Kernel σ = 1.2 変換結果
どちらも線形分離は可能だが、Kernel ECAでは、「角度」が保たれた変換ができている
Kernel σ = 1.2密度関数期待値への寄与
1 2 3 4 5 6 7 8 9 10-150
-100
-50
0
X: 4Y: -62.37
固有値番号 i 降順
寄与の大きさ
固有値が大きければよいというわけではない
をプロット
固有値の大きさはこんな感じ
Kernel σ = 1.2 固有ベクトル
第1
第2
第3
第4
第5
振動的寄与低い
σに対するふるまい
• σによってふるまいがかなり変わる
σ = 1.8
kPCA と kECA の結果が同じσ大→
σに対するふるまい
• 問題によってはkPCAより性能アップ
• ここではクラスタリングに応用
cos距離で分類、多分ECA向き
σを増やしていくとkPCAとkECAは一致するが、最も良いところではkECAの圧勝
The thyroid data set is one ofthe two-class IDA benchmark data sets. There are 100 realizations of this fivedimensional data set.
まとめ• Kernel ECA
• Kernel gram matrix を窓(核)関数による確率密度関数推定と関連づける(美しい!?)
• Renyi Entropy を最小化する意味でKernelGram Matrix を分解
• 角度を保存するように働く(っぽい)• (角度ベース)クラスタリング精度よさそう
• σ 選ぶのがめんどくさい
• (実装がとてもとても楽 VCAとは比較にならん)
• 応用先
• クラスタリング とか Array calibration とか
____ / ̄ ̄ ̄\/ \ / ヽ みんな~
/ \ / \/ \ / _,  ̄)| i ヽ、_ヽl | |└コ l ∪ | |
| ,、___, ノ | ,、 |ヽ_二コ/ / ヽ / \ /
_____/__/´ __ヽノ____`´┼ヽ -|r‐、. レ |d⌒) ./| _ノ __ノ---------------制作・著作 DensoItlab
おまけ
• kPCA→ Fでの平均値0を仮定。疑問。
• kECA→ Fでの平均値は0でなくてもよい(0だとRenyi entropy 推定値が無限大になる)。kECAでは、平均値の2ノル
ムが保存されるような変換を求めている。
なので、
と置くと、
な式は、
であることがわかる