# Adaptive Control of Nonlinear Discrete-Time Systems by Using OS-ELM Neural Networks

Authors: Xiao-Li Li; Chao Jia; De-xin Liu; Da-wei Ding
Journal: Abstract and Applied Analysis
 (2014)

---

## Abstract

As a kind of novel feedforward neural network with single hidden layer, ELM (extreme learning machine) neural networks are studied for the identification and control of nonlinear dynamic systems. The property of simple structure and fast convergence of ELM can be shown clearly. In this paper, we are interested in adaptive control of nonlinear dynamic plants by using OS-ELM (online sequential extreme learning machine) neural networks. Based on data scope division, the problem that training process of ELM neural network is sensitive to the initial training data is also solved. According to the output range of the controlled plant, the data corresponding to this range will be used to initialize ELM. Furthermore, due to the drawback of conventional adaptive control, when the OS-ELM neural network is used for adaptive control of the system with jumping parameters, the topological structure of the neural network can be adjusted dynamically by using multiple model switching strategy, and an MMAC (multiple model adaptive control) will be used to improve the control performance. Simulation results are included to complement the theoretical results.


---

## Body

## 1. Introduction

Modeling and controlling of nonlinear systems are always the main research field in control theory and engineering [1–3]; great progresses in this field have been made in the past 30 years, but many problems still exist. In the actual industrial process, exact mathematical models are always very difficult to get even with the existence of huge numbers of input-output or state data. Therefore, data based control of nonlinear systems has been concerned especially in recent 10 years. Artificial neural network has been recognized as a powerful tool for the identification and control of nonlinear systems since it was applied to nonlinear system [4]. Numerous learning algorithms have been proposed for the training of the network, among which BP algorithm [5] and RBF algorithm are used very frequently. But it is generally known that the BP faces some bottlenecks such as trivial manual parameters tuning (leaning rate, learning epochs, etc.), local minima, and poor computational scalability. Recently, a new learning algorithm for single-hidden-layer feedforward neural networks (SLFNs) named extreme learning machine (ELM) has been proposed by Huang et al. [6, 7]. The essence of ELM is that input weights and bias of hidden neurons are generated randomly; the hidden layer of SLFNs need not be tuned [8]. Furthermore, based on least-square scheme, the smallest norm solution can be calculated analytically. Given that ELM algorithm is free of trivial iterative tuning and learning process is implemented through simple generalized inverse operation, it can achieve a much faster learning speed than other traditional algorithms.The training of batch processing ELM algorithms can be realized only after all the training samples are ready. But in actual application, the training data may come one by one or chunk by Huang et al. [8]. Therefore, Liang et al. proposed the OS-ELM [9] algorithm which can adjust its output weight adaptively when new observations are received. Unlike the batch learning algorithms, as soon as the learning process for particular training data is complemented, the data will be discarded; thus it avoids retraining of the previous observations [8].To the best of our knowledge, a large number of researches about ELM are focused on the regression and classification [10–12]. There are only few of published results regarding identification and control of nonlinear dynamic systems. In this paper, our interest will be kept in the identification and control of nonlinear dynamic plants by using OS-ELM neural networks. The adaptive controller based on OS-ELM neural network model can be constructed. In simulation process, on one hand, since the training process of OS-ELM neural network is sensitive to the initial training data, different regions of the initial data can cause large diversity of control result. Thus, large numbers of initial data can be classified previously into multiple regions. Then, according to the range of expected output of the controlled plant, we can choose the corresponding initial data to initialize OS-ELM neural networks. On the other hand, multiple model switching strategy will be used for the adaptive control by using OS-ELM neural network when a system with jumping parameters is controlled. Based on the two aspects which are maintained in the above, OS-ELM algorithm is extended to the field of control.The paper is organized as follows. The structure of ELM neural network and OS-ELM algorithm are introduced in Section2. Then, adaptive control of nonlinear dynamic system by using OS-ELM is stated in Section 3. Considering that OS-ELM is sensitive to the initial training data, the relationship between control performance and the selection of the initial training data is discussed for OS-ELM neural network; furthermore, simulation results about OS-ELM control and multiple OS-ELM models control are also shown in Section 4. Finally some conclusions are drawn in Section 5.


## 2. ELM Neural Networks

Let us consider standard single-hidden-layer feedforward neural networks (SLFNs) withL hidden nodes and activation function G(ai,bi,x); the structure is shown in Figure 1. Given N arbitrary distinct samples {(xi,ti)}i=1N⊂Rn×Rm, then the network can be mathematically modeled as
(1)fL(x)=∑i=1L‍βihi(x)=∑i=1L‍βiG(ai,bi,x),
where ai is the weight vector connecting the ith hidden neuron and the input neurons, βi is the weight vector connecting the ith hidden neuron and the output neurons, bi is the bias of the ith hidden neuron, and G(ai,bi,x) denotes the output function of the ith hidden node which is bounded.Figure 1
Single-hidden-layer feedforward networks.To approximate theseN samples {(xi,ti)}i=1N⊂Rn×Rm with zero error is to search for a solution of (ai,bi) and βi satisfying
(2)fL(xj)=∑i=1L‍βiG(ai,bi,xj)=tjj=1,2,…,N.
The above N equation can be written compactly as
(3)Hβ=T,
where H is the hidden-layer output matrix
(4)H=[h(x1)⋮h(xN)]=[G(a1,b1,x1)⋯G(aL,bL,x1)⋮⋮G(a1,b1,xN)⋯G(aL,bL,xN)]N×Lβ=[β1T⋮βLT]L×m,T=[t1T⋮tNT]N×m.The Essence of ELM. The hidden layer of ELM need not be iteratively tuned. According to feedforward neural network theory both the training error ∥Hβ-T∥2 and the norm of weights ∥β∥ need to be minimized [8].


### 2.1. Basic ELM

The hidden node parameters(ai,bi) remain fixed after being randomly generated. The training of a SLFNs is equivalent to find a least-square solution β^ of the linear system Hβ=T; that is,
(5)∥Hβ^-T∥=min⁡β∥Hβ-T∥.
The smallest norm least-squares solution of the above linear system is
(6)β^=H+T,
where H+ can be obtained by H+=(HTH)-1HT, if HTH is nonsingular, and H+=HT(HHT)-1, if HHT is nonsingular [8]. To summarize, the learning process can be demonstrated as the following.Basic ELM Algorithm. One is given a training set{(xi,ti)}i=1N⊂Rn×Rm, output function G(ai,bi,x) and hidden node number L.Step  1. Randomly assign hidden node parameters (ai,bi), i=1,…,LStep  2. Calculate the hidden-layer output matrix H.Step  3. Calculate the output weight β using the equation β=H+T, where T=[t1⋯tN]T.


### 2.2. OS-ELM

As mentioned above in Section2.1, one of the solutions of the output weight vector β is
(7)β=(HTH)-1HTT.
This algorithm just needs one step learning. Indeed, basic ELM algorithm is a batch learning algorithm. However, in actual application environment the training data may come one by one or chunk by Huang et al. [8]. Therefore, Liang et al. proposed the OS-ELM [9] algorithm which can adjust its output weight β adaptively when new observations are received. The algorithm can be summarized as follows.OS-ELM Algorithm. One is given a training setS={(xi,ti)∣xi∈Rn,ti∈Rm,i=1,…}, output function G(ai,bi,x), and hidden node number L.Step  1  Initialization Phase. From the given training set S, a small chunk of training data S0={(xi,ti)}i=1N0 is used to initialize the learning, where, N0≥L.(a)
Assign random parameters of hidden nodes(ai,bi), where i=1,…,L.(b)
Calculate the initial hidden-layer output matrixH0.(c)
Calculate the initial output weightβ0=P0H0TT0, where P0=(H0TH0)-1 and T0=[t1⋯tN0]T.(d)
Setk=0, where k is the number of chunks which is trained currently.Step  2  Sequential Learning Phase. (a) Present the (k+1)th chunk of new observations Sk+1={(xi,ti)}i=(∑j=0k‍Nj)+1∑j=0k+1‍Nj; here Nk+1 denotes the number of observations in the (k+1)th chunk.(b) Calculate the partial hidden-layer output matrixHk+1 for the (k+1)th chunk of data Sk+1:
(8)Hk+1=[G(a1,b1,x(∑j=0k‍Nj)+1)⋯G(aL,bL,x(∑j=0k‍Nj)+1)⋮⋯⋮G(a1,b1,x∑j=0k+1‍Nj)⋯G(aL,bL,x∑j=0k+1‍Nj)].
Set Tk+1=[t(∑j=0k‍Nj)+1,…,t∑j=0k+1‍Nj]T.(c)
Calculate the output weight(9)Pk+1=Pk-PkHk+1T(I+Hk+1PkHk+1T)-1Hk+1Pkβk+1=βk+Pk+1Hk+1T(Tk+1-Hk+1βk).(d)
Setk=k+1. Go to Step 2(a).It can be seen from the above OS-ELM algorithm that OS-ELM becomes the batch ELM whenN0=N. For the detailed description, readers can refer to Liang et al. [9]. From (9), it can be seen that the OS-ELM algorithm is similar to recursive least-squares (RLS) in [13]. Hence, all the convergence results of RLS can be applied here.


## 2.1. Basic ELM

The hidden node parameters(ai,bi) remain fixed after being randomly generated. The training of a SLFNs is equivalent to find a least-square solution β^ of the linear system Hβ=T; that is,
(5)∥Hβ^-T∥=min⁡β∥Hβ-T∥.
The smallest norm least-squares solution of the above linear system is
(6)β^=H+T,
where H+ can be obtained by H+=(HTH)-1HT, if HTH is nonsingular, and H+=HT(HHT)-1, if HHT is nonsingular [8]. To summarize, the learning process can be demonstrated as the following.Basic ELM Algorithm. One is given a training set{(xi,ti)}i=1N⊂Rn×Rm, output function G(ai,bi,x) and hidden node number L.Step  1. Randomly assign hidden node parameters (ai,bi), i=1,…,LStep  2. Calculate the hidden-layer output matrix H.Step  3. Calculate the output weight β using the equation β=H+T, where T=[t1⋯tN]T.


## 2.2. OS-ELM

As mentioned above in Section2.1, one of the solutions of the output weight vector β is
(7)β=(HTH)-1HTT.
This algorithm just needs one step learning. Indeed, basic ELM algorithm is a batch learning algorithm. However, in actual application environment the training data may come one by one or chunk by Huang et al. [8]. Therefore, Liang et al. proposed the OS-ELM [9] algorithm which can adjust its output weight β adaptively when new observations are received. The algorithm can be summarized as follows.OS-ELM Algorithm. One is given a training setS={(xi,ti)∣xi∈Rn,ti∈Rm,i=1,…}, output function G(ai,bi,x), and hidden node number L.Step  1  Initialization Phase. From the given training set S, a small chunk of training data S0={(xi,ti)}i=1N0 is used to initialize the learning, where, N0≥L.(a)
Assign random parameters of hidden nodes(ai,bi), where i=1,…,L.(b)
Calculate the initial hidden-layer output matrixH0.(c)
Calculate the initial output weightβ0=P0H0TT0, where P0=(H0TH0)-1 and T0=[t1⋯tN0]T.(d)
Setk=0, where k is the number of chunks which is trained currently.Step  2  Sequential Learning Phase. (a) Present the (k+1)th chunk of new observations Sk+1={(xi,ti)}i=(∑j=0k‍Nj)+1∑j=0k+1‍Nj; here Nk+1 denotes the number of observations in the (k+1)th chunk.(b) Calculate the partial hidden-layer output matrixHk+1 for the (k+1)th chunk of data Sk+1:
(8)Hk+1=[G(a1,b1,x(∑j=0k‍Nj)+1)⋯G(aL,bL,x(∑j=0k‍Nj)+1)⋮⋯⋮G(a1,b1,x∑j=0k+1‍Nj)⋯G(aL,bL,x∑j=0k+1‍Nj)].
Set Tk+1=[t(∑j=0k‍Nj)+1,…,t∑j=0k+1‍Nj]T.(c)
Calculate the output weight(9)Pk+1=Pk-PkHk+1T(I+Hk+1PkHk+1T)-1Hk+1Pkβk+1=βk+Pk+1Hk+1T(Tk+1-Hk+1βk).(d)
Setk=k+1. Go to Step 2(a).It can be seen from the above OS-ELM algorithm that OS-ELM becomes the batch ELM whenN0=N. For the detailed description, readers can refer to Liang et al. [9]. From (9), it can be seen that the OS-ELM algorithm is similar to recursive least-squares (RLS) in [13]. Hence, all the convergence results of RLS can be applied here.


## 3. Adaptive Control by Using OS-ELM Neural Networks

### 3.1. Identification

Consider the following SISO nonlinear discrete-time system:(10)yk+1=f0(·)+g0(·)uk-d+1,
where f0 and g0 are infinitely differentiable functions defined on a compact set of F⊂Rn+m, G⊂Rn+m. Consider
(11)yk-n+1,…,yk,uk-d-m+1,…,uk-d.y is the output, u is the input, m≤n, d is the relative degree of the system, and g0 is bounded away from zero. The arguments of f0 and g0 are real variables. In this paper, we consider a simplified form with d=1. Then the SISO nonlinear discrete-time system can be described as
(12)yk+1=f0[xk]+g0[xk]uk,
where xk=[yk-n+1,…,yk,uk-m,…,uk-1]. Let us first assume that there exist exact weights w* and v*, the functions f^[xk,w*] and g^[xk,v*] which can approximate the functions f0[xk] and g0[xk] without unmodelled dynamic. The nonlinear system (12) can be described by the neural networks as follows:
(13)yk+1=f^[xk,w*]+g^[xk,v*]uk,
where the functions f^[·,·] and g^[·,·] can be selected as OS-ELM neural networks; that is,
(14)f^[xk,w*]=∑i=1L‍wi*G(ai,bi,xk)g^[xk,v*]=∑i=L2L‍vi*G(ai,bi,xk).ai, bi can be generated randomly and kept in constant. Then (13) can be rewritten as
(15)yk+1=Φkθ0*,
where Φk=[G(a1,b1,xk)⋯G(aL,bL,xk)G(aL+1,bL+1,xk)uk⋯G(a2L,b2L,xk)uk], θ0*=[w*v*]T.Letwk and vk denote the estimates of w* and v* at time k. The neural network identification model can be shown as follows:
(16)y^k+1=f^[xk,wk]+g^[xk,vk]uk
that is,
(17)y^k+1=Φkθ^k,
where θ^k=[wkvk]. Define ek+1* as
(18)ek+1*=yk+1-y^k+1=yk+1-Φkθ^k.
Referring to the OS-ELM algorithm, taking into account the existence of time-series in control system, the on-line observation data comes one by one; if we choose Nj≡1, the updating ruler can be rewritten as
(19)Pk=Pk-1-Pk-1ΦkTΦkPk-11+ΦkPk-1ΦkTθ^k+1=θ^k+PkΦkTek+1*,
where θ^0=θ0 and P0=(Φ0TΦ0)-1 can be obtained in OS-ELM Step 1 Initialization Phase.Due to the existence of unmodelling dynamics, the nonlinear system (15) can be represented as
(20)yk+1=Φkθ0*+Δf,
where Δf is the model error and satisfies sup⁡|Δf|≤ɛ. Then a deed-zone algorithm will be used:
(21)Pk=Pk-1-σkPk-1ΦkTΦkPk-11+σkΦkPk-1ΦkT(22)θ^k+1=θ^k+σkPkΦkTek+1*,
where
(23)σk={1|ek+1*|2(1+σkΦkPk-1ΦkT)2>ε20otherwise.Theorem 1.
Given the system described by (20), if the updating ruler described by (21)–(23), we have the following results:(i)(24)∥θ0*-θ^k∥2≤∥θ0*-θ^k-1∥2≤∥θ0*-θ^1∥2,(ii)(25)lim⁡N→∞∑k=1N‍σk[ek+1*2(1+σkΦkPk-1ΦkT)2-ε2]<∞and this implies (a)(26)lim⁡k→∞σk[ek+1*2(1+σkΦkPk-1ΦkT)2-ε2]=0,(b)(27)lim⁡k→∞sup⁡ek+1*2(1+σkΦkPk-1ΦkT)2≤ε2.For the detailed proof of Theorem1, readers can refer to [14]; it can also be found in the appendix.


### 3.2. Adaptive Control Using OS-ELM

In this section we discuss the adaptive control problem using OS-ELM neural networks. For the system described as(28)yk+1=f0[xk]+g0[xk]uk,
OS-ELM neural network identification model as
(29)y^k+1=f^[xk,wk]+g^[xk,vk]uk,
control uk can be given as below:
(30)uk=-f^[xk,wk]+rk+1g^[xk,vk],
where rk+1 appears as desired output. The control uk is applied to both the plant and the neural network model.


#### 3.2.1. OS-ELM Adaptive Control Algorithm

Step  1  Initialization Phase. Given a random input sequence uk, where k=1,…,N0, from the controlled plant (12), we can get a small chunk of off-line training data S0={(xi,yi+1)}i=1N0⊂Rn×R1. Given output function G(ai,bi,x) and hidden node number 2L which are used to initialize the learning, where N0≥2L.(a)
Assign random parameters of hidden nodes(ai,bi), where i=1,…,2L.(b)
Calculate the initial hidden-layer output matrixΦ0.
(31)Φ0=[ϕ1⋮ϕN0]N0×2L,whereϕi=[G(a1,b1,xi)⋯G(a1,b1,xi)G(aL+1,bL+1,xi)ui⋯G(a2L,b2L,xi)ui], i=1,…,N0.(c)
Calculate the initial output weight as follows:(32)θ0=P0Φ0TY0,whereP0=(Φ0TΦ0)-1, θ0=[w0v0], and Y0=[y2⋯yN0+1]T.
(d)
Setk=N0+1.Step  2  Adaptive Control Phase. (a) Calculate the control uk and the output of the plant yk+1:
(33)uk=-f^[xk,wk]+rk+1g^[xk,vk]yk+1=f0[xk]+g0[xk]uk,
where θ^N0+1=[wN0+1vN0+1]≜θ0, xk=[yk-n+1,…,yk,uk-m,…,uk-1].(b) Calculate the partial hidden-layer output matrixΦk for the kth observation data:(34)Φk=[G(a1,b1,xk)⋯G(aL,bL,xk)G(aL+1,bL+1,xk)uk⋯G(a2L,b2L,xk)uk].(c) Calculate the output weight(35)Pk=Pk-1-σkPk-1ΦkTΦkPk-11+σkΦkPk-1ΦkTθ^k+1=θ^k+σkPkΦkTek+1*,
where PN0≜P0(36)σk={1|ek+1*|2(1+σkΦkPk-1ΦkT)2>ε20otherwise.(d) Setk=k+1. Go to Step 2(a).


### 3.3. Stability Analysis

Define the error between the neural network identification state and the reference model state as(37)e^k+1=y^k+1-rk+1;
that is,
(38)e^k+1=f^[xk,wk]+g^[xk,vk]uk-rk+1.
By (30), we have
(39)e^k+1=rk+1-rk+1=0.
The control error is defined as
(40)ek+1=yk+1-rk+1;
that is,
(41)ek+1=yk+1-y^k+1+y^k+1-rk+1,
so,
(42)ek+1=ek+1*+e^k+1=ek+1*.
Using the properties of the parameter estimation algorithm stated in Theorem 1, we immediately have
(43)lim⁡k→∞σk[ek+12(1+σkΦkPk-1ΦkT)2-ε2]=0.
Because the activation function G(ai,bi,x) is bounded, then f^ and g^ are bounded. If uk is chosen as (30), then uk is bounded; hence Φk is bounded. From (43) we have
(44)lim⁡k→∞sup⁡ek+12(1+σkΦkPk-1ΦkT)2≤ε2.
Considering that Φk is bounded, then ek+12 is bounded. From (40), yk+1=ek+1+rk+1, rk is bounded; then yk+1 is bounded too.To sum up, we find that OS-ELM neural networks have the capability of identification of and controling nonlinear systems. However, as we know, the conventional adaptive control systems are usually based on a fixed or slowly adaptive model. It cannot react quickly to abrupt changes and will result in large transient errors before convergence. In this case, MMAC algorithm is presented as a useful tool. We can construct multiple OS-ELM neural networks to cover the uncertainty of the parameters of the plant by initializing OS-ELM neural network, respectively, in different position. Meanwhile, an effective index function can be used to select the optimal identification model and the optimal controller. MMAC based on OS-ELM algorithm can improve the control property of the system greatly and avoid the influence of jumping parameter on the plant.


### 3.4. Multiple Model Adaptive Control

Multiple model adaptive control can be regarded as an extension of conventional indirect adaptive control. The control system containsM identification models, denoted by Il, l∈{1,2,…,M}. According to (16) and (30), multiple models set can be established as the following:
(45)Il:y^k+1l=f^l[xk,wkl]+g^l[xk,vkl]ukl,
where
(46)f^l[xk,wkl]=∑i=1L‍wilG(ai,bi,xk)g^l[xk,vkl]=∑i=L2L‍vilG(ai,bi,xk).
The control ukl can be rewritten as
(47)ukl=-f^l[xk,wkl]+rk+1g^l[xk,vkl].
Define ek+1*l≜yk+1-y^k+1l. In any instant, one of the models Il is selected by a switching rule, and the corresponding control input is used to control the plant. Referring to Theorem 1 the index function has the form
(48)Jkl=∑τ=1k‍στ[eτ+1*2(1+στΦτPτ-1ΦτT)2-ε2].
At every sample time, the model that corresponds to the minimum Jkl is chosen; that is, Ii is chosen if
(49)Jki=min⁡lJkl
and uki is used as the control input at that instant. The structure of multiple models adaptive control can be shown in Figure 2.Figure 2
Structure of multiple models adaptive control.Referring to paper [15], Narendra and Xiang established 4 kinds of structure of MMAC. (1) All models are fixed; (2) all models are adaptive; (3)(M-1) fixed models and one adaptive model; (4)(M-2) fixed models, one free running adaptive model, and one reinitialized adaptive model. We can get a similar result of the stability. For the detailed proof of stability of MMAC, the reader can refer to [15–17].


## 3.1. Identification

Consider the following SISO nonlinear discrete-time system:(10)yk+1=f0(·)+g0(·)uk-d+1,
where f0 and g0 are infinitely differentiable functions defined on a compact set of F⊂Rn+m, G⊂Rn+m. Consider
(11)yk-n+1,…,yk,uk-d-m+1,…,uk-d.y is the output, u is the input, m≤n, d is the relative degree of the system, and g0 is bounded away from zero. The arguments of f0 and g0 are real variables. In this paper, we consider a simplified form with d=1. Then the SISO nonlinear discrete-time system can be described as
(12)yk+1=f0[xk]+g0[xk]uk,
where xk=[yk-n+1,…,yk,uk-m,…,uk-1]. Let us first assume that there exist exact weights w* and v*, the functions f^[xk,w*] and g^[xk,v*] which can approximate the functions f0[xk] and g0[xk] without unmodelled dynamic. The nonlinear system (12) can be described by the neural networks as follows:
(13)yk+1=f^[xk,w*]+g^[xk,v*]uk,
where the functions f^[·,·] and g^[·,·] can be selected as OS-ELM neural networks; that is,
(14)f^[xk,w*]=∑i=1L‍wi*G(ai,bi,xk)g^[xk,v*]=∑i=L2L‍vi*G(ai,bi,xk).ai, bi can be generated randomly and kept in constant. Then (13) can be rewritten as
(15)yk+1=Φkθ0*,
where Φk=[G(a1,b1,xk)⋯G(aL,bL,xk)G(aL+1,bL+1,xk)uk⋯G(a2L,b2L,xk)uk], θ0*=[w*v*]T.Letwk and vk denote the estimates of w* and v* at time k. The neural network identification model can be shown as follows:
(16)y^k+1=f^[xk,wk]+g^[xk,vk]uk
that is,
(17)y^k+1=Φkθ^k,
where θ^k=[wkvk]. Define ek+1* as
(18)ek+1*=yk+1-y^k+1=yk+1-Φkθ^k.
Referring to the OS-ELM algorithm, taking into account the existence of time-series in control system, the on-line observation data comes one by one; if we choose Nj≡1, the updating ruler can be rewritten as
(19)Pk=Pk-1-Pk-1ΦkTΦkPk-11+ΦkPk-1ΦkTθ^k+1=θ^k+PkΦkTek+1*,
where θ^0=θ0 and P0=(Φ0TΦ0)-1 can be obtained in OS-ELM Step 1 Initialization Phase.Due to the existence of unmodelling dynamics, the nonlinear system (15) can be represented as
(20)yk+1=Φkθ0*+Δf,
where Δf is the model error and satisfies sup⁡|Δf|≤ɛ. Then a deed-zone algorithm will be used:
(21)Pk=Pk-1-σkPk-1ΦkTΦkPk-11+σkΦkPk-1ΦkT(22)θ^k+1=θ^k+σkPkΦkTek+1*,
where
(23)σk={1|ek+1*|2(1+σkΦkPk-1ΦkT)2>ε20otherwise.Theorem 1.
Given the system described by (20), if the updating ruler described by (21)–(23), we have the following results:(i)(24)∥θ0*-θ^k∥2≤∥θ0*-θ^k-1∥2≤∥θ0*-θ^1∥2,(ii)(25)lim⁡N→∞∑k=1N‍σk[ek+1*2(1+σkΦkPk-1ΦkT)2-ε2]<∞and this implies (a)(26)lim⁡k→∞σk[ek+1*2(1+σkΦkPk-1ΦkT)2-ε2]=0,(b)(27)lim⁡k→∞sup⁡ek+1*2(1+σkΦkPk-1ΦkT)2≤ε2.For the detailed proof of Theorem1, readers can refer to [14]; it can also be found in the appendix.


## 3.2. Adaptive Control Using OS-ELM

In this section we discuss the adaptive control problem using OS-ELM neural networks. For the system described as(28)yk+1=f0[xk]+g0[xk]uk,
OS-ELM neural network identification model as
(29)y^k+1=f^[xk,wk]+g^[xk,vk]uk,
control uk can be given as below:
(30)uk=-f^[xk,wk]+rk+1g^[xk,vk],
where rk+1 appears as desired output. The control uk is applied to both the plant and the neural network model.


### 3.2.1. OS-ELM Adaptive Control Algorithm

Step  1  Initialization Phase. Given a random input sequence uk, where k=1,…,N0, from the controlled plant (12), we can get a small chunk of off-line training data S0={(xi,yi+1)}i=1N0⊂Rn×R1. Given output function G(ai,bi,x) and hidden node number 2L which are used to initialize the learning, where N0≥2L.(a)
Assign random parameters of hidden nodes(ai,bi), where i=1,…,2L.(b)
Calculate the initial hidden-layer output matrixΦ0.
(31)Φ0=[ϕ1⋮ϕN0]N0×2L,whereϕi=[G(a1,b1,xi)⋯G(a1,b1,xi)G(aL+1,bL+1,xi)ui⋯G(a2L,b2L,xi)ui], i=1,…,N0.(c)
Calculate the initial output weight as follows:(32)θ0=P0Φ0TY0,whereP0=(Φ0TΦ0)-1, θ0=[w0v0], and Y0=[y2⋯yN0+1]T.
(d)
Setk=N0+1.Step  2  Adaptive Control Phase. (a) Calculate the control uk and the output of the plant yk+1:
(33)uk=-f^[xk,wk]+rk+1g^[xk,vk]yk+1=f0[xk]+g0[xk]uk,
where θ^N0+1=[wN0+1vN0+1]≜θ0, xk=[yk-n+1,…,yk,uk-m,…,uk-1].(b) Calculate the partial hidden-layer output matrixΦk for the kth observation data:(34)Φk=[G(a1,b1,xk)⋯G(aL,bL,xk)G(aL+1,bL+1,xk)uk⋯G(a2L,b2L,xk)uk].(c) Calculate the output weight(35)Pk=Pk-1-σkPk-1ΦkTΦkPk-11+σkΦkPk-1ΦkTθ^k+1=θ^k+σkPkΦkTek+1*,
where PN0≜P0(36)σk={1|ek+1*|2(1+σkΦkPk-1ΦkT)2>ε20otherwise.(d) Setk=k+1. Go to Step 2(a).


## 3.2.1. OS-ELM Adaptive Control Algorithm

Step  1  Initialization Phase. Given a random input sequence uk, where k=1,…,N0, from the controlled plant (12), we can get a small chunk of off-line training data S0={(xi,yi+1)}i=1N0⊂Rn×R1. Given output function G(ai,bi,x) and hidden node number 2L which are used to initialize the learning, where N0≥2L.(a)
Assign random parameters of hidden nodes(ai,bi), where i=1,…,2L.(b)
Calculate the initial hidden-layer output matrixΦ0.
(31)Φ0=[ϕ1⋮ϕN0]N0×2L,whereϕi=[G(a1,b1,xi)⋯G(a1,b1,xi)G(aL+1,bL+1,xi)ui⋯G(a2L,b2L,xi)ui], i=1,…,N0.(c)
Calculate the initial output weight as follows:(32)θ0=P0Φ0TY0,whereP0=(Φ0TΦ0)-1, θ0=[w0v0], and Y0=[y2⋯yN0+1]T.
(d)
Setk=N0+1.Step  2  Adaptive Control Phase. (a) Calculate the control uk and the output of the plant yk+1:
(33)uk=-f^[xk,wk]+rk+1g^[xk,vk]yk+1=f0[xk]+g0[xk]uk,
where θ^N0+1=[wN0+1vN0+1]≜θ0, xk=[yk-n+1,…,yk,uk-m,…,uk-1].(b) Calculate the partial hidden-layer output matrixΦk for the kth observation data:(34)Φk=[G(a1,b1,xk)⋯G(aL,bL,xk)G(aL+1,bL+1,xk)uk⋯G(a2L,b2L,xk)uk].(c) Calculate the output weight(35)Pk=Pk-1-σkPk-1ΦkTΦkPk-11+σkΦkPk-1ΦkTθ^k+1=θ^k+σkPkΦkTek+1*,
where PN0≜P0(36)σk={1|ek+1*|2(1+σkΦkPk-1ΦkT)2>ε20otherwise.(d) Setk=k+1. Go to Step 2(a).


## 3.3. Stability Analysis

Define the error between the neural network identification state and the reference model state as(37)e^k+1=y^k+1-rk+1;
that is,
(38)e^k+1=f^[xk,wk]+g^[xk,vk]uk-rk+1.
By (30), we have
(39)e^k+1=rk+1-rk+1=0.
The control error is defined as
(40)ek+1=yk+1-rk+1;
that is,
(41)ek+1=yk+1-y^k+1+y^k+1-rk+1,
so,
(42)ek+1=ek+1*+e^k+1=ek+1*.
Using the properties of the parameter estimation algorithm stated in Theorem 1, we immediately have
(43)lim⁡k→∞σk[ek+12(1+σkΦkPk-1ΦkT)2-ε2]=0.
Because the activation function G(ai,bi,x) is bounded, then f^ and g^ are bounded. If uk is chosen as (30), then uk is bounded; hence Φk is bounded. From (43) we have
(44)lim⁡k→∞sup⁡ek+12(1+σkΦkPk-1ΦkT)2≤ε2.
Considering that Φk is bounded, then ek+12 is bounded. From (40), yk+1=ek+1+rk+1, rk is bounded; then yk+1 is bounded too.To sum up, we find that OS-ELM neural networks have the capability of identification of and controling nonlinear systems. However, as we know, the conventional adaptive control systems are usually based on a fixed or slowly adaptive model. It cannot react quickly to abrupt changes and will result in large transient errors before convergence. In this case, MMAC algorithm is presented as a useful tool. We can construct multiple OS-ELM neural networks to cover the uncertainty of the parameters of the plant by initializing OS-ELM neural network, respectively, in different position. Meanwhile, an effective index function can be used to select the optimal identification model and the optimal controller. MMAC based on OS-ELM algorithm can improve the control property of the system greatly and avoid the influence of jumping parameter on the plant.


## 3.4. Multiple Model Adaptive Control

Multiple model adaptive control can be regarded as an extension of conventional indirect adaptive control. The control system containsM identification models, denoted by Il, l∈{1,2,…,M}. According to (16) and (30), multiple models set can be established as the following:
(45)Il:y^k+1l=f^l[xk,wkl]+g^l[xk,vkl]ukl,
where
(46)f^l[xk,wkl]=∑i=1L‍wilG(ai,bi,xk)g^l[xk,vkl]=∑i=L2L‍vilG(ai,bi,xk).
The control ukl can be rewritten as
(47)ukl=-f^l[xk,wkl]+rk+1g^l[xk,vkl].
Define ek+1*l≜yk+1-y^k+1l. In any instant, one of the models Il is selected by a switching rule, and the corresponding control input is used to control the plant. Referring to Theorem 1 the index function has the form
(48)Jkl=∑τ=1k‍στ[eτ+1*2(1+στΦτPτ-1ΦτT)2-ε2].
At every sample time, the model that corresponds to the minimum Jkl is chosen; that is, Ii is chosen if
(49)Jki=min⁡lJkl
and uki is used as the control input at that instant. The structure of multiple models adaptive control can be shown in Figure 2.Figure 2
Structure of multiple models adaptive control.Referring to paper [15], Narendra and Xiang established 4 kinds of structure of MMAC. (1) All models are fixed; (2) all models are adaptive; (3)(M-1) fixed models and one adaptive model; (4)(M-2) fixed models, one free running adaptive model, and one reinitialized adaptive model. We can get a similar result of the stability. For the detailed proof of stability of MMAC, the reader can refer to [15–17].


## 4. Simulation Results

### 4.1. Adaptive Control

In this section, we present results of simulations of adaptive control nonlinear discrete-time systems by using OS-ELM neural networks. The nonlinear systems will be considered as below:(50)yk+1=yk*(1-0.5*F)+0.5*F1+yk2-0.5*(1+yk)uk,
where we define f[yk]=(yk*(1-0.5*F)+0.5*F)/(1+yk2) and g[yk]=-0.5*(1+yk); F=0.1 is a scalar. The control goal is to force the system states to track a reference model trajectory. We select the reference model as
(51)rk=0.2*sin(2πk100).
The single-input/single-output nonlinear discrete-time system can be modeled by
(52)y^k+1=f^[yk,wk]+g^[yk,vk]uk,
where f^ and g^ are OS-ELM neural networks. The neural networks f^ and g^ have the same structure ℵ1,50,1. Based on the OS-ELM adaptive control algorithm, the parameters of the neural networks wk and vk are updated to wk+1 and vk+1 using OS-ELM Algorithm.For OS-ELM control algorithm, in Step 1, we chooseN0=300; the control uk is selected randomly from [0,0.2]. A small chunk of off-line training data is used to calculate the initial output weights w0 and v0. Since ELM algorithm just adjusts the output weight, it shows fast and accurate identification results.Following this, in Step 2, both identification and control are implemented. The response of the controlled system with a reference inputrk=sin(2πk/100) by using OS-ELM algorithm is shown in Figure 3. We can see that the controlled system can track the reference model rapidly. The control error is shown in Figure 4.Figure 3
Nonlinear systems adaptive control by using OS-ELM.Figure 4
Control error.


### 4.2. Choice of the Data Set

In simulation process, we find that OS-ELM is sensitive to the initial training data. Initial training data determine the initial value of adaptive control directly. When we select different initial training samples, the performance of the control results varies greatly. Figure5 shows the control results using OS-ELM neural networks with different initial training samples.OS-ELM control results with different initial training samples.
(a)
(
-
0.2,0
) random input
(b)
(
0,0.2
) random inputIn Figure6 we select 6 different ranges of random input-output pair. We can find that different ranges of input values and the corresponding output values concentrate in a single area. According to the output ranges of the controlled plant, we can choose a specific data area to train the neural network. In Figure 5, the output range of the controlled system is in the [-0.2,0.2]. If we adopt [0,0.2] random input (red area in Figure 6(b), initializing OS-ELM by using this set data), the control result is shown in Figure 5(b). On the contrary, if the random input in the other area (Green, Blue, yellow area, and so on in Figure 6(b)) is used to initialize OS-ELM, the control result is poor (Figure 5(a)).Data set. (a) Output results with different input data. (b) Different ranges of input values and the corresponding output values concentrate in a single area.
(a)
(b)On one hand, in the actual production process, we have a large number of field data which is distributed over a large range. On the other hand, we generally know the objective output range of the controlled plant. Then, according to the output range of the controlled plant, we can choose a specific data area to train the neural network. In this way, the accuracy of control can be improved and the computation time can be saved.


### 4.3. Multiple Models Adaptive Control

From the above simulation result, we find that OS-ELM neural networks show perfect capability of identification. But from the OS-ELM adaptive control algorithm we can see that it contains two steps (initialization phase and adaptive control phase). This algorithm just shows the perfect capability of identification with fixed or slowly time-varying parameters. For the system with jumping parameters, once the change of parameters happens, the OS-ELM adaptive control algorithm needs to implement Step 1 again or the control performance will be very poor. To solve this kind of problem, MMAC (multiple models adaptive control) will be presented as a very useful tool.Consider the controlled plant as follows:(53)yk+1=yk*(1-0.5*F)+0.5*F1+yk2-0.5*(1+yk)uk,
where
(54)F={0.1,1≤k<5000.15,500≤k<10000.355,1000≤k≤1500.
We choose the index function as (48) and construct 4 OS-ELM neural network models. Among them, the weights of 1# model are reinitialized ones; 2#,3# models are fixed models which are formed according to the environment of the changing parameters. 4# is free running adaptive model. In any sample time, 1# model chooses the optimal model from the models set which is formed by models (2#, 3#, and 4# model). Figure 7 shows the response of multiple models and signal model.Multiple OS-ELM neural network models adaptive control.
(a)
(b)
(c)
(d)
(e)In Figure7(a), we can see that signal model adaptive control shows poor control quality for the system with jumping parameters. Once the parameters change abruptly, the neural network model needs to adjust its weight which is far from the true value. Figure 7(c) shows the bad control input. In MMAC, the reinitialized adaptive model can initiate the weights by choosing the best weights of a set of models based on the past performance of the plant. At every sample time, based on the index function, one of the best models in model set is selected; the parameters of reinitialized model can be updated from the paraments of this model. From Figure 7(b), we can see that MMAC can improve the control quality dramatically compared to Figure 7(a). Figure 7(d) shows the control sequence and Figure 7(e) shows the switching procedure of controlling MMAC.


## 4.1. Adaptive Control

In this section, we present results of simulations of adaptive control nonlinear discrete-time systems by using OS-ELM neural networks. The nonlinear systems will be considered as below:(50)yk+1=yk*(1-0.5*F)+0.5*F1+yk2-0.5*(1+yk)uk,
where we define f[yk]=(yk*(1-0.5*F)+0.5*F)/(1+yk2) and g[yk]=-0.5*(1+yk); F=0.1 is a scalar. The control goal is to force the system states to track a reference model trajectory. We select the reference model as
(51)rk=0.2*sin(2πk100).
The single-input/single-output nonlinear discrete-time system can be modeled by
(52)y^k+1=f^[yk,wk]+g^[yk,vk]uk,
where f^ and g^ are OS-ELM neural networks. The neural networks f^ and g^ have the same structure ℵ1,50,1. Based on the OS-ELM adaptive control algorithm, the parameters of the neural networks wk and vk are updated to wk+1 and vk+1 using OS-ELM Algorithm.For OS-ELM control algorithm, in Step 1, we chooseN0=300; the control uk is selected randomly from [0,0.2]. A small chunk of off-line training data is used to calculate the initial output weights w0 and v0. Since ELM algorithm just adjusts the output weight, it shows fast and accurate identification results.Following this, in Step 2, both identification and control are implemented. The response of the controlled system with a reference inputrk=sin(2πk/100) by using OS-ELM algorithm is shown in Figure 3. We can see that the controlled system can track the reference model rapidly. The control error is shown in Figure 4.Figure 3
Nonlinear systems adaptive control by using OS-ELM.Figure 4
Control error.


## 4.2. Choice of the Data Set

In simulation process, we find that OS-ELM is sensitive to the initial training data. Initial training data determine the initial value of adaptive control directly. When we select different initial training samples, the performance of the control results varies greatly. Figure5 shows the control results using OS-ELM neural networks with different initial training samples.OS-ELM control results with different initial training samples.
(a)
(
-
0.2,0
) random input
(b)
(
0,0.2
) random inputIn Figure6 we select 6 different ranges of random input-output pair. We can find that different ranges of input values and the corresponding output values concentrate in a single area. According to the output ranges of the controlled plant, we can choose a specific data area to train the neural network. In Figure 5, the output range of the controlled system is in the [-0.2,0.2]. If we adopt [0,0.2] random input (red area in Figure 6(b), initializing OS-ELM by using this set data), the control result is shown in Figure 5(b). On the contrary, if the random input in the other area (Green, Blue, yellow area, and so on in Figure 6(b)) is used to initialize OS-ELM, the control result is poor (Figure 5(a)).Data set. (a) Output results with different input data. (b) Different ranges of input values and the corresponding output values concentrate in a single area.
(a)
(b)On one hand, in the actual production process, we have a large number of field data which is distributed over a large range. On the other hand, we generally know the objective output range of the controlled plant. Then, according to the output range of the controlled plant, we can choose a specific data area to train the neural network. In this way, the accuracy of control can be improved and the computation time can be saved.


## 4.3. Multiple Models Adaptive Control

From the above simulation result, we find that OS-ELM neural networks show perfect capability of identification. But from the OS-ELM adaptive control algorithm we can see that it contains two steps (initialization phase and adaptive control phase). This algorithm just shows the perfect capability of identification with fixed or slowly time-varying parameters. For the system with jumping parameters, once the change of parameters happens, the OS-ELM adaptive control algorithm needs to implement Step 1 again or the control performance will be very poor. To solve this kind of problem, MMAC (multiple models adaptive control) will be presented as a very useful tool.Consider the controlled plant as follows:(53)yk+1=yk*(1-0.5*F)+0.5*F1+yk2-0.5*(1+yk)uk,
where
(54)F={0.1,1≤k<5000.15,500≤k<10000.355,1000≤k≤1500.
We choose the index function as (48) and construct 4 OS-ELM neural network models. Among them, the weights of 1# model are reinitialized ones; 2#,3# models are fixed models which are formed according to the environment of the changing parameters. 4# is free running adaptive model. In any sample time, 1# model chooses the optimal model from the models set which is formed by models (2#, 3#, and 4# model). Figure 7 shows the response of multiple models and signal model.Multiple OS-ELM neural network models adaptive control.
(a)
(b)
(c)
(d)
(e)In Figure7(a), we can see that signal model adaptive control shows poor control quality for the system with jumping parameters. Once the parameters change abruptly, the neural network model needs to adjust its weight which is far from the true value. Figure 7(c) shows the bad control input. In MMAC, the reinitialized adaptive model can initiate the weights by choosing the best weights of a set of models based on the past performance of the plant. At every sample time, based on the index function, one of the best models in model set is selected; the parameters of reinitialized model can be updated from the paraments of this model. From Figure 7(b), we can see that MMAC can improve the control quality dramatically compared to Figure 7(a). Figure 7(d) shows the control sequence and Figure 7(e) shows the switching procedure of controlling MMAC.


## 5. Conclusion

The application of OS-ELM in the identification and control of nonlinear dynamic system is studied carefully. OS-ELM neural network can improve the accuracy of identification and the control quality dramatically. Since the training process of OS-ELM neural network is sensitive to the initial training data, different scope of training data can be used to initialize OS-ELM neural network based on the output range of the system. The topological structure of OS-ELM neural network can be adjusted dynamically by using multiple model switching strategy, when it is used to control systems with jumping parameters. Simulation results show that MMAC based on OS-ELM which is presented in this paper can improve the control performance dramatically.



---

*Source: 267609-2014-05-22.xml*