Python 在神经网络的结构中,在哪里放置激活函数?

Python 在神经网络的结构中,在哪里放置激活函数?,python,csv,neural-network,Python,Csv,Neural Network,对于感知器,关于激活函数的文档很清楚——如果模型的预测标签与模型的真实标签不匹配——权重会更新。然而,没有关于如何在神经网络中使用激活的好文档。代码中的激活功能放在哪里?我目前的方法是允许每个节点都是一个激活函数,因此它将之前的节点乘以权重,然后将它们相加 #Train Neural Network #Input layer #Upload csv file #Input Variables x0 = float(input()) x1 = float(input()) x2 = float

对于感知器,关于激活函数的文档很清楚——如果模型的预测标签与模型的真实标签不匹配——权重会更新。然而,没有关于如何在神经网络中使用激活的好文档。代码中的激活功能放在哪里?我目前的方法是允许每个节点都是一个激活函数,因此它将之前的节点乘以权重,然后将它们相加

#Train Neural Network

#Input layer

#Upload csv file
#Input Variables
x0 = float(input())
x1 = float(input())
x2 = float(input())

#Weights
w0 = 0.5
w1 = 0.5
w2 = 0.5

#Nodes
n0 = (x0 * w0)
n1 = (x1 * w1)
n2 = (x2 * w2)

#Hidden layer
#Weights
w3 = 0.5
w4 = 0.5
w5 = 0.5
w6 = 0.5
w7 = 0.5
w8 = 0.5
#Nodes
n3 = ((n0 * w3)+(n1*w4))
n4 = ((n1 * w5)+(n2*w6))
n5 = ((n0 * w7)+(n2*w8))

#Output layer
#Weights
w9 = 0.5
w10 = 0.5
w11 = 0.5

#Nodes
n6 = ((n3*w9)+(n4*w10)+(n5*w11))
print(n6)

#Update
#if n6 < 0.5:
    #Update weights
#else:
    #next input
训练神经网络 #输入层 #上传csv文件 #输入变量 x0=浮点(输入() x1=浮点(输入() x2=浮点(输入() #砝码 w0=0.5 w1=0.5 w2=0.5 #节点 n0=(x0*w0) n1=(x1*w1) n2=(x2*w2) #隐藏层 #砝码 w3=0.5 w4=0.5 w5=0.5 w6=0.5 w7=0.5 w8=0.5 #节点 n3=((n0*w3)+(n1*w4)) n4=((n1*w5)+(n2*w6)) n5=((n0*w7)+(n2*w8)) #输出层 #砝码 w9=0.5 w10=0.5 w11=0.5 #节点 n6=((n3*w9)+(n4*w10)+(n5*w11)) 打印(n6) #更新 #如果n6<0.5: #更新权重 #其他: #下一个输入 我知道在这方面有很多问题和答案,但我的问题还没有得到回答。事实上,我是在特别问——是否有一个激活功能与每一层或每一个节点相关联。此外,文件不清楚激活功能是设计用于通过网络移动信息,还是发出重量更新的信号-这两个功能都是必需的,但语法上的澄清将是可取的

  • 激活功能与网络中的每个节点相关。这些值通过突触或连接传递,然后乘以权重。然后使用激活功能激活这些乘以的值
  • 在您的情况下,需要激活n0、n1和n2值。你可以使用乙状结肠、tanh和ReLU
  • 激活功能旨在承载信号,而不是重量值。例如ReLU:如果输入为正数,则信号=输入;如果输入为负数,则信号=0
  • 需要激活功能。他们帮助网络进行实际学习。没有激活功能的网络将充当具有单层的网络,即使它具有多层
  • 他们给计算增加了非线性。因此,函数可以用它们来近似

  • 谢谢你的帮助!后续问题:你说我需要激活n0、n1、n2值,激活函数携带信号。那么,激活函数是以节点值为输入的函数吗?激活函数以节点值为输入。节点的初始值设置为随机数。它乘以节点的权重值,然后由激活函数激活。