多層感知機

2021-09-26 19:07:38 字數 1704 閱讀 8440

import d2lzh as d2l

from mxnet import nd

from mxnet.gluon import loss as gloss

#讀取資料集

batch_size=256

train_iter,test_iter=d2l.load_data_fashion_mnist(batch_size)

#定義模型引數

num_inputs,num_outputs,num_hiddens=784,10,256

w1=nd.random.normal(scale=0.01,shape=(num_inputs,num_hiddens))

b1=nd.zeros(num_hiddens)

w2=nd.random.normal(scale=0.01,shape=(num_hiddens,num_outputs))

b2=nd.zeros(num_outputs)

params=[w1,b1,w2,b2]

for param in params:

param.attach_grad()

#定義啟用函式

def relu(x):

return nd.maximum(x,0)

#定義模型

def net(x):

x=x.reshape((-1,num_inputs))

h=relu(nd.dot(x,w1)+b1)

return nd.dot(h,w2)+b2

#定義損失函式

loss=gloss.softmaxcrossentropyloss()

#訓練模型

#定義模型

net=nn.sequential()

net.add(nn.dense(256,activation='relu'),nn.dense(10))

net.initialize(init.normal(sigma=0.01))

#訓練模型

多層感知機

1 單輸出多層感知機 單輸出多層感知機 圖中各變數滿足公式 假如現在有乙個樣本 x 1,x2 t 用該樣本訓練網路時,網路優化的目標為lossfun最小。lossfun是乙個關於變數w和v多元函式。網路的訓練又變成多元函式求極值的問題。求v1的梯度 同理可得v i的梯度 求w11的梯度 同理,可得w...

多層感知機

知識拓展 多層感知機就是含有至少乙個隱藏層的由全連線層組成的神經網路,且每個隱藏層的輸出通過啟用函式進行變換。多層感知機按以下方式計算輸出 多層感知機中最為重要的自然是 多層 兩個線性層復合,是不可行的,無論多少層線性層復合最後得到的結果仍然是等價於線性層。tanh函式的導數。當輸入為0時,tanh...

多層感知機MLP

關於感知機 1.什麼是感知機 perceptron 感知機是最簡單的神經網路,具備神經網路的必備要素。感知機也稱為感知器,是一種雙層神經網路,即只有輸入層和輸出層而沒有隱層的神經網路。感知機是一種二類分類的線性分類器,其輸入為例項的特徵向量,輸出為例項的類別,感知機屬於判別模型,旨在求出將訓練資料進...