linkdist
R2026b(削除予定) リンク距離関数
linkdist は将来のリリースで削除される予定です。詳細については、レガシ ニューラル ネットワーク コードの dlnetwork ワークフローへの移行を参照してください。
コードの更新に関するアドバイスについては、バージョン履歴を参照してください。
構文
d = linkdist(pos)
説明
linkdist は、層内のニューロンの位置に基づいて、ニューロン間の距離を求めるために使用される、層の距離関数です。
d = linkdist(pos) は、次の 1 つの引数を取ります。
pos |
|
これは、S 行 S 列の距離行列を返します。
例
以下では、3 次元空間に配置される 10 個のニューロンの位置のランダムな行列を定義し、それらの間の距離を求めます。
pos = rand(3,10); D = linkdist(pos)
ネットワークの利用
selforgmap を呼び出すことによって、距離関数として linkdist を使用する標準的なネットワークを作成できます。
層のトポロジによって linkdist が使用されるようにネットワークを変更するには、net.layers{i}.distanceFcn を 'linkdist' に設定します。
いずれの場合も、sim を呼び出し、dist を使用してネットワークのシミュレーションを行います。
アルゴリズム
ベクトル S の集合から取得した 2 つの位置ベクトル Pi および Pj の間のリンク距離 D は、次のようになります。
Dij = 0, if i == j
= 1, if (sum((Pi-Pj).^2)).^0.5 is <= 1
= 2, if k exists, Dik = Dkj = 1
= 3, if k1, k2 exist, Dik1 = Dk1k2 = Dk2j = 1
= N, if k1..kN exist, Dik1 = Dk1k2 = ...= DkNj = 1
= S, if none of the above conditions apply