Sigmoid network function for nonlinear ARX and Hammerstein-Wiener models
A sigmoidnet
object implements a sigmoid network function, and
is a nonlinear mapping function for estimating nonlinear ARX and Nonlinear Hammerstein-Weiner
models. The mapping function, which is also referred to as a
nonlinearity, uses a combination of linear weights, an offset and a
nonlinear function to compute its output. The nonlinear function contains sigmoid unit
functions that operate on a ridge combination (weighted linear sum) of inputs.
Mathematically, a sigmoidnet network is a function that maps m inputs X(t) = [x(t1),x2(t),…,xm(t)]T to a scalar output y(t) using the following relationship:
Here:
X(t) is an m-by-1 vector of inputs, or regressors, with mean .
y0 is the output offset, a scalar.
P is an m-by-p projection matrix, where m is the number of regressors and is p is the number of linear weights. m must be greater than or equal to p.
L is a p-by-1 vector of weights.
S(X) is a sum of dilated and translated sigmoid functions. The total number of sigmoid functions is referred to as the number of units n of the network.
For the definition of the sigmoid function term S(X) , see More About.
Use sigmoidnet
as the value of the OutputFcn
property of an idnlarx
model or the
InputNonlinearity
and OutputLinearity
properties
of an idnlhw
object. For example, specify
sigmoidnet
when you estimate an idnlarx
model with the
following
command.
sys = nlarx(data,regressors,sigmoidnet)
nlarx
estimates the model, it essentially estimates the parameters
of the sigmoidnet
function.
You can configure the sigmoidnet
function to disable components and fix
parameters. To omit the linear component, set LinearFcn.Use
to
false
. To omit the offset, set Offset.Use
to
false
. To specify known values for the linear function and the offset,
set their Value
attributes directly and set the corresponding
Free
attributes to False
. Use evaluate
to compute the output of the function for a given vector of
inputs.
creates a
S
= sigmoidnetsigmoidnet
object S
that uses 10 units. The number
of inputs is determined during model estimation and the number of outputs is 1.
specifies whether the function uses a linear function as a subcomponent.S
= sigmoidnet(numUnits
,UseLinearFcn
)
specifies whether the function uses an offset term
y0 parameter.S
= sigmoidnet(numUnits
,UseLinearFcn
,UseOffset
)
sigmoidnet
uses an iterative search technique for estimating
parameters.
customnet
| deadzone
| evaluate
| idnlarx
| idnlhw
| linear
| neuralnet
| nlarx
| nlhw
| poly1d
| pwlinear
| saturation
| treepartition
| unitgain
| wavenet