問題。次のように、0と1の間のエントリを持つ対称距離行列があります。
D = ( 0.0 0.4 0.0 0.5 )
( 0.4 0.0 0.2 1.0 )
( 0.0 0.2 0.0 0.7 )
( 0.5 1.0 0.7 0.0 )
Dで与えられた(おおよその)ペアワイズ距離を持つ平面内のポイントを見つけたいと思います。これは厳密に正しい距離では通常不可能であることを理解しているため、「良い」近似で満足します。
私のマトリックスは小さめで、10x10以下なので、パフォーマンスは問題になりません。
質問。これを行うアルゴリズムを誰かが知っていますか?
背景。確率密度のセットがあり、その間に計算 Hellinger距離 があり、これを上記のように視覚化したいと思います。各セットには10個以下の密度(上記を参照)が含まれていますが、私は数百セット持っています。
これまでに行ったこと
ここには非常に簡単な解決策があるようです。 (編集)
各点の座標を(x_i、y_i、z_i)に設定します。距離行列に従って2次方程式のシステムを形成します。方程式ごとにデルタ値が追加されるので、(x_a-x_b)^ 2 +(y_a-y_b)^ 2 +(z_a-z_b)^ 2 = D_ab + delta_abのようになります。 D_abを反対側に移動すると、両側にdelta_ab Squareしかないため、delta_abは常に負ではありません。
すべての二乗デルタを合計すると、多変数関数ができます。 (ほとんどこの部分を逃します)
現在の目標は、これらすべてのデルタの合計を最小化することです。これは、勾配降下法で簡単に実行できます。
このアプローチに問題がある場合はお知らせください。