python神经网络编程


sigmod函数

深度学习笔记:如何理解激活函数?(附常用激活函数) - 知乎 (zhihu.com)

image-20230729080858381

虽然比起现代计算机,生物大脑看起来存储空间少得多,运行速度比较慢,但是生物大脑
却可以执行复杂的任务,如飞行、寻找食物、学习语言和逃避天敌。
相比于传统的计算机系统,生物大脑对损坏和不完善信号具有难以置信的弹性。
由互相连接的神经元组成的生物大脑是人工神经网络的灵感来源。

反向传播公式:image-20230730105609886

image-20230730114653386

image-20230730114706045

image-20230730114738694

网络定义
class Net(torch.nn.Module):  # 继承torch的module
    def __init__(self, n_feature, n_hidden, n_output):
        super(Net, self).__init__()  # 继承__init__功能
        # 定义每一层用什么样的样式
        self.hidden1 = torch.nn.Linear(n_feature, n_hidden)  # 隐藏层线性输出
        self.hidden2 = torch.nn.Linear(n_hidden, n_hidden)  # 隐藏层线性输出
        self.predict = torch.nn.Linear(n_hidden, n_output)  # 输出层线性输出

    def forward(self, x):
        # 激励函数(隐藏层的线性值)
        x = torch.relu(self.hidden1(x))
        x = torch.relu(self.hidden2(x))
        x = self.predict(x)  # 输出值
        return x


net = Net(2, 5, 3)
print(net)



#输出的结果
Net(
  (hidden1): Linear(in_features=2, out_features=5, bias=True)
  (hidden2): Linear(in_features=5, out_features=5, bias=True)
  (predict): Linear(in_features=5, out_features=3, bias=True)
)
#输出网络的参数
paras = list(net.parameters())
for num,para in enumerate(paras):
    print('number:',num)
    print(para)
    print('_____________________________')
    
   

文章作者: genius dragon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 genius dragon !
  目录