径向基RBF(radial basis function)函数、RBF神经网络、 反推(back-stepping)控制
文章目錄
- 1. 什么是徑向基函數
- 1. 高斯徑向基函數
- 2. 反演S型函數
- 3. 擬多二次函數
- 2. 正則化徑向基神經網絡
- 3. 基于RBF網絡逼近的自適應控制
- 1. 問題描述
- 2. RBF 網絡原理
- 3. 控制算法設計與分析
- 4. 仿真實例
- 4. RBF神經網絡自適應控制matlab仿真_RBF神經網絡及其在控制中的應用簡介
- 1. 采用梯度下降法計算權值
- 2. 依據穩定性理論設計權值
- 5. RBF神經網絡在控制中的應用
- 6. 嚴格反饋結構
- 7. 反推控制 Backstepping
1. 什么是徑向基函數
理解RBF網絡的工作原理可從兩種不同的觀點出發:
下面闡述基于函數逼近與內插觀點的工作原理。
1963年Davis提出高維空間的多變量插值理論。徑向基函數技術則是20世紀80年代后期,Powell在解決“多變量有限點嚴格(精確)插值問題”時引人的,目前徑向基函數已成為數值分析研究中的一個重要領域。
考慮一個由N維輸人空間到一維輸出空間的映射。設 NNN 維空間有 ppp 個輸人向量平,p=1,2,....,Pp=1,2,....,Pp=1,2,....,P,它們在輸出空間相應的目標值為 dp,p=1,2,...,Pd^p,~p=1,2,...,Pdp,?p=1,2,...,P,PPP 對輸人一輸出樣本構成了訓練樣本集。插值的目的是尋找一個非線性映射函數 F(X)F(X)F(X),使其滿足下述插值條件:
F(X)=dp,p=1,2,?,P(1)F(X) = d^p,~~~~p=1,2,\cdots,P \tag{1}F(X)=dp,????p=1,2,?,P(1)
式子中,函數 FFF 描述了一個插值曲面,所謂嚴格插值或精確插值,是一種完全內插,即該插值曲面必須通過所有訓練數據點。
那么到底什么是插值,在這里簡單的解釋一下,就是通過訓練集數據,我找到一個曲面,這個曲面可以完全覆蓋這些訓練點,那么找到這個曲面后就可以通過這個曲面取尋找其他的值了,下面畫個圖給大家看看:
就是我通過一些數據樣本點 ,每個樣本都有目標值,通映射高維空間去找到一個曲面 F(x)F(x)F(x),這個曲面需要經過所有的數據,一旦這個曲面確定以后,我就可以通過這個曲面去生成更多的數據目標值,就是這個意思了,好,我們繼續往下:
采用徑向基函數技術解決插值問題的方法是,選擇 PPP 個基函數個訓練數據,各基函數的形式為:
φ(∥x?xp∥),p=1,2,?,P(2)\varphi(\|x-x^p\|),~~~p=1,2,\cdots,P \tag{2}φ(∥x?xp∥),???p=1,2,?,P(2)
式中,基函數 φ\varphiφ 為非線性函數,訓練數據點 xPx^PxP 是 φ\varphiφ 的中心。
基函數以輸入空間的點 xxx 與中心 xPx^PxP 的距離作為函數的自變量。由于距離是徑向同性的,故函數被稱為徑向基函數。
基于徑向基函數技術的插值函數定義為基函數的線性組合:
F(x)=∑p=1Pwpφ(∥x?xP∥)(3)F(x) = \sum_{p=1}^{P} w_p \varphi(\|x-x^P\|) \tag{3}F(x)=p=1∑P?wp?φ(∥x?xP∥)(3)
在這里解釋一下 ∥x?xP∥\|x-x^P\|∥x?xP∥,這是范數。對平面幾何的向量來說就是模,然而一旦維度很高就不知道是什么東西了,可能是衡量距離的一個東西,那么這個代表什么意思呢?簡單來說就是一個圓而已,在二維平面,xPx^PxP 就是圓心,xxx 就是數據了,這個數據距離圓心的距離,因為和數據的位置和大小無關,只和到圓心的半徑有關,況且同一半徑圓上的點到圓心是相等的因此取名為徑向,代入映射函數就是徑向基函數了,我們看看徑向基函數有什么特點:
將 (1) 式的插值條件代入上式,得到 PPP 個關于未知系數 wp,p=1,2,?,Pw^p, p=1,2,\cdots,Pwp,p=1,2,?,P 的線性方程組:
∑p=1Pwpφ(∥x1?xp∥)=d1∑p=1Pwpφ(∥x2?xp∥)=d2?∑p=1Pwpφ(∥xP?xp∥)=dP\begin{aligned} \sum_{p=1}^{P} w_p \varphi(\|x^1 - x^p\|) = d^1 \\ \sum_{p=1}^{P} w_p \varphi(\|x^2 - x^p\|) = d^2 \\ \vdots \\ \sum_{p=1}^{P} w_p \varphi(\|x^P - x^p\|) = d^P \\ \end{aligned}p=1∑P?wp?φ(∥x1?xp∥)=d1p=1∑P?wp?φ(∥x2?xp∥)=d2?p=1∑P?wp?φ(∥xP?xp∥)=dP?
令 φip=φ(∥xi?xp∥),i=1,2,?,P,p=1,2,?,P\varphi_{ip}=\varphi(\|x^i - x^p\|), i=1,2,\cdots,P, p=1,2,\cdots,Pφip?=φ(∥xi?xp∥),i=1,2,?,P,p=1,2,?,P,則上述方程組可改寫為:
[φ11φ12?φ1Pφ11φ12?φ1P????φ11φ12?φ1P][w1w2?wP]=[d1d2?dP](5)\left[\begin{matrix} \varphi_{11} & \varphi_{12} & \cdots & \varphi_{1P} \\ \varphi_{11} & \varphi_{12} & \cdots & \varphi_{1P} \\ \cdots & \cdots & \cdots & \cdots \\ \varphi_{11} & \varphi_{12} & \cdots & \varphi_{1P} \\ \end{matrix}\right] \left[\begin{matrix} w_1 \\ w_2 \\ \cdots \\ w_P \\ \end{matrix}\right]= \left[\begin{matrix} d_1 \\ d_2 \\ \cdots \\ d_P \\ \end{matrix}\right]\tag{5}?????φ11?φ11??φ11??φ12?φ12??φ12???????φ1P?φ1P??φ1P????????????w1?w2??wP???????=?????d1?d2??dP???????(5)
令 Φ\PhiΦ 表示元素 φip\varphi_{ip}φip? 的 P×PP\times PP×P 階矩陣,WWW 和 ddd 分別表示系數向量和期望輸出向量,(5) 式還可以寫成下面的向量形式:
ΦW=d(6)\Phi W = d \tag{6}ΦW=d(6)
式中,Φ\PhiΦ 稱為插值矩陣,若 Φ\PhiΦ 為可逆矩陣,就可以從 (6) 式中解出系數向量 WWW,即:
W=Φ?1d(7)W = \Phi^{-1}d \tag{7}W=Φ?1d(7)
通過上面大家可以看到為了使所有數據都在曲面還需要系數調節,此時求出系數向量就求出了整個的映射函數了,下面看幾個特殊的映射函數:
1. 高斯徑向基函數
φ(r)=exp?(?r22δ2)\varphi(r) = \exp(-\frac{r^2}{2\delta^2})φ(r)=exp(?2δ2r2?)
橫軸就是到中心的距離,用半徑 rrr 表示。如上圖,我們發現當距離等于 0 時,徑向基函數等于 1,距離越遠衰減越快,其中高斯徑向基的參數 δ\deltaδ 在支持向量機中被稱為到達率或者說函數跌落到零的速度。
紅色 δ=1\delta=1δ=1,藍色 δ=5\delta=5δ=5,綠色 δ=0.5\delta=0.5δ=0.5,我們發現到達率越小其越窄。
2. 反演S型函數
3. 擬多二次函數
2. 正則化徑向基神經網絡
正則化RBF網絡的結構如下圖所示。其特點是:網絡具有 NNN 個輸人節點,PPP 個隱節點,iii 個輸出節點;網絡的隱節點數等于輸人樣本數,隱節點的激活函數常高斯徑向基函數,并將所有輸人樣本設為徑向基函數的中心,各徑向基函數取統一的擴展常數。
設輸入層的任意節點你用 iii 表示,隱節點任意節點用 jjj 表示,輸出層的任一節點用 kkk 表示。對各層的數學描述如下:
輸入向量:
X=(x1,x2,?,xN)TX = (x_1, x_2, \cdots, x_N)^TX=(x1?,x2?,?,xN?)T
任一隱節點的激活函數:
φj(X),(j=1,2,?,P)\varphi_j(X),~~~~(j=1,2,\cdots,P)φj?(X),????(j=1,2,?,P)
稱為基函數,一般使用高斯函數。
輸出權矩陣:
WWW
其中,wik,(j=1,2,?,P,k=1,2,?,l)w_{ik},(j=1,2,\cdots,P, k=1,2,\cdots,l)wik?,(j=1,2,?,P,k=1,2,?,l) 為隱層的第 jjj 個節點與輸出層第 kkk 個節點間的突觸權值。
輸出向量:
Y=(y1,y2,?,yl)Y = (y_1, y_2, \cdots, y_l)Y=(y1?,y2?,?,yl?)
輸出層神經元采用線性激活函數。
當輸入訓練集中的某個樣本 xpx^pxp 時,對應的期望輸出 dpd^pdp 就是教師信號。為了確定網絡隱層到輸出層之間的 PPP 個權值,需要將訓練集中的樣本逐一輸入一遍,從而得到式 (4) 中的方程組。網絡的權值確定后,對訓練集的樣本實現了完全內插,即對所有樣本誤差為 0。而對非訓練集的輸入模式,網絡的輸出值相當于函數的內插,因此徑向基函數網絡可用作數逼近。
正則化RBF網絡具有以下3個特點:
Ref: 機器學習–支持向量機(六)徑向基核函數(RBF)詳解
Ref: 深度學習 — 徑向基神經網絡RBF詳解
3. 基于RBF網絡逼近的自適應控制
1. 問題描述
簡單的運動系統動力學方程為:
θ¨=f(θ,θ˙)+u(1)\ddot{\theta} = f(\theta, \dot{\theta}) + u \tag{1}θ¨=f(θ,θ˙)+u(1)
其中 θ\thetaθ 為角度,uuu 為控制輸入。
寫成狀態方程形式為:
x˙1=x2x˙2=f(x)+u(2)\begin{aligned} &\dot{x}_1 = x_2 \\ &\dot{x}_2 = f(x) + u \end{aligned} \tag{2}?x˙1?=x2?x˙2?=f(x)+u?(2)
其中 f(x)f(x)f(x) 為未知非線性函數。
未知指令為 xdx_dxd?,則誤差及其變化率為:
e=x1?xde˙=x˙1?x˙d=x2?x˙d\begin{aligned} e &= x_1 - x_d \\ \dot{e} &= \dot{x}_1 - \dot{x}_d \\ &=x_2 - \dot{x}_d \end{aligned}ee˙?=x1??xd?=x˙1??x˙d?=x2??x˙d??
定義誤差函數為
s=ce+e˙,c>0(3)s=ce + \dot{e}, ~~~ c>0 \tag{3}s=ce+e˙,???c>0(3)
則
s˙=ce˙+e¨=ce˙+x˙2?x¨d=ce˙+f(x)+u?x¨d\begin{aligned} \dot{s} &= c\dot{e}+\ddot{e}\\ &=c\dot{e}+\dot{x}_2-\ddot{x}_d \\ &=c\dot{e}+f(x)+u-\ddot{x}_d \end{aligned}s˙?=ce˙+e¨=ce˙+x˙2??x¨d?=ce˙+f(x)+u?x¨d??
由式(3)可知,如果 s→0s\rightarrow 0s→0,則 e→0e\rightarrow 0e→0 且 e˙→0\dot{e}\rightarrow 0e˙→0。
2. RBF 網絡原理
由于 RBF 網絡具有萬能逼近特性,采用 RBF 神經網絡逼近 f(x)f(x)f(x),網絡算法為:
hj=exp?(∥x?cj∥22bj2)(4)h_j = \exp(\frac{\|x-c_j\|^2}{2b^2_j}) \tag{4}hj?=exp(2bj2?∥x?cj?∥2?)(4)
f=W?Th(x)+ε(5)f = W^{*T}h(x) + \varepsilon \tag{5}f=W?Th(x)+ε(5)
其中,xxx 為網絡的輸入,jjj 為網絡隱含層第 jjj 個節點,h=[hj]Th=[h_j]^Th=[hj?]T 為網絡的高斯基函數輸出,W?W^*W? 為網絡的理想權值,ε\varepsilonε 為網絡的逼近誤差,ε≤εN\varepsilon\le\varepsilon_Nε≤εN?。
網絡輸入取狀態變量 x=[x1,x2]Tx=[x_1, x_2]^Tx=[x1?,x2?]T,則網絡輸出為:
f^(x)=W^Th(x)(6)\hat{f}(x) = \hat{W}^T h(x) \tag{6}f^?(x)=W^Th(x)(6)
3. 控制算法設計與分析
由于
f(x)?f^(x)=W?Th(x)+ε?W^Th(x)=?W~Th(x)+ε\begin{aligned} f(x) - \hat{f}(x) &= W^{*T}h(x) + \varepsilon - \hat{W}^Th(x)\\ &=-\tilde{W}^T h(x) + \varepsilon \end{aligned}f(x)?f^?(x)?=W?Th(x)+ε?W^Th(x)=?W~Th(x)+ε?
定義 Lyapunov 函數為
V=12s2+12γW~TW~(7)V = \frac{1}{2}s^2+\frac{1}{2\gamma}\tilde{W}^T \tilde{W} \tag{7}V=21?s2+2γ1?W~TW~(7)
其中 γ>0,W~=W^?W?\gamma>0, \tilde{W}=\hat{W}-W^*γ>0,W~=W^?W?。
則
V˙=ss˙+12γW~TW^˙=s(ce˙+f(x)+u?x¨d)+12γW~TW^˙\begin{aligned} \dot{V} &= s\dot{s} + \frac{1}{2\gamma}\tilde{W}^T\dot{\hat{W}} \\ &=s(c\dot{e}+f(x)+u-\ddot{x}_d)+\frac{1}{2\gamma}\tilde{W}^T\dot{\hat{W}} \end{aligned}V˙?=ss˙+2γ1?W~TW^˙=s(ce˙+f(x)+u?x¨d?)+2γ1?W~TW^˙?
設計控制律為
u=?ce˙?f^(x)+x¨d?ηsgn(s)(8)u=-c\dot{e} - \hat{f}(x) + \ddot{x}_d - \eta~ \text{sgn}(s) \tag{8}u=?ce˙?f^?(x)+x¨d??η?sgn(s)(8)
則
V˙=s(f(x)?f^(x)?ηsgn(s))+1γW~TW^˙=s(?W~Th(x)+ε?ηsgn(x))+1γW~TW^˙=εs?η∣s∣+W~T(1γW^˙?sh(x))\begin{aligned} \dot{V} &= s (f(x) - \hat{f}(x) - \eta~ \text{sgn}(s)) + \frac{1}{\gamma}\tilde{W}^T\dot{\hat{W}} \\ &= s(-\tilde{W}^T h(x) + \varepsilon - \eta~\text{sgn}(x)) + \frac{1}{\gamma}\tilde{W}^T\dot{\hat{W}} \\ &= \varepsilon s - \eta |s| + \tilde{W}^T (\frac{1}{\gamma}\dot{\hat{W}}-s h(x)) \end{aligned}V˙?=s(f(x)?f^?(x)?η?sgn(s))+γ1?W~TW^˙=s(?W~Th(x)+ε?η?sgn(x))+γ1?W~TW^˙=εs?η∣s∣+W~T(γ1?W^˙?sh(x))?
取 η>∣ε∣max?\eta > |\varepsilon|_{\max}η>∣ε∣max?,自適應律為
W^˙=γsh(x)(9)\dot{\hat{W}} = \gamma s h(x) \tag{9}W^˙=γsh(x)(9)
則 V˙=εs?η∣s∣<0\dot{V}=\varepsilon s - \eta |s| < 0V˙=εs?η∣s∣<0。
4. 仿真實例
考慮如下被控對象
x˙1=x2x˙2=f(x)+u\begin{aligned} &\dot{x}_1 = x_2 \\ &\dot{x}_2 = f(x) + u \end{aligned}?x˙1?=x2?x˙2?=f(x)+u?
其中 f(x)=10x1x2f(x)=10 x_1 x_2f(x)=10x1?x2?。
控制律采用式(8),自適應律采用式(9),取 γ=500,η=0.50\gamma=500, \eta=0.50γ=500,η=0.50。根據網絡的輸入 x1x_1x1? 和 x2x_2x2? 的實際范圍,高斯基函數的參數 cic_ici? 和 bib_ibi? 的取值分別為 [-2 -1 0 1 2] 和 3.0。網絡權值矩陣中各個元素的初始值取 0.10。
仿真結果如下圖所示。
Ref: 一種簡單的基于RBF網絡逼近的自適應控制
4. RBF神經網絡自適應控制matlab仿真_RBF神經網絡及其在控制中的應用簡介
RBF神經網絡在控制中的應用,可以按其隱含層與輸出層連接權值的計算方式分為以下兩類:
1. 采用梯度下降法計算權值
2. 依據穩定性理論設計權值
依據穩定性理論設計權值,即通過分析系統的Lyapunov穩定性,設計權值,從而保證系統的穩定性和收斂性。
考慮如下二階非線性系統,以自適應RBF控制器的設計為例,對該權值設計方式進行簡要介紹。
x¨=f(x,x˙)+g(x,x˙)u(3)\ddot{x} = f(x, \dot{x}) + g(x, \dot{x}) u \tag{3}x¨=f(x,x˙)+g(x,x˙)u(3)
其中,fff 為未知非線性函數,ggg 為已知非線性函數;u∈Rnu\in\mathbb{R}^nu∈Rn 和 y∈Rny\in\mathbb{R}^ny∈Rn 分別為系統的控制輸入和輸出。
令 x1=x,x2=x˙x_1 = x, x_2 = \dot{x}x1?=x,x2?=x˙ 和 y=x1y=x_1y=x1?,(3)式可改寫為
x˙1=x2x˙2=f(x1,x2)+g(x1,x2)uy=x1\begin{aligned} &\dot{x}_1 = x_2 \\ &\dot{x}_2 = f(x_1,x_2) + g(x_1,x_2) u \\ & y = x_1 \end{aligned}?x˙1?=x2?x˙2?=f(x1?,x2?)+g(x1?,x2?)uy=x1??
設理想跟蹤指令為 ydy_dyd?,則誤差為
e=yd?y=yd?x1E=[e,e˙]T\begin{aligned} e &= y_d - y \\ &= y_d - x_1 \\ E &= [e, \dot{e}]^T \end{aligned}eE?=yd??y=yd??x1?=[e,e˙]T?
設計 K=[kp,kd]TK=[k_p, k_d]^TK=[kp?,kd?]T 使多項式 s2+kds+kp=0s^2 + k_d s + k_p = 0s2+kd?s+kp?=0 的根都在左半復平面。
將 RBF 神經網絡的輸出代替式(3)中未知函數,可設計控制律為
u=1g(x)[]u = \frac{1}{g(x)} []u=g(x)1?[]
Ref: rbf神經網絡自適應控制matlab仿真_RBF神經網絡及其在控制中的應用簡介
5. RBF神經網絡在控制中的應用
Ref: RBF神經網絡參考模型自適應MATLAB實現(分析)
6. 嚴格反饋結構
控制理論中,什么是嚴格反饋結構?
嚴格反饋系統和純反饋系統的區別是?
7. 反推控制 Backstepping
反推控制
學習筆記(1)——反步控制法
反步(Back-Stepping)設計方法
總結
以上是生活随笔為你收集整理的径向基RBF(radial basis function)函数、RBF神经网络、 反推(back-stepping)控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天津科技大学 物理实验平台使用教程及相关
- 下一篇: 【Paper】2018_多无人机协同编队