Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

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.

info = dist(code) renvoie des informations sur cette fonction. Pour plus d’informations, veuillez consulter la description de l’argument code.

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, spécifiée comme une matrice S x R.

La matrice en entrée est spécifiée comme une matrice de Q vecteurs d’entrée (colonnes), de dimension R x Q.

Dimension de la couche, spécifiée comme un scalaire.

Dimension d’entrée, spécifiée comme un scalaire.

Matrice de positions des neurones, spécifiée comme une matrice N x S.

Information que vous pouvez souhaiter extraire de la fonction, spécifiée comme l’un des éléments suivants :

  • 'name' renvoie le nom de cette fonction.

  • 'deriv' renvoie le nom de la fonction dérivée

  • 'fullderiv' renvoie 1 pour une dérivée totale et 0 pour une dérivée linéaire.

  • 'pfullderiv' renvoie 2 pour une dérivée réduite, 1 pour une dérivée totale et 0 pour une dérivée linéaire.

  • 'fpnames' renvoie les noms des paramètres de la fonction.

  • 'fpdefaults' renvoie les paramètres de la fonction par défaut.

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