【自学记录】深度学习入门——基于Python的理论与实现(第3章 神经网络)

news2024/11/24 11:48:11

3.4.3 3层神经网络Python实现

实现的是这个网络请添加图片描述

**init_network()**函数会进行权重和偏置的初始化,并将它们保存在字典变量network中。这个字典变量network中保存了每一层所需的参数(权重和偏置)。
**forward()**函数中则封装了将输入信号转换为输出信号的处理过程。
另外,这里出现了forward (前向)一词,它表示的是从输入到输出方向的传递处理。后面在进行神经网络的训练时,我们将介绍后向(backward,从输出到输入方向)的处理。

#阶跃函数
import numpy as np
import matplotlib.pylab as plt
def step_function(x):#阶跃函数
    y=x>0
    y=y.astype(np.int64)#True转换成1,False转换成0
    return y
def sigmoid(x):#sigmoid激活函数
    return 1/(1+np.exp(-x))
def ReLU(x):
    return np.maximum(0,x)
def identity_function(x):#恒等函数,原样输出
    return x
'''
x=np.arange(-5.0,5.0,0.1)
y=step_function(x)
y2=sigmoid(x)
plt.plot(x,y2)
plt.ylim(-0.1,1.1)
plt.show()
'''
def init_network(): #权重偏置初始化,并建立字典
    network={}
    network['W1']=np.array([[0.1,0.3,0.5],[0.2,0.4,0.6]])
    network['b1']=np.array([0.1,0.2,0.3])
    network['W2'] = np.array([[0.1, 0.4], [0.2, 0.5], [0.3, 0.6]])
    network['b2'] = np.array([0.1, 0.2])
    network['W3'] = np.array([[0.1, 0.3], [0.2, 0.4]])
    network['b3'] = np.array([0.1, 0.2])
    return network
def forward(network,x):#向前传播
    W1,W2,W3=network['W1'],network['W2'],network['W3']
    b1,b2,b3=network['b1'],network['b2'],network['b3']
    a1=np.dot(x,W1)+b1 #矩阵点乘
    z1=sigmoid(a1)
    a2=np.dot(z1,W2)+b2
    z2=sigmoid(a2)
    a3=np.dot(z2,W3)+b3
    y=identity_function(a3)
    return y
network=init_network()
x=np.array([1.0,0.5])# X=1*2】矩阵 W1=2*3】矩阵=>Z1=1*3】 W2=3*2=>Z2=1*2】
y=forward(network,x)
print(y)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1033992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS 选择器的几种方法

CSS 选择器的几种方法 业余选手爱记笔记示例代码用否定伪类伪元素用代数式法同胞选择符 ~相邻同胞选择符 业余选手爱记笔记 CSS权威指南(第四版)是一本好书,看了一遍第二章的选择符有些受益,记录一点读后感和练习。我已将该书电…

ShipMaker船舶协同设计软件介绍

作者简介: 有将近20年的软件开发经验,包括15年CAD(7年船舶和8年建筑CAD软件)软件开发和5年高性能服务器开发。精通CAD建模平台底层架构和服务器开发技术,包括对象存储管理及拷贝、图形对象渲染、文件保存及升级、事务…

C语言自定义类型详解(2)位断、枚举、联合知识汇总

本篇概要 本篇主要讲述C语言位断、枚举。联合的相关知识,包括哥哥自定义类型的基本声明,使用、优点。计算等相关知识。 文章目录 本篇概要1.位断1.1什么是位断?1.2 位段的内存分配1.3 位段的跨平台问题1.3 位段的应用 2.枚举2.1 枚举类型的声…

堆的基本操作和PriorityQueue接口

目录 堆的插入 堆的删除 PriorityQueue接口 PriorityQueue的注意事项: PriorityQueue常用接口介绍 1. 优先级队列的介绍 2. 扩容 3. 插入/删除/获取优先级最高的元素 Java对象的比较 1.基本类型的比较 2.对象比较的问题 3.对象比较的方法 Top- k问题 堆的插入 堆的插入…

asp.net core openxml读取word内容

安装包 OpenXMLSDK-MOT System.IO.Packaging 编写代码测试 using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; using System; using System.Linq; using System.Text;namespace WordReader {internal class Program{static void Main(…

【Python从入门到进阶】37、selenium关于phantomjs的基本使用

接上篇《36、Selenium 动作交互》 上一篇我们介绍了selenium操作网页的动作内容。本篇我们来学习有关phantomjs的相关知识。 一、selenium的缺点 在介绍PhantomJS之前,让我们先讨论一下直接使用Selenium的一些缺点。 1、显示浏览器窗口:Selenium通常需…

管理类联考——数学——汇总篇——知识点突破——几何——平面几何——记忆

文章目录 整体记忆宫殿角度/分类/串联线——从小到大角度/分类/串联线2——求长度,面积,角度 局部数字编码口诀法五大模型/共角定理、风筝模型、蝴蝶模型 转化图像法特点法公式推导法:公式推导掌握数学公式射影定理共角定理燕尾定理蝴蝶定理/…

Mysql高级——数据库设计规范(1)

数据库设计规范 1. 为什么需要数据库设计 数据库设计是为了有效地组织和管理数据。它是一个重要的步骤,用于创建一个结构良好、高效和可靠的数据库系统。以下是一些需要数据库设计的原因: 数据组织:数据库设计帮助我们将数据按照一定的结构…

Android 引入FFmpeg

1.安装 CMake 首先,需要下载 CMake 相关工具,在 Android Studio 中依次点击 Tools->SDK Manager->SDK Tools ,然后勾选 CMake : CMake 构建工具 NDK : NDK 环境 最后依次点击 OK->OK->Finish ,开始下载&#xff0…

科技资讯|苹果获批手机“Touch Bar”新专利,苹果Find My依旧火爆

根据美国商标和专利局(USPTO)公示的清单,苹果获得了一项 iPhone 专利,在机身侧面装上一个“Touch Bar”,用于显示电量等信息,并支持相关的交互操作。 这项专利最早于 2011 年提交,并于 2014 年…

OJ练习第180题——颠倒二进制位

颠倒二进制位 力扣链接:190. 颠倒二进制位 题目描述 颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指…

FPGA 图像缩放 千兆网 UDP 网络视频传输,基于B50610 PHY实现,提供工程和QT上位机源码加技术支持

目录 1、前言版本更新说明免责声明 2、相关方案推荐UDP视频传输--无缩放FPGA图像缩放方案我这里已有的以太网方案 3、设计思路框架视频源选择IT6802解码芯片配置及采集动态彩条跨时钟FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择 UDP协议栈UDP视频数据组包UDP…

Spring | 异常处理最佳实践

引言 在快速迭代和持续交付的今天,软件的健壮性、可靠性和用户体验已经成为区别成功与否的关键因素。特别是在Spring框架中,由于其广泛的应用和丰富的功能,如何优雅地处理异常就显得尤为重要。本文旨在探讨在Spring中如何更加高效、准确和优…

【设计模式】组合模式

文章目录 1.组合模式定义2.组合模式的结构2.1. 安全式组合模式的结构2.2.透明式组合模式的结构 3.组合模式实战案例3.1.场景说明3.2.关系类图3.3.代码实现 4.组合模式优缺点5.组合模式适用场景6.组合模式总结 主页传送门:💁 传送 1.组合模式定义 组合模式…

Spring面试题8:面试官:说一说Spring的BeanFactory

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:说一说Spring的BeanFactory Spring的BeanFactory是Spring框架的核心容器,负责管理和创建Bean对象。它是一个工厂类,用于实例化、配置和管理Bean的…

忽视日志吃大亏,手把手教你玩转 SpringBoot 日志

一、日志重要吗 程序中的日志重要吗? 在回答这个问题前,笔者先说个事例: ❝ 笔者印象尤深的就是去年某个同事,收到了客户反馈的紧急bug。尽管申请到了日志文件,但因为很多关键步骤没有打印日志,导致排查进…

基于springboot+vue的车辆管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

专业排版软件InDesign 2023下载 InDesign mac中文功能

InDesign 2023 mac是一款专业排版软件,适用于Windows和macOS平台。它可以帮助用户创建、设计和排版各种印刷品和数字出版物,如杂志、书籍、报纸、广告、海报、手册、电子书等。 InDesign 2023 mac软件特点 多种页面布局:支持多种页面布局&…

名义实际GDP-各地区-原始和结果(2000-2022年)

一、数据介绍 数据名称:名义、实际GDP-各地区-原始和结果 数据年份:2000-2022年 计算公式:实际GDP 名义GDP / GDP折算指数 数据基期:2000年 数据整理:自主整理 二、数据用途 数据用途 文献依据 经济发展水平 …

如何在.NET电子表格应用程序中创建流程图

前言 流程图是一种常用的图形化工具,用于展示过程中事件、决策和操作的顺序和关系。它通过使用不同形状的图标和箭头线条,将任务和步骤按照特定的顺序连接起来,以便清晰地表示一个过程的执行流程。 在企业环境中,高管和经理利用…