Функция веса точечного продукта
Z = dotprod(W,P,FP)
dim = dotprod('size',S,R,FP)
dw = dotprod('dw',W,P,Z,FP)
info = dotprod('code
')
Весовые функции применяют веса к входу, чтобы получить взвешенные входы.
Z = dotprod(W,P,FP)
принимает эти входы,
W |
|
P |
|
FP | Struct параметров функции (необязательная, проигнорированная) |
и возвращает S
-by- Q
точечный продукт W
и P
.
dim = dotprod('size',S,R,FP)
принимает размерность слоя S
, входная размерность R
, и параметры функции, и возвращает размер веса [S
-by- R
].
dw = dotprod('dw',W,P,Z,FP)
возвращает производную Z
относительно W
.
info = dotprod('
возвращает информацию об этой функции. Определены следующие коды: code
')
'deriv' | Имя производной функции |
'pfullderiv' | Вход: редуцированная производная = 2, полная производная = 1, линейная производная = 0 |
'wfullderiv' | Вес: восстановленная производная = 2, полная производная = 1, линейная производная = 0 |
'name' | Полное имя |
'fpnames' | Возвращает имена параметров функции |
'fpdefaults' | Возвращает параметры функции по умолчанию |
Здесь вы задаете матрицу случайного веса W
и входной вектор P
и вычислите соответствующий взвешенный вход Z
.
W = rand(4,3); P = rand(3,1); Z = dotprod(W,P)
Можно создать стандартную сеть, которая использует dotprod
по вызову feedforwardnet
.
Чтобы изменить сеть, чтобы вес входа использовал dotprod
, задать net.inputWeights{i,j}.weightFcn
на 'dotprod'
. Для веса слоя задайте net.layerWeights{i,j}.weightFcn
на 'dotprod'
.
В любом случае звоните sim
чтобы симулировать сеть с dotprod
.
dist
| feedforwardnet
| negdist
| normprod
| sim