next up previous
Next: Cost function and parameter Up: Estimating the inverse nonlinear Previous: Estimating the inverse nonlinear

MLP model

To represent each inverse nonlinear function $ g_j(.)$ ( $ j=1,\dots,m$) we use a single input, single output multilayer perceptron with one hidden layer of $ r$ neurons. Once the samples are clustered into $ n$ sets by the spectral clustering algorithm, the elements of each set are used as input patterns for the $ m$ MLPs. In particular, for the $ i$-th cluster we have patterns $ {\bf
c}^i(t)=(c_1^i(t),c_2^i(t),\dots, c_m^i(t))$, where $ t$ is a discrete time unit. The $ j$-th component of each pattern is fed into the $ j$-th MLP, whose output is given by

$\displaystyle d_j^i(t) = g_j\left(c_j^i(t)\right) = \textbf{w}_{j,2}^T \phi\left(\textbf{w}_{j,1} c_j^i(t) + \textbf{b}_{j,1}\right) + b_{j,2}$ (4)

where $ \textbf{w}_{j,1}, \textbf{w}_{j,2} \in \mathbb{R}^{r\times
1}$ are weight vectors, $ \textbf{b}_{j,1} \in \mathbb{R}^{r\times
1}$ and $ b_{j,2} \in \mathbb{R}$ are biases and $ \phi(.)$ is a neuron activation function. For all the neurons in the hidden layers we chose to use the hyperbolic tangent activation function.

Figure 1: The block diagram used for the MLP parameter training for $ m=2$. The blocks labelled $ g_1(.)$ and $ g_2(.)$ represent the two MLPs. The slope estimator is used to estimate the slope $ K_{1,2}^i$ of the curve formed by $ (d_1^i(t),d_2^i(t))$. To train the upper MLP, we use as desired signal $ K_{1,2}^i d^i_2(t)$. In this way the error signal $ e_1^i(t) = d_1^i(t) - K_{1,2}^i d_2^i(t)$ measures the deviation from linearity of this curve. The same procedure is carried out for the lower MLP.
The block diagram used for the MLP parameter training for m=2.


next up previous
Next: Cost function and parameter Up: Estimating the inverse nonlinear Previous: Estimating the inverse nonlinear
Steven Van Vaerenbergh
Last modified: 2006-04-05