JavaScriptを有効にしてください

Distance CorrelationとPartial Distance Correlation について

 ·  ☕ 4 min read

概要

  • pearsonの相関係数は線形な関係しか捉えることが出来ない.
  • そこで, 点同士の距離を用いたDistance Correlationという相関係数が提案された.
  • さらに, Distance Correlationを拡張し, 内積の期待値が共分散の二乗となるようなヒルベルト空間を定義したPartial Distance Correlationが提案されている. (Székelys, 2014)
    • Partial Distance Correlationを使うと, 条件付けした相関係数 R(X|Z,Y|Z)=R(X,Y;Z)を計算することができる

Distance Correlation

ak,l=|XkXl|,a¯k,=1nl=1nak,l,a¯,l=1nk=1nak,l,a¯,=1n2k,l=1nak,l,

  • としたとき

Ak,l=ak,la¯k,a¯,l+a¯,

  • をDistance Matrixと呼ぶ
  • このときDistance Matrix Aを用いて, 以下をDistance Correlationと定義する

Rn2(x,y)={Vn2(x,y)Vn2(x,x)Vn2(y,y),Vn2(x,x)Vn2(y,y)>00,Vn2(x,x)Vn2(y,y)=0

  • ただし, Vn2(x,y)=1n2k,l=1nAk,lBk,l,Vn2(x,x)=1n2k,l=1nAk,l2

  • 分散は一般に平均周りの二次モーメントなので, アナロジー的に平均が0になる必要がある

    • Distance Matrix Aは要素の行, 列, 全体の平均が0になるので平均周りのモーメントっぽい挙動を振る舞う
  • pearsonは線形な関係しか見ていないのに対して, DCは距離に応じた関係を捉えている. (下図)



Distance Correlationと機械学習

  • モデルXのある層における出力 xRB×dX とモデルYのある層における出力 xRB×dYとの類似度を計算することができる 
  • 注意すべき点として, xRB×dd 次元の出力が B 個存在する状態なので, Distance Matrix は B×Bになることに注意
  • 嬉しいことに, Distance Matrix が B×B になるので, モデルX, Yの出力次元が違っても ( dXdY)相関を計算することができる

Partial Distance Correlation の導入

  • まず, Distance Matrix Aを以下のように拡張した A~を定義する.

a~kl={ak,l1n2i=1nai,l1n2j=1nak,j+1(n1)(n2)i,j=1nai,j,kl0,k=l

  • このとき, 内積 (A~B~)を以下のように定義.

(A~B~):=1n(n3)klA~k,lB~k,l

  • すると, この内積の期待値は V2(x,y)と一致する (証明は論文参照)
    • 論文ではunbiased estimator of squared population distance covariance (不偏推定量) と呼んでいる

  • 上のような A~を定義すると, 以下の性質が成り立つ. (証明は論文参照)
    1. 要素の行と列の平均がそれぞれ0になる
    2. (A~)~=A~となる
    3. A~はdouble centeringに対して不変である

  • 単位行列 Iと全ての成分が1の n×n行列 Jについて
  • (I1nJ)A(I1nJ)を計算することをdouble centeringと呼ぶ
  • double centeringによって, 行と列の平均はそれぞれ0となる
  • 要は xx¯と同じこと

Partial Distance Correlation

  • 要は隠れ変数 z が存在するような状態での相関係数を計算したい

    • すなわち, R(X|Z,Y|Z)=R(X,Y;Z)を計算したい
  • コイツを計算するには, まずX, YをZに射影したものを用意する必要がある

  • 上のような内積が定義されたヒルベルト空間 Hnにおいて, サンプル x,y,zにおけるDistance Matrix A~,B~,C~Hnについて
    Pz(x)=A~(A~C~)(C~C~)C~,Pz(y)=B~(B~C~)(C~C~)C~

  • をそれぞれ A~(x)(C~(z))に射影したもの, B~(y)(C~(z))に射影したものとする.

  • すると, R2(x,y;z) は以下のように定義される. (cosine類似度を相関として使用する感じ?)
    R2(x,y;z):=(Pz(x)Pz(y))|Pz(x)||Pz(y)|

  • ちなみにpartial distance covarianceは以下のように定義される.
    pdCov(x,y;z)=(Pz(x)Pz(y))=1n(n3)ij(Pz(x))i,j(Pz(y))i,j

Partial Distance Correlationと機械学習

  • On the Versatile Uses of Partial Distance Correlation in Deep Learning (ECCV22)で提案されているPCDの使いみち
    • R2((X|Y),GT)を計算すると, モデル Y前提としたモデル XについてGTとの相関を計算することができる.
    • つまるところ, モデルYが学習した情報を取り除いた状態の XとGTの相関を計算することができる
      • どうやって計算するかというと, XYに射影すれば良い.
      • すなわち, Py(x)=X~(X~Y~)(Y~Y~)Y~を用いて R2((X|Y),GT)を計算する.
共有

YuWd (Yuiga Wada)
著者
YuWd (Yuiga Wada)
機械学習・競プロ・iOS・Web