Функция веса скалярного произведения
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- Q скалярное произведение W и P.
dim = dotprod('size',S,R,FP) берет размерность слоя S, введите размерность R, и параметры функции, и возвращают размер веса [S- 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.
sim | dist | feedforwardnet | negdist | normprod