減衰関数
機会学習(データマイニング)をしていると、
各要素の距離に応じた重み付けを行うことがある。
今回は、この時に使われる減衰関数に焦点当てる。
このエントリーは、集合知プログラミング第8章を参照しています。
- 反比例関数
- 減法(引算)関数
- ガウス関数
これらの関数について説明する。
私の(下手くそな)図を参考にして欲しい。
反比例関数
反比例関数は高速であり、実装も簡単である。また良い結果が得られるように、分子の値を変更して、調整することができる。
関数の特徴として、距離の近い要素の重みは非常に大きく、
距離が増すと急激に小さくなる。
この特徴は、望ましい場合もあるが、データのノイズに対して非常に敏感になってしまう。
減法(引算)関数
減法関数は定数から距離を引くという非常に単純な関数である。減法関数は反比例関数と比較して、距離の近いアイテムに重みを与えすぎてしまうという
問題に対応している。
しかし、重みの落ち着く先が0であるために、距離が十分近いと見なされる要素しか
存在しなくなるという問題がある。
ガウス関数
ガウス関数は、反比例関数、減法関数と比較して複雑ではあるが、これまで2つの問題点を見事に解消している。
ガウス関数の重みは距離が0のときに1となり、距離が増すに従って減少する。
しかし、減法関数とは異なり、完全に0とはならない。
非常に有用ではあるが、これまでの関数よりコードが複雑であり、
関数の評価もあまり速くないということには留意してほしい。