簡體   English   中英

如何確定每個輸入在確定神經網絡輸出中的意義?

[英]How to find the significance of each input in determining the output of a neural network?

我在Keras中有一個簡單的神經網絡,具有16個輸入和1個輸出。 我希望能夠找出這些輸入中的哪一個對確定輸出最為重要(即更改哪個輸入對輸出的影響最大)。 如何在Keras或TensorFlow中做到這一點? 我知道我可以將經過訓練的神經網絡的權重轉儲到文件中,但這無濟於事,因為權重只是從一個節點到下一個隱藏層中的另一個節點。

謝謝

Xtrain, Xtest, Ytrain, Ytest = train_test_split(X, Y, test_size=.5)

model = Sequential()
model.add(Dense(20, activation='relu', input_dim=16))
model.add(Dense(10, activation='relu'))
model.add(Dense(5, activation='relu'))
model.add(Dense(1, activation='relu'))

model.compile(loss='mse', optimizer='rmsprop')
model.fit(Xtrain, Ytrain, validation_data=(Xtest,Ytest), epochs=200, batch_size=100, verbose=1)

Ypred = model.predict(Xtest)

這可能有點棘手,我不知道如何在Keras中做到這一點,但是將矩陣從輸出單元(在可能結果的范圍內)向后(輸入前饋的反面)乘以輸入單元可以顯示出網絡與每個結果關聯的輸入單位的模式。 看看: https : //github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/blob/master/part3_neural_network_mnist_backquery.ipynb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM