Upgrade to Pro — share decks privately, control downloads, hide ads and more …

多次元尺度法MDS

Ringa_hyj
January 07, 2021

 多次元尺度法MDS

Ringa_hyj

January 07, 2021
Tweet

More Decks by Ringa_hyj

Other Decks in Science

Transcript

  1. mtric MDS データ点ごとの差の二乗の平方根を考える = − = 1 − 1 2

    + ・・・ 変換後のベクトルから、以下のような式が成り立つyの存在する空間を探す − = = = − ここで、距離の公理を満たすことを前提とする δ=0 δ>=0 δij=δji ※公理を満たすデータは「メトリックである」と呼ばれる D=[δij]
  2. 単に二乗を考えてみる ⅈ 2 = − 2 = − − =

    2 + 2 − 2 ⊤ 後項の内積部分を考えると、iとjの積の総和となる = 1 1 + 22 + ⋯ = 2 + 2 − 2 よって 変形して = ½ ( 2 + 2 − ⅈ 2 ) これは個体間の距離を求めるということは、内積を求めることに等しいということを表現している 内積から別座標yへの変換を考えるのが古典的手法であると先ほど説明した。
  3. 個体ijの原点は、n個の重心であるとする 新しい座標ベクトル y は ⅈ 2 = − 2 =

    − − よって d^2 ij = -2aij = yi T yi + yj T yj – 2yi T yj =bii + bjj -2bij =aii + ajj – 2aij (距離の公理より) =-2aij
  4. bij = aij – mean(ai+) - mean(a+j) + mean(a++) bij

    = (yi – y_bar)T(yj-y_bar) B = [bij] このとき、Bは固有値がすべて非負の半正定値行列であることがわかる B=ΓΛΓ ^T = (ΓΛ^1/2)(ΓΛ^1/2) = YY^T ΛはBの固有値を対角として持つ行列である Λ = diag(λ1…λp) Γは固有ベクトルを列変形したもの Γi = λi ^(-1/2) xi
  5. より詳細な計算方法 データDからA=[-1/2 dij^2]を計算 bij = aij – mean(ai+)… から B=[bij]を求める

    Bのうち、正の固有値 λ だけを削減次元 k個求める(寄与率を計算する場合にはすべて求める) 固有ベクトル Y = (y1~yk)を求める λi = yi T yi となるように固有ベクトルの「長さ」を調整する 個体 pi の座標が yi1 ….yip へと変換される
  6. 2 4 5 2 3 6 4 3 7 5

    6 7 行平均 mean(ai+) 列平均 mean(a+i)
  7. 2次元に落とすならば固有値λから2つの固有値を選び出す。同時に固有ベクトルも2つ得られるはず。 固有ベクトルは長さ1に正規化されて出力されるものなので、 固有値の大きさに調整する yk T yk = λk より、 yi

    = y’i √λi を計算する 二次元のデータをplotにつかう。 つまり、 調整した一つ目の固有ベクトルをx座標 調整した二つ目の固有ベクトルをy座標 とする
  8. 心理学のような、非類似度データに対する分析 stress(目的関数) を最小にするような個体の配置を求める = ⅆ − መ 2 ෎෍ⅈ 2

    1 2 ※Σはj<iの時のみ実行される ※j<I ということは、下側三角行列のすべての和になる ※d_hat は dijと近くなるような座標値から定められる値 ※分子は最小二乗法に等しい Sが0になればよい推定量で、大きい(0.2)以上だと失敗とされている