<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于模擬退火神經(jīng)網(wǎng)絡的I型FIR數(shù)字濾波器設計

          基于模擬退火神經(jīng)網(wǎng)絡的I型FIR數(shù)字濾波器設計

          作者: 時間:2009-07-16 來源:網(wǎng)絡 收藏

          2 余弦基
          在網(wǎng)絡結構方面,如圖1所示,類似于BP網(wǎng)絡的結構:
          輸入層和輸出層都只有一個節(jié)點,隱含層有M個節(jié)點,且各節(jié)點對應的激勵函數(shù)如下:

          本文引用地址:http://www.ex-cimer.com/article/188821.htm

          式中:M=(N-1)/2

          再令輸入層到隱含層的全值都為1,而隱含層到輸出層的權值ω0~ωM分別取為a0~aM,于是的輸入/輸出關系就恰好為濾波器的幅度函數(shù)


          網(wǎng)絡學習算法方面,也可以采用類似BP網(wǎng)絡的學習算法。
          首先定義權值矩陣:


          設置性能指標:為訓練樣本數(shù)。
          于是權值修正的公式為:


          式中:α為學習速率。
          迭代的終止條件可設為性能指標J滿足一定條件,而關于學習速率α的選取會直接影響到的穩(wěn)定性。目前,已經(jīng)有人提出了其適當?shù)倪x取范圍,例如羅玉雄等人已經(jīng)證明,當滿足0α(2/|| C ||2)時(這里||?||2表示的是歐氏范數(shù)的平方),神經(jīng)網(wǎng)絡是穩(wěn)定的;曾湊訓熱艘蔡岢霾⒅っ髁說甭足0α(4/N)時,神經(jīng)網(wǎng)絡是穩(wěn)定的。


          3 算法
          由于以上的網(wǎng)絡學習算法從本質上來說,還是一種BP算法,所以不可避免地會存在BP算法的缺陷,初始值的選取會影響最終結果,且容易陷入局部極小值。
          算法與初始值無關,算法求得的解與初始解狀態(tài)(是算法迭代的起點)無關;算法具有漸近收斂性,在理論上已得到嚴格證明,當初溫充分高,降溫足夠慢,每一溫度下抽樣足夠長,最終溫度趨于零時,算法最終以概率1收斂到全局最優(yōu)解。模擬退火算法通過概率判斷來接受新狀態(tài)是算法在局部極小解處有機會跳出并最終趨于全局最優(yōu)的根本原因。于是將模擬退火算法加到前面的算法中去,就可以很好地彌補上述算法的不足。
          模擬退火算法的步驟如下:
          (1)由一個產(chǎn)生函數(shù)從當前解S產(chǎn)生一個位于解空間的新解S'。
          (2)計算與新解所對應的目標函數(shù)差。這里以最小阻帶衰減為評價函數(shù)C(S),這個函數(shù)可以由所得解S輕易地求出,于是目標函數(shù)差△t=C(S')-C(S);
          (3)判斷新解是否被接受,其依據(jù)是一個接受準則,最常用的接受準則是Metropolis準則。若△t≥0,則接受S'作為新的當前解S;否則,以概率exp(-△t/T)接受S'作為新的當前解S。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();