日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BP神经网络的搭建

發布時間:2024/8/1 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BP神经网络的搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. BP神經網絡的簡介和結構參數

神經網絡是機器學習中一種常見的數學模型,通過構建類似于大腦神經突觸聯接的結構,來進行信息處理。在應用神經網絡的過程中,處理信息的單元一般分為三類:輸入單元、輸出單元和隱含單元。 顧名思義:輸入單元接受外部給的信號與數據;輸出單元實現系統處理結果的輸出;隱含單元處在輸入和輸出單元之間,從網絡系統外部是無法觀測到隱含單元的結構的。除了上述三個處理信息的單元之外,神經元間的連接強度大小由權值等參數來決定。

1.1 BP神經網絡的結構組成

下圖是訓練神經網絡時經常出現的一個界面,從這部分我們可以看到,這是一個2輸入1輸出,8個隱含層的BP網絡,稱為2-8-1網絡結構

1.2 BP神經網絡訓練界面的參數解讀

需要注意的是:
????????1. 泛化性:表示BP神經網絡在訓練過程中,如果均方誤差(MSE)連續6次不降反升,則網絡停止訓練。

????????2. 誤差精度:關于mu參數含義的一種理解是,mu是誤差精度參數,用于給神經網絡的權重再加一個調制,這樣可以避免在BP網絡訓練的過程中陷入局部最小值,mu的范圍為0到1。

2. 實現BP網絡的步驟

  • 讀取數據
  • 設置訓練數據和預測數據
  • 訓練樣本數據歸一化
  • 構建BP神經網絡
  • 網絡參數配置(訓練次數,學習速率,訓練目標最小誤差.等)
  • BP神經網絡訓練
  • 測試樣本歸一化
  • BP神經網絡預測
  • 預測結果反歸一化與誤差計算
  • 驗證集的真實值與預測值誤差比較
  • 首先以這個最簡單是前饋神經網絡為例子:

    1.前饋

    前饋代表了所有的信息都從輸入?經過某些中間的計算而最終輸出到?,而不存在從模型的輸出到輸入的反饋(feedback),對于有反饋的情況即為循環神經網絡(recurrent neural network)前饋網絡已經廣泛應用在工業界,其重要性不言而喻,而且它也是理解在自然語言處理中應用廣泛的循環神經網絡的基礎。

    2.網絡

    而網絡則代表了該模型是將不同的基本函數組合在一起形成的模型。

    例如通過將三個函數?串聯起來構成最終的函數??,??就是網絡的第一層,?就是網絡的第二層,以此類推。這個鏈的長度又被稱作網絡的深度(depth),深度學習也因此得名。

    而前饋網絡的最后一層被稱作輸出層(output layer),對于我們的訓練數據,每一個輸入??都有相應的標記??,而網絡的輸出層的結果需要盡量接近??。

    但對于其它層來說,和訓練數據沒有這樣的直接對應關系,即我們的算法只要求最后的輸出接近于真實的標記,而對于中間每層的目的并沒有明確定義,所以這些層又被稱作隱藏層(hidden layer)。

    3.神經

    神經代表了它的靈感部分受到了神經科學的影響。每一隱藏層通常是矢量值,而這些隱藏層的維度定義了網絡的寬度。我們可以將每層看做從一個大的從矢量到矢量的函數映射,但從另一方面也可以將矢量的每個元素看做一個小的神經元,每個神經元進行了矢量到標量的映射操作(這一操作又被稱作激活函數,activation function),而每一層是不同的神經元并行運算的綜合。

    前饋神經網絡是

    1.讀取數據

    %%簡單的前饋神經網絡 x = [0 1 2 3 4 5 6 7 8]; %初始數據輸入,x坐標值t = [0 0.84 0.91 0.14 -0.77 -0.96 -0.28 0.66 0.99];%輸出,y坐標值plot(x,t,'o') %x,y值一一對應

    運行結果如下:

    2.構建前饋型神經網絡

    net = feedforwardnet(10);%前饋型神經網絡net = configure(net,x,t);% 配置網絡輸入和輸出,以達到最好的匹配輸入和目標數據.y1 = net(x)plot(x,t,'o',x,y1,'x')

    ?

    ?3.訓練網絡

    net = train(net,x,t);y2 = net(x)plot(x,t,'o',x,y1,'x',x,y2,'*')

    總結

    以上是生活随笔為你收集整理的BP神经网络的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。