dist

Евклидова функция веса расстояния

Синтаксис

Z = dist(W,P,FP)
dim = dist('size',S,R,FP)
dw = dist('dw',W,P,Z,FP)
D = dist(pos)
info = dist('code')

Описание

Функции веса применяют веса к входу, чтобы получить взвешенные входные параметры.

Z = dist(W,P,FP) берет эти входные параметры,

W

S- матрица

P

R-by-Q матрица входа Q (столбец) векторы

FP

Struct параметров функции (дополнительный, проигнорированный)

и возвращает S-by-Q матрица векторных расстояний.

dim = dist('size',S,R,FP) берет размерность слоя S, входная размерность R и параметры функции, и возвращает размер веса [S-by-R].

dw = dist('dw',W,P,Z,FP) возвращает производную Z относительно W.

dist является также функцией расстояния слоя, которая может использоваться, чтобы найти расстояния между нейронами в слое.

D = dist(pos) берет один аргумент,

pos

N-by-S матрица положений нейрона

и возвращает S-by-S матрица расстояний.

info = dist('code') возвращает информацию об этой функции. Следующие коды поддерживаются:

'deriv'

Имя производной функции

'fullderiv'

Полная производная = 1, линейная производная = 0

'pfullderiv'

Входной параметр: уменьшаемая производная = 2, полная производная = 1, линейная производная = 0

'name'

Полное имя

'fpnames'

Возвращает имена параметров функции

'fpdefaults'

Возвращает параметры функции по умолчанию

Примеры

Здесь вы задаете случайную матрицу веса W и входной вектор P и вычисляете соответствующий взвешенный вход Z.

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

Здесь вы задаете случайную матрицу положений для 10 нейронов, расположенных в 3-мерном пространстве, и находите их расстояния.

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

Сетевое использование

Можно создать стандартную сеть, которая использует dist путем вызова newpnn или newgrnn.

Чтобы изменить сеть так, входной вес использует dist, установите net.inputWeights{i,j}.weightFcn на 'dist'. Для веса слоя, набор net.layerWeights{i,j}.weightFcn к 'dist'.

Чтобы изменить сеть так, чтобы dist использования топологии слоя, устанавливает net.layers{i}.distanceFcn на 'dist'.

В любом случае вызовите sim, чтобы моделировать сеть с dist.

Смотрите newpnn или newgrnn для примеров симуляции.

Алгоритмы

Евклидово расстояние d между двумя векторами X и Y

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

Смотрите также

| | | | |

Представлено до R2006a