簡體   English   中英

如何在神經網絡中使用 3 個神經元?

[英]How To Use 3 Neuron in Neural Network?

這是具有 1 個神經元的感知器學習 model 的經典可視化。 假設我想使用 3 個神經元或 5 個神經元進行訓練,我可以不使用隱藏層嗎? 我只是無法在腦海中想象。 這是代碼;

在此處輸入圖像描述

import numpy as np

def tanh(x):  
    return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))

def tanh_derivative(x):
    return 1-x**2

#inputs  
training_inputs = np.array([[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]])
                          
#outputs
training_outputs =np.array([[1,0,0,1,0,1,1,0]]).T

#3 input 1 output //
synaptic_weights = 2* np.random.random((3,1))-1 
print('Random weights :{}'.format(synaptic_weights))


for i in range(20000):
    input_layer = training_inputs
    outputs = tanh(np.dot(input_layer,synaptic_weights))
    error = training_outputs - outputs
    weight_adjust = error * tanh_derivative(outputs)
    
    synaptic_weights += np.dot(input_layer.T, weight_adjust)
print('After training Synaptic Weights: {}'.format(synaptic_weights))
print('\n')
print('After training Outputs :\n{}'.format(outputs))

如果 output 層中有 3 個神經元,則有 3 個輸出。 這對於某些問題是有意義的——想象一下帶有 RGB 分量的顏色。

輸入的大小決定了輸入節點的數量; output 的大小決定了 output 節點的數量。 只有隱藏層大小可以自由選擇。 但是任何有趣的網絡都至少有一個隱藏層。

暫無
暫無

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

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