Main Content

dist

Fonction de pondération de la distance euclidienne

Description

exemple

Z = dist(W,P) prend une matrice de poids, W, de dimension S x R et une matrice de Q vecteurs d’entrée (colonnes), P, de dimension R x Q, et renvoie la matrice de distances de vecteur, Z, de dimension S x Q.

Les fonctions de pondération appliquent des poids à une entrée afin d’obtenir des entrées pondérées.

dim = dist('size',S,R,FP) prend la dimension de couche S, la dimension d’entrée R et les paramètres de fonctions, FP, et renvoie la taille des poids [S x R].

dw = dist('dw',W,P,Z,FP) renvoie la dérivée de Z par rapport à W.

dist est également une fonction de distance dans une couche qui peut être utilisée pour trouver les distances entre des neurones d’une couche.

D = dist(pos) prend une matrice N x S de positions de neurones pos et renvoie la matrice de distances D de dimension S x S.

Exemples

réduire tout

Cet exemple montre comment calculer l’entrée pondérée correspondante Z, étant donné une matrice de poids aléatoire W et un vecteur d’entrée P.

W = rand(4,3);
P = rand(3,1);
Z = dist(W,P)

Ici, vous définissez une matrice de positions aléatoire pour 10 neurones disposés dans un espace tridimensionnel et trouvez leurs distances.

pos = rand(3,10);
D = dist(pos)

Arguments d'entrée

réduire tout

Matrice de poids, définie par une matrice S x R.

Matrice en entrée, définie par une matrice de Q vecteurs d’entrée (colonnes), de dimension R x Q.

Dimension de la couche, définie par un scalaire.

Dimension d’entrée, définie par un scalaire.

Matrice de positions des neurones, définie par une matrice N x S.

Arguments de sortie

réduire tout

Distances de vecteur, renvoyées sous la forme d'une matrice de dimension S x Q.

Taille des poids, renvoyée sous la forme d'un vecteur ligne.

Dérivée de Z par rapport à W, renvoyé sous la forme d'un cell array.

Distances, renvoyées sous la forme d'une matrice de dimension S x S.

En savoir plus

réduire tout

Utilisation d’un réseau

Vous pouvez créer un réseau standard qui utilise dist en appelant newpnn ou newgrnn.

Afin de modifier un réseau pour qu’un poids d’entrée utilise dist, définissez net.inputWeights{i,j}.weightFcn à 'dist'. Pour un poids de couche, définissez net.layerWeights{i,j}.weightFcn à 'dist'.

Pour modifier un réseau afin que la topologie d’une couche utilise dist, définissez net.layers{i}.distanceFcn à 'dist'.

Dans les deux cas, appelez sim pour simuler le réseau avec dist.

Vous trouverez des exemples de simulation dans newpnn ou newgrnn.

Algorithmes

La distance euclidienne d entre deux vecteurs X et Y est

d = sum((x-y).^2).^0.5

Historique des versions

Introduit avant R2006a