- PyBrain 教程
- PyBrain - 首頁
- PyBrain - 概述
- PyBrain - 環境設定
- PyBrain - PyBrain 網路簡介
- PyBrain - 網路操作
- PyBrain - 資料集操作
- PyBrain - 資料集型別
- PyBrain - 匯入資料集資料
- PyBrain - 在網路上訓練資料集
- PyBrain - 測試網路
- 前饋網路的使用
- PyBrain - 迴圈網路的使用
- 使用最佳化演算法訓練網路
- PyBrain - 層
- PyBrain - 連線
- PyBrain - 強化學習模組
- PyBrain - API 和工具
- PyBrain - 示例
- PyBrain 有用資源
- PyBrain - 快速指南
- PyBrain - 有用資源
- PyBrain - 討論
PyBrain - 前饋網路的使用
前饋網路是一種神經網路,其中節點之間資訊流動方向向前,永遠不會向後流動。前饋網路是人工神經網路中第一個也是最簡單的網路。資訊從輸入節點傳遞到隱藏節點,然後再傳遞到輸出節點。
在本章中,我們將討論如何:
- 建立前饋網路
- 向 FFN 新增連線和模組
建立前饋網路
您可以使用您選擇的 Python IDE,例如 PyCharm。在這裡,我們使用 Visual Studio Code 編寫程式碼,並在終端中執行相同的程式碼。
要建立前饋網路,我們需要從 pybrain.structure 匯入它,如下所示:
ffn.py
from pybrain.structure import FeedForwardNetwork network = FeedForwardNetwork() print(network)
執行 ffn.py,如下所示:
C:\pybrain\pybrain\src>python ffn.py FeedForwardNetwork-0 Modules: [] Connections: []
我們還沒有向前饋網路新增任何模組和連線。因此,網路顯示模組和連線的空陣列。
新增模組和連線
首先,我們將建立輸入、隱藏、輸出層,並將它們新增到模組中,如下所示:
ffy.py
from pybrain.structure import FeedForwardNetwork from pybrain.structure import LinearLayer, SigmoidLayer network = FeedForwardNetwork() #creating layer for input => 2 , hidden=> 3 and output=>1 inputLayer = LinearLayer(2) hiddenLayer = SigmoidLayer(3) outputLayer = LinearLayer(1) #adding the layer to feedforward network network.addInputModule(inputLayer) network.addModule(hiddenLayer) network.addOutputModule(outputLayer) print(network)
輸出
C:\pybrain\pybrain\src>python ffn.py FeedForwardNetwork-3 Modules: [] Connections: []
我們仍然得到空模組和連線。我們需要為建立的模組提供連線,如下所示:
這是我們建立了輸入、隱藏和輸出層之間的連線並將連線新增到網路的程式碼。
ffy.py
from pybrain.structure import FeedForwardNetwork from pybrain.structure import LinearLayer, SigmoidLayer from pybrain.structure import FullConnection network = FeedForwardNetwork() #creating layer for input => 2 , hidden=> 3 and output=>1 inputLayer = LinearLayer(2) hiddenLayer = SigmoidLayer(3) outputLayer = LinearLayer(1) #adding the layer to feedforward network network.addInputModule(inputLayer) network.addModule(hiddenLayer) network.addOutputModule(outputLayer) #Create connection between input ,hidden and output input_to_hidden = FullConnection(inputLayer, hiddenLayer) hidden_to_output = FullConnection(hiddenLayer, outputLayer) #add connection to the network network.addConnection(input_to_hidden) network.addConnection(hidden_to_output) print(network)
輸出
C:\pybrain\pybrain\src>python ffn.py FeedForwardNetwork-3 Modules: [] Connections: []
我們仍然無法獲取模組和連線。現在讓我們新增最後一步,即我們需要新增 sortModules() 方法,如下所示:
ffy.py
from pybrain.structure import FeedForwardNetwork from pybrain.structure import LinearLayer, SigmoidLayer from pybrain.structure import FullConnection network = FeedForwardNetwork() #creating layer for input => 2 , hidden=> 3 and output=>1 inputLayer = LinearLayer(2) hiddenLayer = SigmoidLayer(3) outputLayer = LinearLayer(1) #adding the layer to feedforward network network.addInputModule(inputLayer) network.addModule(hiddenLayer) network.addOutputModule(outputLayer) #Create connection between input ,hidden and output input_to_hidden = FullConnection(inputLayer, hiddenLayer) hidden_to_output = FullConnection(hiddenLayer, outputLayer) #add connection to the network network.addConnection(input_to_hidden) network.addConnection(hidden_to_output) network.sortModules() print(network)
輸出
C:\pybrain\pybrain\src>python ffn.py FeedForwardNetwork-6 Modules: [<LinearLayer 'LinearLayer-3'gt;, <SigmoidLayer 'SigmoidLayer-7'>, <LinearLayer 'LinearLayer-8'>] Connections: [<FullConnection 'FullConnection-4': 'SigmoidLayer-7' -> 'LinearLayer-8'>, <FullConnection 'FullConnection-5': 'LinearLayer-3' -> 'SigmoidLayer-7'>]
現在我們可以看到前饋網路的模組和連線詳細資訊。
廣告