狠狠撸

狠狠撸Share a Scribd company logo
2015/09/05 WACODE 2nd
?そのままでは使いづらい
非線形データの次元圧縮?
@nakaneko143
非線形データ
https://en.wikipedia.org/wiki/Manifold
「そのままでは使いづらいデータの解析」
非線形データの次元圧縮
…について理解を深めたい
(今回のテーマ)
現実のデータは非線形が多い
https://tamosblog.wordpress.com/2015/01/09/sig
nal_processing_by_r/
気象データ (気象庁 降水確率) 音声データ (音の信号波形)
http://www.nikkei.com/markets/chart/#!/0101
金融データ (日経平均株価)
生体データ
(時系列の
発現変動)
http://bi.biopapyrus.net/transcriptome/de-
analysis/examples/masigpro.html
非線形とはどういうことか
? 線形ではないデータ
– 線形の性質をもたない→色々と使いにくい
? 直線に当てはめることができない
? ユークリッド空間の定義はあてはまらない
https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%
BC%E3%82%AF%E3%83%AA%E3%83%83%E3%83
%89%E7%A9%BA%E9%96%93
? ユークリッド平面の点は、二次元の
座標ベクトルに対応する。
? 平面上の平行移動は、ベクトルの加法に
対応する。
? 回転を定義する角度や距離は、
内積から導かれる。
次元の呪いへの対策
? 高次元空間の対象を扱う場合の問題
– クラスタリング
? 球面集中現象
– 超高次元空間の点は、ほぼ球殻に集中
? 高次元になるほどデータ間の距離が離れていく
– モデル推定
? 高次元=説明変数が多い
? パラメータ最適化問題の複雑化
→次元圧縮
主成分分析(PCA)
? データを高次元ベクトル空間から、
重要な特徴を表現する低次元空間に縮約
? →分散共分散行列Sの固有値問題でok
http://stats.stackexchange.com/questions/2691/making-sense-of-principal-
component-analysis-eigenvectors-eigenvalues
? 2次元データxiを1次元軸へ射影
? 分散を最大化する係数μをもとめ
る
? Sは共分散行列
? ラグランジュの未定数乗法より
y = mT
xi
1
N
mT
(xn - x){ }
2
= mT
Sm
n=1
N
?
Sm = lm
非線形ではうまくいかない
cell1 cell2 ?? ?? cell95
gene1 6.8 0 3.6
gene2 31 4 53
:
:
gene
53781
90 44 2
PCAはデータの線形性に基づいて軸をとっている
Quartz-Seq (53781gene*95cell)
非線形のための次元圧縮法
L.J.P.van der Maaten, E.O.Postma, H.J.van den Herik
"Dimensionality reduction: A comparative review" (2008)
比較的メジャーなもの
非線形データの次元圧縮
カーネル主成分分析で
手法同士の関係性を見てみる
カーネル主成分分析(PCA)
? カーネル法
– データを高次元の特徴空間に写像する手法
? カーネルPCA
– 固有値問題はPCAと共通
– 共分散行列Sが、特徴空間の内積行列K
(カーネル関数値)に置き換えられた
http://www.murata.eb.waseda.ac.jp/researches/kernel
xi
xj
F
特徴写像
F(xi )
F(xj )
★内積計算は
カーネル関数で評価
F(xi ),F(xj )
= k(xi, xj )
MDS (多次元尺度構成法)
空間内の点同士の距離から
距離行列を作る。
2重中心化で内積行列Gを構成し、
固有値分解して多次元座標を得る。
Isomap
多様体上の点同士の測地距離を
K近傍グラフを用いて近似し、
距離行列を作る。以降はMDS。
距離からカーネルの値を計算して
内積行列Kを再構成すると、
カーネルPCAになる。
LLE(局所線形埋め込み)
多様体の点xの近傍点を決め、
各点との距離の最小化問題を
重みWについて解く。
得られた線形式を繋ぐ式の解は
最終的に行列Wの固有値問題に
帰着する。行列Wがカーネル関数
の場合は、カーネルPCAになる。
ラプラシアン固有マップ
近傍グラフを構成し、頂点同士の
類似度K行列をガウスカーネルで
構成し、距離の最小化問題を解く。
グラフラプラシアン行列L=D-K
(D:Kのrowsum)を導入。
固有値分解すると、
カーネルPCAの固有値問題に
Dが補正値としてかかる式になる。
拡散マップ
近傍グラフを構成し、頂点同士の
遷移確率行列をガウスカーネルで
構成する。拡散距離を、点同士の
推移確率で定義する。
グラフラプラシアン行列L=D-Kの
正規化行列L’ の固有値問題を解く。
固有ベクトルで推移確率行列を
再構成し、低次元空間の
拡散距離を得る。
内積行列がカーネルか否か
カーネルPCA
特徴空間内の点同士の内積行列を
元のデータから得られた
カーネル関数値で構成し、
PCAと同様に固有値問題を解く。
多様体学習への適用
距離行列の
作り方が
異なる
結果的に
カーネルPCAと
等しくなる
拡張
拡張(拡散距離)
非線形の次元圧縮まとめ
距離分布の
KL情報量最小化
RNA-Seqデータでの比較
? 比較手法
– PCA : prcomp
– カーネルPCA : kernlab::kpca
– 拡散マップ : destiny(Haghverdi L et. al, Bioinformatics. 2015)
? テストデータ(Single-Cell)
– 弊ラボにてscRNA-Seq → Sailfishで
発現定量を行った277細胞
– G1期、S期、G2M期からなる
– edgeR::TMMにて正規化
PCA (PC1, PC2, PC3)
PC1/PC2
PC1/PC3
PC2/PC3
カーネルPCA (X2 vs X3)
軸は固定(第二,第三) ガウスカーネルのσを振った結果
→パラメータの影響をうけやすい、PCAよりやや分離が悪い
拡散マップ (DC2 vs DC3)
軸は固定(第二,第三) ガウスカーネルのσを振った結果
→パラメータの影響にロバスト、PCAよりも良い分離
一細胞の次元圧縮について
大規模一細胞RNA-Seq
発現データの特徴量によるクラスタリング
– レアな細胞集団の検出
? 新たな制御機構や疾患の原因因子の特定
– 時系列変化、相互作用の特徴抽出
? 発生分化など、複雑な共振関係をもつ機構の解明
? 現状、PCA / t-SNE / 拡散マップ を
用途に応じて使い分けるのが良さそう
補足:グラフラプラシアン
? グラフの構造を行列で表現した対称行列
? 対角行列(ノードの次数) - 隣接行列(重み)
? 隣接行列は、1あるいはガウスカーネルで構成
? 固有値問題
argminmT
Lms.t.mT
Dm =1 Lm = lDm
対角行列が固有ベクトルにかかっている
→カーネルPCAよりも、分母σに影響をうけにくい
https://en.wikipedia.org/wiki/Laplacian_matrix
L = D-W
補足:Diffusion map
wij (xi, xj ) = exp(-
xi - xj
2
2s 2
)
pij (xi, xj ) =
wij xi, xj( )
di
)
d = rowsum = wij
j=1
N
?
固有値問題
Lrm
= D-1
W
重みつき近傍グラフ
遷移確率行列 拡散距離
低次元空間での拡散距離再構成
補足:t-SNE
低次元空間での点間の距離分布
P
Q
低次元空間のデータ点y
高次元空間での点間の距離分布
Journal of Machine Learning Research 9 (2008) 2579-2605

More Related Content

非線形データの次元圧縮 150905 WACODE 2nd