0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何构建神经网络

汽车电子技术 来源:Python数据分析之旅 作者:cauwfq 2023-02-24 16:06 次阅读

pYYBAGP4bzuALFhZAACU5ZSrIqo216.png

一.项目背景

    神经网络模拟人体生物神经元原理构建的,比较基础的有M-P模型,它按照生物
神经元的结构和工作原理构造出来的一个抽象和简化的模型。简单来说,他是对一个生
物神经元建模,下图是一个M-P模型示意图。

pYYBAGP4b1OAVCXOAAE-CkFdtPQ813.png
    跟人体生物神经元类似,神经元激活与否取决于某一阈值电平,即只有大当其总和阈值θ
时,神经元才会被激活而发放脉冲,否则整个神经元不会发生输出信号。整个过程用下面函数
来表示。

pYYBAGP4b26AKkM-AAFLrjnq3gs667.png
   上图中f我们称为激活函数,常见的激活函数可以分为两种类型,线性与非线性函数,具体见下图。
常用激活函数有S形函数,双曲正切函数等,后期我们会讲到。对于M-P模型而言,神经元只有兴奋和抑
制状态,因此这里的激活函数定义为单位阶跃函数,输出y只有0和1两种信号

二.搭建网络

pYYBAGP4b4OAEvJjAACp-LxXtQ8584.png

该网络含有一个输入层,两个隐藏层和一个输出层的神经网络,接下来我们手动实现它。

import numpy as np

#定义Sigmod激活函数
def sigmod(z):
    return 1/(1+np.exp(-z))
#Z1=X*W1+b1,A1=sigmod(Z1)

#输入数据,形状为(1,2)
X=np.array([
    [0.1,0.5]
])

#(2,3)
W1=np.array([
    [0.1,0.3,0.5],
    [0.2,0.4,0.6]
])

#(1,3)
b1=np.array([
    [0.1,0.2,0.3]
])

#进行线性运算
Z1=np.dot(X,W1)+b1
#经过sigmod激活函数,将线性函数转换为非线性函数
A1=sigmod(Z1)
print('Z1 shape',Z1.shape)
print('A1 shape',A1.shape)

poYBAGP4b7OAMEk_AAAM1U8j1V4811.png
#第2层
#Z2=W2*A1+b2,A2=sigmod(Z2)

#(3,2)
W2=np.array([
    [0.1,0.2],
    [0.3,0.4],
    [0.5,0.6]
])

#(1,2)
b2=np.array([[0.1,0.2]])
#进行线性运算
Z2=np.dot(A1,W2)+b2
#经过sigmod激活函数,将线性函数转换为非线性函数
A2=sigmod(Z2)
print('Z2 shape',Z2.shape)
print('A2 shape',A2.shape)

poYBAGP4b9mAd3UMAAAiLy4mk8w662.png
#第3层
#Z3=W3*A2+b3,A3=sigmod(Z3)

#(2,2)
W3=np.array([
    [0.1,0.3],
    [0.2,0.4]
])

#(1,2)
b3=np.array([[0.1,0.2]])
#线性运算
Z3=np.dot(A2,W3)+b3
#输出Y
Y=sigmod(Z3)
#表示一个样本两个输出值
Y

pYYBAGP4b_OAVeKrAAARfJGpXfw989.png


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98746
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47685
  • 神经元
    +关注

    关注

    1

    文章

    284

    浏览量

    18320
收藏 人收藏

    评论

    相关推荐

    从零开始学习用Python构建神经网络

    内容涵盖神经网络定义、损失函数、前向传播、反向传播、梯度下降算法,对于想要了解深度学习运作原理的各位来说,内容精彩不可错过。
    的头像 发表于 05-30 08:54 1w次阅读
    从零开始学习用Python<b class='flag-5'>构建</b><b class='flag-5'>神经网络</b>

    #硬声创作季 2.1Pytorch构建神经网络-第1步-构建神经网络-part1

    人工智能机器学习
    Mr_haohao
    发布于 :2022年09月03日 15:58:27

    #硬声创作季 2.1Pytorch构建神经网络-第1步-构建神经网络-part2

    人工智能机器学习
    Mr_haohao
    发布于 :2022年09月03日 15:59:07

    #硬声创作季 2.1Pytorch构建神经网络-第1步-构建神经网络-part4

    人工智能机器学习
    Mr_haohao
    发布于 :2022年09月03日 16:00:24

    #硬声创作季 2.1Pytorch构建神经网络-第1步-构建神经网络-part3

    人工智能机器学习
    Mr_haohao
    发布于 :2022年09月03日 16:01:03

    #硬声创作季 2.1Pytorch构建神经网络-第5步-小节总结

    人工智能机器学习
    Mr_haohao
    发布于 :2022年09月03日 16:01:40

    #硬声创作季 2.1Pytorch构建神经网络-第3步-反向传播

    人工智能机器学习
    Mr_haohao
    发布于 :2022年09月03日 16:03:34

    #硬声创作季 2.1Pytorch构建神经网络-第4步-更新网络参数

    人工智能机器学习
    Mr_haohao
    发布于 :2022年09月03日 16:04:12

    #硬声创作季 2.1Pytorch构建神经网络-第2步-损失函数

    人工智能机器学习
    Mr_haohao
    发布于 :2022年09月03日 16:04:51

    高阶API构建模型和数据集使用

    一、前言前面结合神经网络简要介绍TensorFlow相关概念,并给出了MNIST手写数字识别的简单示例,可以得出结论是,构建神经网络目的就是利用已有的样本数据训练网络的权重和偏置,使
    发表于 11-04 07:49

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络是一种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:根据现有数据获取输入的层隐藏层:使用反
    发表于 07-12 08:02

    浅析构建神经网络3D可视化应用的框架

    今天要为大家推荐一套超酷炫的,用于构建神经网络3D可视化应用的框架——TensorSpace。TensorSpace 可以使您更直观地观察神经网络模型,并了解该模型是如何通过中间层tensor的运算来得出最终结果的。
    的头像 发表于 11-16 08:43 3899次阅读

    构建神经网络的经验和教训总结

    在我们的机器学习实验室,我们在许多高性能的机器已经积累了成千上万个小时的训练。然而,并不是只有计算机在这个过程中学到了很多东西:我们自己也犯了很多错误,修复了很多错误。
    的头像 发表于 05-04 11:58 1692次阅读
    <b class='flag-5'>构建</b><b class='flag-5'>神经网络</b>的经验和教训总结

    如何在微控制器中构建神经网络

    人工神经网络在维基百科中被定义为“受构成动物大脑的生物神经网络模糊启发的计算系统。此类系统通过考虑示例来“学习”执行任务,通常无需使用特定于任务的规则进行编程。
    发表于 07-07 14:44 0次下载
    如何在微控制器中<b class='flag-5'>构建</b><b class='flag-5'>神经网络</b>

    构建神经网络模型的常用方法 神经网络模型的常用算法介绍

    神经网络模型是一种通过模拟生物神经元间相互作用的方式实现信息处理和学习的计算机模型。它能够对输入数据进行分类、回归、预测和聚类等任务,已经广泛应用于计算机视觉、自然语言处理、语音处理等领域。下面将就神经网络模型的概念和工作原理,
    发表于 08-28 18:25 625次阅读