《深度學習入門》實現三層神經網路前向傳播

2021-09-29 21:46:29 字數 1060 閱讀 7027

使用python實現三層神經網路前向傳播推理。

#實現三層神經網路前向傳播

import numpy as np

#啟用函式

def sigmoid(x):

return 1 / (1 + np.exp(-x))

#初始化權重和偏置,儲存在字典network中

def init_network():

network = {}

network['w1'] = np.array([[0.1,0.3,0.5],[0.2,0.4,0.6]])

network['b1'] = np.array([0.1,0.2,0.3])

network['w2'] = np.array([[0.1,0.4],[0.2,0.5],[0.3,0.6]])

network['b2'] = np.array([0.1,0.2])

network['w3'] = np.array([[0.1,0.3],[0.2,0.4]])

network['b3'] = np.array([0.1,0.2])

return network

#處理前向傳播,從輸入層到輸出層,使用sigmoid啟用函式

def forward(network,x):

w1,w2,w3 = network['w1'],network['w2'],network['w3']

b1,b2,b3 = network['b1'],network['b2'],network['b3']

a1 = np.dot(x,w1) + b1

z1 = sigmoid(a1)

a2 = np.dot(z1,w2) + b2

z2 = sigmoid(a2)

a3 = np.dot(z2,w3) + b3

y = a3

return y

#測試network = init_network()

x = np.array([1.0,0.01])

y = forward(network,x)

print(y)

三層神經網路

import numpy as np defsigmoid x,deriv false if deriv true return x 1 x x是經過啟用函式後的 return1 1 np.exp x 前向傳播的值x np.array 0,0,1 0,1,1 1,0,1 1,1,1 0,0,1 標籤...

從0實現三層神經網路

分享李沐老師關於深度學習的觀點 1 從實踐的角度入手深度學習可能比單純的研究演算法更好 2 如果想學習深度學習,要只用簡單的資料結構,譬如numpy ndarray,從0實現乙個深度學習演算法,這樣才能碰到進而解決深度學習中的許多核心問題,也可以更好的理解現在流行的框架 3 從應用的角度,那就直接上...

三層神經網路python 簡單的三層神經網路

參照 python神經網路程式設計 寫乙個簡單的三層神經網路 usr bin env python coding utf 8 import numpy sigmoid 函式 import scipy.special 簡單的三層全連線網路,包括乙個輸入層,乙個隱層和乙個輸出層 損失函式用sigmoid...