神经网络的基础知识

神经网络基础知识 一、感知机模型概念 有n个输入数据,通过权重与各数据之间的计算和,比较激活函数结果,得出输出。 二、感知机的应用 很容易解决与、或、非问题,解决分类问题。 三、感知机与逻辑回归的联系与区别 感知机用的是阈值,而逻辑回归用的是sigmoid激活函数。 四、神经网络的概念 在机器学习和认知科学领域,人工神经网络(artificial neural network,缩写ANN),简称神经网络(:neural network,缩写NN)或类神经网络,是一种模仿生物神经网络的结构和功能的计算模型,用于对函数进行 阅读详情

前馈神经网络

前馈神经网络是最早被提出的神经网络,熟悉的单层感知机,多层感知机,卷积深度网络等都属于前馈神经网络,之所以叫前馈,可能是因为信息向前流:数据从输入–计算–输出步骤。像RNN有反馈连接的叫反馈神经网络。

神经元

科学家参考了生物神经元的结构,抽象了神经元模型MP,一个神经元模型包含:输入,计算,输出
如图:一个典型的神经元模型:包含n个输入,1个输出,计算功能(先求和,再将结果送入f激活函数中) 图中箭头代表连接,每个箭头都会包含一个权值w。一个神经网络的训练算法就是让权重的值调整到最佳,使得整个网络的训练效果最好。
在这里插入图片描述

  • 激活函数:在MP模型里,函数f称为激活函数,激活函数将数据压缩到一定范围,其值大小将决定该神经元是否处于活跃状态。对于激活函数的要求是:非线性(如果线性,再多层都相当于两层),可微性,单调性。

单层感知机

感知机仅有两层:输入层和输出层。如图:输入层有4个输入单元,输出层有2个神经单元,其中y1的值是4个输入单元与权重相乘再求和,然后再用f激活函数激活后的值,同理f2也是。虽然输入相同不过对应的权重不同,
在这里插入图片描述

多层神经网络

由于单层感知机对线性可分或近似可分的数据处理效果很好,但是对线性不可分的数据的效果不理想,即使人们想到了增加输出层的神经元数,调正激活函数,都还是不好,后来人们想到增加层数,这就引入了多层神经网络。

如图:包含n个输入单元,p个隐藏单元,q个输出神经元 共两层神经网络。
在这里插入图片描述

增加了层数随之而来的计算复杂度也增加了。此刻人们面临的问题大致如下:

  • 如何来缩小计算误差?
  • 如何求最优解?
    传统机器学习可以通过梯度下降或最小二乘法来解决。而神经网络该如何解决???

面对这些问题,直到1986年Hinton和Rumelhar等人提出了**反向传播(BP)**算法,解决了两层神经网络所需要的计算量问题。

反向传播(BP)

多层神经网络采用反向传播的主要思想步骤如下:

  • ① 利用输入数据和其对应权重,从输入层到隐藏层,最后到达输出层,求出预测结果。
  • ②利用预测结果和真实值构造损失函数求出损失值。
  • ③利用损失函数,将损失值从输出层向隐藏层反向传播,直至传播到输入层,利用梯度下降算法求解参数梯度并优化。
  • ④在反向传播过程中,根据误差调整各种参数的值,不断迭代上述过程直至收敛。

①②就是前向传播过程,③④就是反向传播过程。

如图(为了简单介绍,省略偏差b):C是损失函数,z是激活函数,
在这里插入图片描述
前向传播:z=∑i=12(wixi)z = \sum_{i=1}^2(w_ix_i)z=i=1∑2​(wi​xi​),a=g(z)=1/(1+e−z)a= g(z) = 1/(1+e^{-z})a=g(z)=1/(1+e−z)
C=1/2(∣∣a−y∣∣2)C = 1/2(||a-y||^2)C=1/2(∣∣a−y∣∣2)

反向传播:
δ(a)=∂C/∂a=−(y−a)\delta^{(a)} = \partial C/\partial a = -(y-a) δ(a)=∂C/∂a=−(y−a)
δ(z)=∂C/∂z=(∂C/∂a)∗(∂a/∂z)=δ(a)a(1−a)\delta^{(z)} = \partial C/\partial z =(\partial C/\partial a ) * ( \partial a/\partial z) = \delta^{(a)} a(1-a)δ(z)=∂C/∂z=(∂C/∂a)∗(∂a/∂z)=δ(a)a(1−a)

再根据链式求导法则求C关于权重w和偏差b的梯度。
∇wC=(∂C/∂z)∗(∂z/∂w)=δ(z)xT\nabla_wC =(\partial C/\partial z)* ( \partial z/\partial w) =\delta^{(z)} x^T ∇w​C=(∂C/∂z)∗(∂z/∂w)=δ(z)xT

深度学习的其他策略

随着神经网络的层数的增加,计算的复杂度增加,因微积分的链式规则导致的梯度不稳定,因深度导致的BP算法困难,信息丢失,对超参数敏感,对初始数据敏感,以及因此而导致的欠拟合或过拟合等,面对这些问题,目前也有策略,虽然不是完美,但也不错。如下:

  • ①欠拟合我们采用正则化
  • ②梯度不稳定采用ReLU
  • ③难训练利用Batch Normalization,GPU,深度残差网络,
  • ④超敏感问题采用自适应优化算法。

如何选择激活函数?常见的有:sigmoid,tanh,relu,softmax
图中分别是:sigmoid , tanh, relu激活函数
在这里插入图片描述
其对应的导数图如下:
在这里插入图片描述

答:当神经网络层数不多时,选择这四个都可以,当搭建的神经网络层数较多时,需要适当选举,不当将导致梯度消失,不宜选择sigmoid,tanh因为它们导数都小于1,将导致梯度消失。当然导数也不能大于1,大于1将导致梯度爆炸。

致谢

《python深度学习基于TensorFlow 》吴茂贵 王冬 李涛 杨本法 著

Scratch 3.0角色控制避坑指南:为什么你的键盘移动总卡顿? 本文深入剖析了Scratch 3.0中角色移动卡顿的根本原因,指出依赖`当按下`事件积木的局限性。通过对比分析,推荐采用`重复执行`结合`如果<键被按下?>`的循环控制方案,并引入速度变量模拟惯性,从而实现流畅、实时的键盘控制优化,显著提升游戏操作体验。 阅读详情

相关推荐

偷懒必备:3种方法快速移植MFC界面资源(含.rc文件打不开解决方案)

本文针对MFC桌面应用开发,详细介绍了三种快速移植界面资源的实战方法:直接编辑.rc文件、利用Visual Studio“添加现有项”进行可视化挂载,以及双实例拖拽应急方案。文章重点剖析了.rc文件无法打开的常见问题,提供了通过修复rc.exe等关键文件来根治此问题的解决方案,帮助开发者高效复用资源,规避ID冲突等陷阱。

weixin_28358083的博客 274

神经网络基础详解

神经网络基础 1、感知机:计算机模拟大脑经行信息处理的过程。有n个输入数据,通过权重与各数据之间的计算和,比较激活函数结果,得出输出。解决分类问题。 http://playground.tensorflow.org

yangke 1万+

SAP PS模块预算控制实战:为什么你的采购订单金额和预算占用对不上?

本文深入解析SAP PS模块中采购订单金额与预算占用偏差的常见问题,揭示承诺成本与实际成本的分流处理机制。通过实战案例和六步定位法,提供发票拆分、跨年度预算等典型场景的解决方案,并分享预防性配置框架和最佳实践,帮助企业有效控制预算偏差。

weixin_30363981的博客 516

神经网络基础

接下来详细讲一下梯度的计算。对于一个具有 1 个输出和。

si_ying的博客 1万+

永磁同步电机矢量控制——电流内环前馈解耦策略

在采用永磁同步电机矢量控制时,ud和uq的指令值存在耦合项。需要对其进行解耦,目前,常用的解耦设计方法有前馈解耦、偏差解耦以及内模控制,本文主要分享电流内环前馈解耦控制策略。

a12312341ll的博客 8696

PaddleOCR 3.x 最新版使用教程(2025)——从安装到实战身份证识别,一步到位!

本文针对PaddleOCR 3.x大版本更新带来的参数变化和兼容性问题,提供从环境配置到实际应用的全流程解决方案。

qq_58607032的博客 9789

【神经网络】 神经网络基础

机器学习、深度学习、神经网络 这几个相似名词,可以浅浅辨析一波。机器学习是一个广泛的概念,它包括了各种让计算机从数据中学习的技术和方法。神经网络是机器学习中的一个特定领域,它使用类似于人脑神经元的节点和连接来模拟学习过程。深度学习则是神经网络的一个子集,它利用多层神经网络结构来学习数据的深层表示,并在许多任务上取得了显著的性能提升。简而言之,机器学习是一个大的领域,神经网络是机器学习的一个子集,而深度学习是神经网络的一个进阶方向。

weixin_44715777的博客 2498

如何让 Mac mini 24小时不休眠运行 OpenClaw

如果 OpenClaw 每 5-10 分钟自动退出,launchd 连续 4 次快速重启后会判定为崩溃循环并卸载服务。:方案一(pmset)+ 方案三(launchd)组合使用,既防止系统休眠,又保证 OpenClaw 开机自启和崩溃自动恢复。:caffeinate 只在进程运行期间有效,终端关闭或进程结束后系统恢复正常睡眠策略。这条命令会自动创建 launchd plist 并启用服务,是最推荐的方式。替换为你的实际用户名路径,Node.js 路径也要改成你自己的。确保 plist 中有。

Maynor的博客 2220

神经网络基础(NN)

这篇文章详细介绍了神经网络的基础知识、组成要素、优化方法、正则化策略以及一个完整的案例——使用神经网络构建手机价格分类模型。文章从神经网络的定义、神经元模型讲起,逐步深入到激活函数、权重初始化、损失函数、优化器等内容,并通过手机价格分类案例展示了从数据预处理到模型构建、训练、优化和部署的全过程,适合深度学习初学者系统学习。

gorgor在码农 3375

解决开着代理情况下pip或魔搭下载失败

最近由于经常配环境导致,老是要来回切clash关掉代理,非常的不方便如下面的,魔搭模型下载失败如下面的,pip换源后下载失败。

风吹落叶的博客 2950

家庭弱电最实用的功能,网线面板如何接线

按照规范,我国宽带入户线按B接法,即568B标准,从后面看,从左到右:1橙白,2橙,3绿白,4蓝,5蓝白,6绿,7棕白,8棕,即和水晶头的接法一致。做水晶头的时候,要注意排好线序,把8根线的头剪齐,留下大约1.8公分,插入水晶头的时候,水晶头要尾巴向下,把线插到水晶头的底端,用网线钳子夹紧。具体是:第1脚——橙白、第2脚——橙色、第3脚——绿白、第4脚——蓝色、第5脚——蓝白、第6脚——绿色、第7脚——棕白、第8脚——棕色,除了四根带颜色的线橙、绿、蓝、棕外,每一根白线上都有线标橙、绿、蓝、棕。

qq_43416206的博客 1674

神经网络入门基础知识

神经网络入门基础知识

qq_45278971的博客 189

【HYSPLIT 教程第二期】Inline WRF-HYSPLIT 耦合

【HYSPLIT 教程第二期】Inline WRF-HYSPLIT 耦合

WW、forever的博客 811

神经网络基础知识总结

将上述计算得到的三个偏导数相乘,即 ∂w5​∂Etotal​​=∂outo1​∂Etotal​​×∂neto1​∂outo1​​×∂w5​∂neto1​​=0.74136507×0.186815602×0.593269992 ,就可得到总误差对权重 w5​ 的偏导数,用于后续权重 w5​ 的更新。核心依据链式法则,将总误差对权重的偏导数,拆解为多个中间变量偏导数的连乘形式 ,即 ∂w5​∂Etotal​​=∂outo1​∂Etotal​​×∂neto1​∂outo1​​×∂w5​∂neto1​​。

cbdA_ZAI的博客 904

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

神经网络基础知识,一天过完!

一天了解神经网络 早:神经网络与多层感知机:基础知识,激活函数、反向传播、损失函数、权值初始化和正则化 中: 卷积神经网络: 统治图像领域的神经网络结构,发展历史、卷积操作和池化操作 晚:循环神经网络:统治序列数据的神经网络结构,RNN、GRU和LSTM 在单层神经网络基础上引入一个或多个隐藏层 使神经网络有多个网络层 让多层感知机成为真正的多层,否则等价于一层 引入非线性,使网络可以逼近任何非线性函数(万能逼近定理,universal approximator) 激活函数具备性质常见激活函数前向传播: 输

weixin_45312236的博客 1200

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

神经网络的基础知识与简单分类编程

在我的下载里面有一些关于神经网络、遗传算法、粒子群优化算法等C语言基础编程。其实这些是两三年前上课写的了,当时一直没有做笔记的习惯,所以今天回过头来看很多自己都忘记了,所以准备现在将这些知识拾起来,写一个【智能信息处理】的专区,来回忆这些智能信息处理的算法。 我要写的第一篇就是《神经网络的基础知识与编程》 一、神经网络基础知识 人工神经网络(Artificial Neural Netw...

SweeNeil 1740

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 神经网络之模型搭建和参数优化---基于CNN
下一篇: Hierarchical Co-Attention for Visual Question Answering----代码细读
snow5618
博客等级 码龄9年 141粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值