決定論的な帰納推論 y=f(x)

■0点数値の決定論的帰納推論

「y=f(x)」のように、xが決まれば、yが決まる場合を考える。
偶然性を含む「y=f(x,ε)」とは区別して考える。
データとしてxとyの組が与えられたときの、あるxのときのyを帰納推論する。
最も単純な例として、データが与えられていない場合を考える。
xの比較に使えるデータがないので、xの値は与えられていないのと同じある。
「完全品質の帰納推論。y=f(ε)」の場合と全く同じ結果になる。
すなわち、「unknown」=100%。

■1点数値の決定論的帰納推論

y=f(x)で、1点のみデータが与えられたときを考える。
例:データ=(x1,y1)。 予測対象=(x0,y0)。
x0=x1の場合は、与えられたデータと一致するので、y0=y1である。
x0≠x1の場合は、とりあえずは、y0=「unknown」である。
ただし、「y=f(ε)」の場合と同様に、「unknown」はy1に近い方が確率が大きいといえる。
また、よくある関数でなら、x0→x1の極限は、y0→y1になる。
そこで、x0がx1に近いほど、y0はy1に近い確率が高いと、考える。
x0a が x0b より x1 に近いとき、 f(x0a) の方が f(x1) に近い確率Paは、f(x0b) の方が f(x1) に近い確率Pbより大きい。
|x0a-x1| < |x0b-x1| → Pa{ |f(x0a)-f(x1)| < |f(x0b)-f(x1)| } > Pb{ |f(x0a)-f(x1)| > |f(x0b)-f(x1)| }
大小関係がいえるだけで、何%なのかまではいえない。

■2点数値の決定論的帰納推論

y=f(x)で、2点のデータが与えられたときを考える。
例:データ=(x1,y1),(x2,y2)。 予測対象=(x0,y0)。
2つの考え方ができる。
1つ目の考え方は、直線を引いて推測する方法である。
ただし、ここでも大小関係が言えるだけで、確率はではいえない。
x0=(x1+x2)/2 の場合、y0=(y1+y2)/2 の確率が最も高いが、何%なのかは分からない。
2つ目の方法は、xの距離の逆数で、yを加重平均する方法である。
2つの方法は、内挿する場合は同じ結果になるが、外挿する場合は結果に差が出る。
1つ目の方法は、傾きが計算できないと使用できない。
2つ目の方法は、xがどれだけ似ているかで、yの混合比を決めるだけなので、数値ではない尺度へも適用できる。
2つ目の方法が、より広い範囲へ適用できる方法なので、2つ目の方法だけを使ってもよい。
2つ目の方法でも、外挿したときの同じ推測結果を得ることもできる。
x、y座標を回転させて、x'、y'座標とする。
x対y’では、直線の傾きが0になるように回転させる。
傾きが0なら、外挿でも内挿でも、線上なら0なので、同じように推測できる。
y'というのは、ある直線と、どれだけ差があるかを示している。
既存の2点が、y'=0という共通の性質を持っているため、3点目もy'=0だろうと推測するのである。
座標の取り方や単位を変えても、本質は変わらないため、推論結果は同じになるべきである。

■3点以上の数値の決定論的帰納推論

y=f(x)で、3点のデータが与えられたときを考える。
例:データ=(x1,y1),(x2,y2),(x3,y3)。 予測対象=(x0,y0)。
必ず3点を通る線を考えなければならない。
初めに思いつくのは、x1~x2、x2~x3に分ければ、2区間それぞれで直線を引くことができる。
しかし、推測結果を線で表したとき、点の所で角になっているのはおかしい。
仮に、真実の線に角があったとしても、狙ったようにピンポイントでそこを観測点とするのは難しいからである。
点の左右で傾きが等しいことが要求される。
x1~x2間の予測には、x3のデータも影響するといえる。反対側も同様である。
さらに、x3の外側にx4があれば、それも影響する。
なぜなら、x3とx4が非常に近いが、y3とy4に大きな差がある場合、近い方だけ100%採用するのはおかしい。
x3とx4の僅かな差で、結果が大きく変わるのは、ノイズの影響を大きく受け、ロバスト性が悪い。
xが近いほど、yが近いと推測するので、xの近さが同じくらいなら、yへの影響も同じくらいでないといけない。
遠くにある点でも、影響が小さいだけで0ではない。
x1~x2間の予測をする場合でも、全ての点が影響しうるといえる。
例えば、x0と全て点との距離の逆数で、yを加重平均すれば、全ての点の影響を受けられる。
これは良い推論ではない。
プロットが、x0の左右のどちらかに偏っていれば、y0も偏った推測結果となる。
では、全ての点に、重みをそれぞれ設定して、その重みでyを加重平均するとしよう。
このとき、xの加重平均がx0と等しければ、左右の偏りがないといえる。
xの加重平均=x0にするには、x0の左側と右側の点で、重みを調整しなければならない。
重みが満たすべき条件を以下にまとめた。
1. 位置がx0に近い点ほど、重みは大きい。ただし、x0より大きい側と小さい側は区別する。【必達】
2. 位置が近い点同士は、重みも近い。ただし、x0より大きい側と小さい側は区別する。【必達】
3. xの加重平均が、x0に近い。【偏りの最小化】
4. 重みの合計が、大きい。【分散の最小化】
【偏りの最小化】と【分散の最小化】はトレードオフの関係になっている。
x0より大きい側と、小さい側の2グループに分けて、グループ全体で、重みを調節すれば、xの加重平均を調節できる。
xの加重平均=0には、必ずしもできない。例えば、x0より大きい側のデータしかない場合は、偏りは避けられない。
例えば、未来を予測するとき、より古いデータも使うほど分散は減るが、偏りが増えるのは避けられない。
分散と偏りのバランスの取り方は、別途議論する。
残った議論として、xの近さによって、重さがどう決まる考える必要がある。
2点の場合では、距離d1=|x1-x0| として、重さw1=(1/d1) / Σ(1/d) としていた。
そこでは暗黙に、「ユークリッド距離」 = 「xの近さ」 だとしていた。
しかし、どういうものを「近い」とするかは自由に決められるはずである。
距離の公理を満たす値なら、何でも良い。
2点での推論の例で、d(=x-x0)ではなく、dの2乗で、重みが減衰する場合を考えてみよう。
xの加重平均=x0になるように調節すれば、dで計算したときと同じ結果になる。
しかし、3点以上では、遠くにある点の影響度が変化する。
ここまでは、最も確率が高くなる値についてしか議論してこなかったが、確率分布も推論できる。
まずは、推測対象のy0を「unknown」という値とする。
ファジィ集合を仮定し、推測対象を参加させる。
全てのデータについて、それぞれの重みで、ファジィ集合に参加させる。
ファジィ集合の分布が、推測結果の確率分布になる。
ただし、データだけでなく、「unknown」も0~1の重みでファジィ集合に参加する。
x1=x0というデータがあれば、y0=y1。「unknown」=0%となるはずである。
「unknown」の重みは、推測対象についての情報がない比率を表している。
「unknown」の重みは、どういった情報が与えられているか次第できまる。
「どれだけxが近いと、どれだけyが近いか」という情報がなければ、一致するなら重み0、一致しないなら重み1にすればよい。 「xが一致すれば、yが一致する」という情報もなければ、常に重み1にすればよい。