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