dist

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

Описание

пример

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

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

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

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

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

D = dist(pos) берет N- S матрица положений нейрона, pos и возвращает S- 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- R матрица.

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

Размерность слоя в виде скаляра.

Введите размерность в виде скаляра.

Матрица положений нейрона в виде N- S матрица.

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

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

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

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

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

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

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

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

свернуть все

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

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

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

Расстояния, возвращенные как S- 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