深度學(xué)習(xí)入門-day1

利用numpy從有到無建立一個三層神經(jīng)網(wǎng)絡(luò)

init_network() 函數(shù)會進(jìn)行權(quán)重和偏置的初始化,并將它們保存在字典變量 network 中

import numpy as np

def sigmoid(x):

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

def identity_func(x):

    return x

進(jìn)行權(quán)重和偏置的初始化,并將它們保存在字典變量 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

forward() 函數(shù)中則封裝了將輸入信號轉(zhuǎn)換為輸出信號的處理過程

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 = myfunc.sigmoid(a1)

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

    z2 = myfunc.sigmoid(a2)

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

    y = identity_func(a3)

    return y

使用

network = init_network()

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

y = forward(network, x)

print(y)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容