dist

Функция веса евклидового расстояния

Описание

пример

Z = dist(W,P) принимает S-by- R матрица веса, W, и R-by- Q матрица Q входные (столбцы) векторы, P, и возвращает S-by- Q матрица вектора расстояний, Z.

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

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

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

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

D = dist(pos) принимает N-by- S матрица положений нейронов, pos и возвращает S-by- S матрица расстояний, D.

info = dist(code) возвращает информацию об этой функции. Для получения дополнительной информации см. описание code аргумента.

Примеры

свернуть все

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

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

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

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

Входные параметры

свернуть все

Матрица веса, заданная как S-by- R матрица.

Матрица входных параметров, заданная как R-by- Q матрица Q входные (столбцовые) векторы.

Размерность слоя, заданный как скаляр.

Входная размерность, заданный как скаляр.

Матрица нейтронных положений, заданная как N-by- S матрица.

Информация, которую вы хотите получить из функции, заданная как одно из следующего:

  • 'name' возвращает имя этой функции.

  • 'deriv' возвращает имя производной функции

  • 'fullderiv' возвращает 1 для полной производной и 0 для линейной производной.

  • 'pfullderiv' возвращает 2 для редуцированной производной, 1 для полной производной и 0 для линейной производной.

  • 'fpnames' возвращает имена параметров функции.

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

Выходные аргументы

свернуть все

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

Размер веса, возвращенный как

Производная от Z относительно W, возвращается как массив ячеек.

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

Подробнее о

свернуть все

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

Можно создать стандартную сеть, которая использует 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