Функция веса точечного продукта
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