【西瓜书】5.神经网络

1.概念
  • 有监督学习
  • 正向传播:输入样本---输入层---各隐层---输出层
  • 反向传播:误差以某种形式在通过隐层向输入层逐层反转,并将误差分摊给各层的所有单元,以用于修正各层的权值
  • 激活函数:也叫阶跃函数,目的是引入非线性因素,有很多种激活函数,如sigmoid,relu,使用情景如下

  • 激活函数作用:如果没有激活函数,则不管有几个隐藏层,都只能表示线性切割,即与单层神经网络相同,而通过使用激活函数,神经网络的每一层都可以学习输入数据的非线性变换,这使得整个网络能够逼近任何复杂的函数。解释如下图。

1.感知机(处理二分类问题)
1.1.概念及与线性回归模型的比较

1.2.梯度下降思想调整感知机参数w和b:

(1)损失函数为误分点到超平面距离的和 

书上推理补充:

3.多层前馈神经网络
3.1.思想:

        任意复杂连续函数都是n个一般线性函数的叠加,即感知机相当于一个线性函数,那增加n个隐层就可表示任意复杂连续函数。

3.2.区分

(1)感知机为单层网络

(2)加一个隐层为两层网络,也叫单隐层网络

3.3.误差逆传播算法BP算法

(1)用于多层前馈神经网络或其他类型网络,采用链式法则计算各层参数的梯度,然后使用梯度下降法来更新参数,以减小误差。

(2)损失函数为每个预测y值与样本实际y值之差绝对值的和

3.4.标准BP算法与累计BP算法

        类似随机梯度下降(每次迭代中仅使用一个样本来计算梯度)、标准梯度下降(整个数据集来计算梯度)

  • 标准BP算法:更新频繁;需要更多次数迭代
  • 累计BP算法:读取整个训练集后才更新,频率低;更快获得较好解(数据集大更明显)

3.5.过拟合解决方案

        过拟合表现:训练误差持续降低测试误差可能上升

(1)早停:

  • 若训练误差降低但测试误差上升,则停止
  • 返回最小测试误差的权重和偏置(阈值)

(2)正则化:

  • 增加描述网络复杂度的部分,eg权重和阈值的平方和,想要这部分也小一点,别太复杂
  • 损失函数变为了\lambda*经验误差+(1-\lambda)*网络复杂度,其中经验误差就是我们上面一直用的损失函数,即预测y与实际y值的差和
4.全局最小与局部极小

        在神经网络中,我们对样本进行训练,对于训练得到的结果,我们通过损失函数计算调整权重和阈值,在这个过程中,不管是感知机还是多层前馈网络使用的都是梯度下降策略,希望找到损失函数在某个参数(权重或阈值)方向上的是极小值的点,也就是寻找损失函数在某参数上偏导为0的点,若不为0,则调整该参数使得在损失函数上的取值向最低点靠近。在这个过程中,涉及到一个全局最小和一个局部极小的概念,即如果有多个极小点,那么根据梯度下降很可能找到的是一个局部最小点,而不是全局最小点。解决方案如下:

  • 多组不同参数值的神经网络出发
  • 模拟退火算法,每一步有一定概率接受比当前更差的结果
  • 随机梯度下降,在梯度为0时计算出来的梯度仍可能不为0
5.其他神经网络

(1)PBF网络:单隐层、径向基函数作为隐层神经元激活函数

(2)ART 网络:无监督学习策略、输出神经元相互竞争,每一时刻仅有一个神经元被激活、可塑性-稳定性

(3)SOM 网络:竞争型、无监督神经网络、将高维数据映射到低维空间(通常为2维)同时保持输入数据在高维空间的拓扑结构

(4)级联相关网络

(5)Elman 网络:不同于前馈神经网络,elman是一种递归神经网络,神经元的输出反馈回来作为输入信号

(6)Boltzmann 机:基于能量的模型

6.深度学习模型

        模型深度和宽度都较大,其中增加隐层的数目比增加隐层神经元的数目更有效,由于复杂则难以直接用经典算法(例如标准BP算法)进行训练。

训练方法:

(1)无监督逐层训练:预训练(训练时将上一层隐层结点的输出作为输入)+微调(一般使用BP算法),可以先找到局部看起来比较好的设置, 然后再基于这些局部较优的结果联合起来进行全局寻优

(2)权共享:一组神经元使用相同的连接权值,卷积神经网络就是这样

**卷积神经网络:

(1)卷基层:含n个特征映射,每个特征映射为由多个神经元构成的“平面”

(2)采样层:汇合层,减少数据量的同时保留有用信息

(3)连接层:每个神经元被全连接到上一层每个神经元, 本质就是传统的神经网络

激活函数采用修正线性函数relu;可用bp算法训练;每一层的权值都相同,好训练

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

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

相关文章

Maven 中的 classifier 属性用过没?

最近训练营有小伙伴问到松哥一个关于 Maven 依赖的问题,涉及到 classifier 属性,随机问了几个小伙伴,都说工作中没用到过,因此简单整篇文章和小伙伴们分享下。 Maven 大家日常开发应该都有使用,Maven 中有一个比较好玩…

最小二乘法算法(个人总结版)

最小二乘法(Least Squares Method)是一种通过最小化误差平方和来拟合数据的回归分析方法。它被广泛应用于线性回归、多元回归以及其他数据拟合问题中。以下是详细的教程,涵盖基本概念、数学推导、具体步骤和实现代码。 1. 最小二乘法基本概念…

装机必备——鲁大师安装教程

装机必备——鲁大师安装教程 软件下载 软件名称:鲁大师 软件语言:简体中文 软件大小:144.75M系统要求:Windows7或更高, 32/64位操作系统 硬件要求:CPU2GHz ,RAM2G或更高 下载通道①迅雷云盘丨…

p5开发helloworld

注意,执行的时候,后面不用带class的后缀

C语言(字符、字符串函数)2

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记,在这里撰写成文一…

Pinia(三): 了解和使用state

1.state state 就是我们要定义的数据, 如果定义 store 时传入的第二个参数是对象, 那么 state 需要是一个函数, 这个函数的返回值才是状态的初始值.这样设计的原因是为了让 Pinia 在客户端和服务端都可以工作 官方推荐使用箭头函数(()>{ })获得更好的类型推断 import { de…

最新张量补全论文收集【8篇】

目录 1、利用张量子空间先验:增强张量补全的核范数最小化和 2、基于可学习空间光谱变换的张量核范数多维视觉数据恢复 3、用于图像补全的增强型低秩和稀疏 Tucker 分解 4、多模态核心张量分解及其在低秩张量补全中的应用 5、 低秩张量环的噪声张量补全 6、 视…

三十四、openlayers官网示例Dynamic clusters解析——动态的聚合图层

官网demo地址: https://openlayers.org/en/latest/examples/clusters-dynamic.html 这篇绘制了多个聚合图层。 先初始化地图 ,设置了地图视角的边界extent,限制了地图缩放的范围 initMap() {const raster new TileLayer({source: new XYZ…

JAVA流程控制break,continue,goto

1.break在任何循环语句的主体成分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用) 如图:break语句强行退出循环,结果输出1~30便结束&#xf…

两数之和-第13届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第76讲。 两数之和&#xf…

Java面试八股之死锁和活锁的区别

死锁和活锁的区别 基本定义: 死锁(Deadlock):指两个或多个线程互相等待对方释放资源,从而导致所有线程都无法继续执行的状态。每个线程至少持有一个资源,并等待另一个由其他线程持有的资源,形…

初始操作系统

概念: 1.系统资源的管理者:实质控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机地工作和资源的分配 2.向上层提供方便易用的服务:以提供给用户和其他软件方便接口和环境 封装思想:操作系统把一些丑…

阿里云服务器接入百度云防护后显示502原因

最近,发现很多使用了阿里云服务器的网站出现502的情况 经百度云防护技术排查发现阿里云机房对百度云防护的IP进行了拦截,原因近期可能是百度云防护的IP请求过于频繁,导致阿里云机房策略把百度云的IP当成了攻击IP。 解决办法是提交工单让阿里…

第三方模块的下载与安装

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在进行Python程序开发时,除了可以使用Python内置的标准模块外,还有很多第三方模块可以被我们所使用。对于这些第三方模块&…

5.31——进军MYSQL

目录 简略版: 详解版: 一. myaql概述: 数据库: 数据库管理系统: SQL: 二. masql的安装: 启动与停止: 1. MYSQL提供的命令行 2. windows提供的命令行工具 三.数据模型 …

Claude 3可使用第三方API,实现业务流程自动化

5月31日,著名大模型平台Anthropic宣布,Claude3模型可以使用第三方API和工具。 这也就是说,用户通过文本提问的方式就能让Claude自动执行多种任务,例如,从发票中自动提取姓名、日期、金额等,该功能对于开发…

DVWA靶场搭建:Apache、MySQL、PHP、DVWA

最近为了能够较为真实地学习Web渗透的各种技术,就想着自己搭建一个专门用于学习的Web演练平台--DVWA“靶场”。 DVWA可以进行暴力(破解)、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入、SQL盲注、弱会话ID、XSS漏…

批量归一化(BN)和层归一化(LN)的区别

批量归一化(Batch Normalization, BN)和层归一化(Layer Normalization, LN)是深度学习中常用的两种归一化技术,它们主要用于解决训练过程中的内部协变量偏移问题,加速模型收敛和提高稳定性。 1. 为什么需要…

基于Java的工程项目管理系统的功能与技术优势 工程管理系统源码

在当今的工程领域,项目管理的高效协同和信息共享是提升工作效率、降低成本的关键。本文将向您介绍一款基于Java技术构建的工程项目管理系统,该系统采用前后端分离的先进技术框架,功能全面,能够满足不同角色的需求,从项…

如何制作一本温馨的电子相册呢?

随着科技的不断发展,电子相册已经成为了一种流行的方式来记录和分享我们的生活。一张张照片,一段段视频,都能让我们回忆起那些温馨的时光。那么,如何制作一本温馨的电子相册呢? 首先,选择一款合适的电子相册…