次元と近似の話。
100次元空間にプロットAがあるとする。
しかし、我々には限られた測定手段しかない。
そう。たった10通りの方法=10次元のパラメータしか測れない
そうすると、100次元空間のプロットAは10次元空間に近似して表現される。
この近似は、残りの90次元の情報を捨てているという意味ですね。
ところで、手元にある10次元のパラメータは、一般には、互いに独立ではないですね。
今日の歩数と、ラーメン摂取量、体重変化量と、は、互いに独立ではない。
で、ポイントは、をジックリ調べてみる。
何か怪しい。
良く歩いている。ラーメンを食べていない。なのに体重が1kgも増えている。
さては、ビールをがぶ飲みしながら揚げ物を食べまくったな。
きっと、財布の中身も減っているでしょう。
つまり、パラメータ間の相関関係を仮定する事で、測定していない(次元)情報を推定できる。
関数の見方を変える。
例えば、
として、10回の観測を行う。
set.seed(5)
N <- 10
x <- seq(1, 10, length = N)
y <- x + rnorm(N, 0, 0.5)
round(cbind(x,y), 3)
x y
[1,] 1 0.580
[2,] 2 2.692
[3,] 3 2.372
[4,] 4 4.035
[5,] 5 5.856
[6,] 6 5.699
[7,] 7 6.764
[8,] 8 7.682
[9,] 9 8.857
[10,] 10 10.069
これは、真のモデルから誤差を含めて観測された系列データの様に見える。
でも、互いに相関のある10個のパラメータで定義された(10次元空間中の)1点と考えても良いハズだ。
前節の議論に基づくと、この既知パラメータの相関関係が推定できれば、非観測パラメータ(i.e. の時のの値)の予測分布が得られるんじゃないか。
例ではを離散的に取ったけれども、
x y
[1,] 0.5 0.080
[2,] 1.0 1.692
[3,] 1.5 0.872
[4,] 2.0 2.035
[5,] 2.5 3.356
[6,] 3.0 2.699
[7,] 3.5 3.264
[8,] 4.0 3.682
[9,] 4.5 4.357
[10,] 5.0 5.069
これも立派な10次元空間中の1点ですよね。
このままxの間隔を無限に細かくして、xの範囲を無限に大きくしたらどうなるか。
それは、線ですよね。
でも、無限次元空間中の1点ですよね。
つまり、ですね。
x y1 y2 y3 y4 y5
[1,] 1 0.580 1.614 1.450 1.158 1.775
[2,] 2 2.692 1.599 2.471 2.555 1.599
[3,] 3 2.372 2.460 3.734 4.108 2.963
[4,] 4 4.035 3.921 4.353 4.609 4.948
[5,] 5 5.856 4.464 5.410 5.740 4.772
[6,] 6 5.699 5.931 5.853 6.476 6.281
[7,] 7 6.764 6.701 7.709 6.495 6.556
[8,] 8 7.682 6.908 8.749 7.000 7.770
[9,] 9 8.857 9.120 8.671 8.119 8.638
[10,] 10 10.069 9.870 9.574 9.929 9.965
これは、2次元中の1本の線から誤差込みで観測された5本のサンプル、と同時に、
x=1 x=2 x=3 x=4 x=5 x=6 x=7 x=8 x=9 x=10
y1 0.580 2.692 2.372 4.035 5.856 5.699 6.764 7.682 8.857 10.069
y2 1.614 1.599 2.460 3.921 4.464 5.931 6.701 6.908 9.120 9.870
y3 1.450 2.471 3.734 4.353 5.410 5.853 7.709 8.749 8.671 9.574
y4 1.158 2.555 4.108 4.609 5.740 6.476 6.495 7.000 8.119 9.929
y5 1.775 1.599 2.963 4.948 4.772 6.281 6.556 7.770 8.638 9.965
10次元空間中の1点から誤差込みで得られた5点のサンプル、とも言える。
後者の解釈において、真のモデルを推定する作業は、
10次元空間座標から無限次元パラメータの相関関係を推定する事に他ならない。
これ、前節で出てきたヤツですね。
手元にある情報からパラメータ間の相関関係を仮定する事で、測定していない(次元)情報を推定するという話。
そんな事、できんのかいな。
ちなみにこのサンプルの場合は、Yは多次元正規分布から得られた点の集合になる。
おっと、そうか。そうだった。
復習の多次元正規分布。
承前:条件付き多変量正規分布
n次元正規分布に従う集合を、
とする。
は期待値、は分散共分散行列。
同一のから発生した互いに素なデータとを考える。
がのうち最初の個の要素で、が残りの個の要素で構成されているとしても、一般性は失わない。
とは、同一の分布から派生しているので、当然、独立ではなく、下記のカンケイを持つ。
ここで、
と表せる。
これに従えば、から推定されたとを用いての分布を推定できるハズ。
でも、が未知なのに分散共分散行列って求められないじゃん。
まてまて、特徴量の内積だよな。
なら、適切に設計されたカーネル関数のグラム行列で表現できるハズ。
復習のカーネル。
個のパラメータ(特徴量)で定義される関数は、カーネル関数を使う事で、データ数個の重み付けを推定することになる。というのがカーネルトリックの理屈でした。
このカーネル関数の設計を工夫すると無限のパラメータ(特徴)を考慮できる。
例えば、
とすれば、を1次元、として、
の時、
つまるところ、個のパラメータを推定することが、に当てはまる全て(無限個)の特徴量に対する回帰を行なっていることと同等になる。
で、ガウス過程。
という事は、データ数に等しいパラメータ(次元)を計算すればいい。
準備:既知の個のに対応する既知のを用意する。
目的:既知の個のに対応する未知のの分布を推定する。
ステップ1:を(次元正規分布のうちの)次元で近似して、カーネル関数のパラメータを推定する。
ステップ2:そのパラメータからとを推定する。
ステップ2:ととカーネル関数のパラメータを用いて、とを推定する。
ステップ3:とを用いて に対応するの分布を推定する。
という流れですね。
ベイズの考え方では、このモデルをあらかじめ組んでおけば、全ての推定は一度に行えるハズです。
実装編はまたそのうち。