Функция отрицательного веса расстояния
Z = negdist(W,P)
dim = negdist('size',S,R,FP)
dw = negdist('dz_dw',W,P,Z,FP)
negdist
является весовой функцией. Весовые функции применяют веса к входу, чтобы получить взвешенные входы.
Z = negdist(W,P)
принимает эти входы,
W |
|
P |
|
FP | Массив ячеек строк параметров функции (необязательно, проигнорировано) |
и возвращает S
-by- Q
матрица отрицательных векторных расстояний.
dim = negdist('size',S,R,FP)
принимает размерность слоя S
, входная размерность R
, и параметры функции, и возвращает размер веса [S
-by- R
].
dw = negdist('dz_dw',W,P,Z,FP)
возвращает производную Z
относительно W
.
Здесь вы задаете матрицу случайного веса W
и входной вектор P
и вычислите соответствующий взвешенный вход Z
.
W = rand(4,3); P = rand(3,1); Z = negdist(W,P)
Можно создать стандартную сеть, которая использует negdist
по вызову competlayer
или selforgmap
.
Чтобы изменить сеть, чтобы вес входа использовал negdist
, задать net.inputWeights{i,j}.weightFcn
на 'negdist'
. Для веса слоя задайте net.layerWeights{i,j}.weightFcn
на 'negdist'
.
В любом случае звоните sim
чтобы симулировать сеть с negdist
.
negdist
возвращает отрицательное евклидово расстояние:
z = -sqrt(sum(w-p)^2)
competlayer
| dist
| dotprod
| selforgmap
| sim