机器学习——神经网络模型

article/2025/9/18 6:47:33

在“M-P神经元模型”中,神经元接收到来自个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。常用Sigmoid函数作为激活函数。

把许多个这样的神经元按一定额层次结构连接起来,就得到了神经网络。事实上,从计算机科学的角度看,我们可以先不考虑神经网络是否真的模拟了生物神经网络,只需将一个神经网络视为包含了许多参数的数学模型,这个模型是若干个函数,例如相互嵌套而得。

感知机由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”。感知机能容易实现与、或、非运算,但它不能解决异或这样简单的非线性可分问题

要解决非线性可分问题,需要考虑使用多层功能神经元,其输入层与输出层之间的层神经元称为隐层,隐层和输出层神经元都是拥有激活函数的功能神经元。这样的神经网络结构通常称为“多层前馈神经网络”。神经网络的学习过程,就是根据训练数据来调整神经元之间的“连接权”以及每个功能神经元的阈值;换言之,神经网络“学”到的东西,蕴涵在连接权与阈值中。

多层网络的训练通常采用误差逆传播算法(BP)。假定有输入实例由个属性描述,输出维实值向量,含个隐层神经元的单隐层前馈网络,其中输出层第个神经元的阈值用表示,隐层第个神经元的阈值用表示;输入层第个神经元与隐层第个神经元之间的连接权为,隐层第个神经元与输出层第个神经元之间的连接权为

记隐层第个神经元接收到的输入为

 其中表示样本的第个属性值;

 输出层第个神经元接收到的输入为

其中为隐层第个神经元的输出,假设隐层和输出层神经元都是用Sigmoid函数作为激活函数。即表示Sigmoid函数。

对训练例,假定神经网络模型的预测输出为,脚标和上标分别表示样例属性向量的维数、样本序号,即

则网络在训练例上的均方误差为

这里有个参数需确定:输入层到隐层的个权值、隐层到输出层的个权值、个隐层神经元的阈值、个输出层神经元的阈值。

 

 

其中表示学习率,它控制着算法每一轮迭代中的更新步长,若太大则容易振荡,太小则收敛速度又会过慢。还要特别注意理解上述画波浪线的句子。 

对每个训练样例,BP算法执行以下操作:先将输入示例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果;然后计算输出层的误差,再将误差逆向传播至隐层神经元,最后根据隐层神经元的误差来对连接权和阈值进行调整。这个迭代过程循环进行,直到达到某些停止条件为止,如训练误差已达到一个很小的值。

一点需要注意的是,更新公式中的不需要赋初值,因为只要给各层权值和阈值赋初值之后,再输入样例,自然就能得到的值了,并且它只起到一个中介作用

另一点需要注意的是BP算法的目标是要最小化训练集上的累积误差

也就是说,上述“标准BP算法”的更新规则是基于单个的推导而得。累积BP算法与标准BP算法都很常用。一般来说,标准BP算法每次更新至针对单个样例,参数更新得非常频繁,而且对不同样例进行更新的效果可能出现“抵消”现象。因此,为了达到同样的累积误差极小值点,标准BP算法往往需进行更多次数的迭代。累积BP算法直接针对累积误差最小化,它在读取整个训练集一遍后才对参数进行更新,其参数更新频率低得多。但在很多任务中,累积误差下降到一定程度后,进一步下降会非常缓慢,这时标准BP往往会更快获得较好得解。它们得区别类似于随机梯度下降(SGD)梯度下降(GD)之间的区别。

可以证明,只需一个包含足够多神经元的隐层,多层前馈前馈网络就能以任意精度逼近任意复杂度的连续函数。正是由于其强大的表示能力,BP神经网络经常遭遇过拟合,其训练误差持续降低,但测试误差却可能上升。有两种策略常用来缓解BP网络的过拟合。第一种策略是“早停”:将数据分成训练集验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。第二种策略是“正则化”,其基本思想是在代价函数中增加一个“惩罚项”,这样训练过程将会偏好比较小的参数项,使得网络输出更加“光滑”,从而对过拟合有所缓解。

若代价函数仅有一个局部极小值点(此式的代价函数为凸函数),那么找到的局部极小值点也就是全局最小值点;然而,如果误差函数具有多个局部极小值点,则不能保证找到的解是全局最小值点。在现实任务中,我们通常采用以下策略来“跳出”局部极小:

· 以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数。这相当于从多个不同的初始点开始搜索,这样就可能陷入不同的局部极小,从中进行选择有可能获得更接近全局最小的结果。

  · 使用“模拟退火”技术。

  · 使用随机梯度下降。

  · 使用“遗传算法”。

其他常见的神经网络主要有RBF网络ART网络SOM网络级联相关网络Elman网络Boltzmann机等。

典型的深度学习模型就是很深层的神经网络,训练时往往不用BP算法,而采用“预训练+微调”或“权共享”的方式,这有效地节省了训练开销。从另一个角度讲,深度学习是通过多层处理,逐渐将“底层”特征表示转化为“高层”特征表示,最后用“简单模型”来完成复杂的分类等学习任务


http://chatgpt.dhexx.cn/article/RAVDrESu.shtml

相关文章

机器学习模型

一、LR 1. 逻辑回归与线性回归的区别 引入sigmoid函数映射,使样本映射到[0,1]之间的数值,从而来处理分类问题。是广义线性模型,本质上还是线性回归。逻辑回归是假设变量服从伯努利分布,线性回归假设变量服从高斯分布。逻辑回归是…

我们如何学习 2:如何建立模型

我们如何学习 2:如何建立模型 战略性资源学习:构建一颗知识树提炼概念建立连接结构分析纵向拆解横向拆解 加强连接 战略性资源 每个人都有天生的学习能力,所以都能学习 —— 但是学习了如何学习,能让我们更聪明、更高效地学习 如…

机器学习中的模型是什么?

在机器学习中,模型是指一种数学函数,它能够将输入数据映射到预测输出。模型是机器学习算法的核心部分,通过学习训练数据来自适应地调整模型参数,以最小化预测输出与真实标签之间的误差。 机器学习中的模型是什么? 机器…

机器学习 —— 简单模型的构建

文章目录 对于简单线性模型的机器学习对简单像素图片的学习构建简单的卷积神经网络一维卷积二维卷积三维卷积 对于简单线性模型的机器学习 对于以下对应 x x x, y y y的值来预测当 x 10 x 10 x10时 y y y的值 xy-1-30-111233547 通过找规律发现这是一个关于 y 2 x − 1 y…

机器学习——线性模型学习

线性回归 线性回归多元线性回归对数线性回归对数几率回归线性判别分析(LDA)多分类任务中的LDA 多分类学习OvR、OvOMvM 线性回归 主要目标确定 如何确定w和b呢?关键在于如何衡量f(x)与y的差别 此种衡量误差的方法称为均方误差也称为欧式距离…

机器学习-模型训练

目录 1.逻辑回归模型 2. KNN模型 3.随机森林模型 4.决策树模型 5.贝叶斯模型 6.支持向量机模型 步骤: 导入必要的第三方库读取数据划分数据集可选操作,引入停用词,当作参数传入特征提取器特征提取提取的向量当作特征传入逻辑回归模型…

机器学习——训练模型

机器学习——训练模型 线性回归 y ^ h Θ ( x ) Θ ∗ x 其中 Θ 是模型的参数向量,其中包括偏置项 Θ 0 和特征权重 Θ 1 至 Θ n x 是实例的特征向量,包括从 x 0 至 x n , x 0 始终为 0 Θ ∗ x 是向量 Θ 与 x 点积 h Θ 是假设函数,使…

从机器学习到大模型(零基础)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、机器学习 1.监督学习 (1)线性回归模型 (2)多元线性回归模型 (3)二元分类模型 &a…

模型学习

LeNet AlexNet LeNet: 在大的真实数据集上的表现并不尽如⼈意。 1.神经网络计算复杂。 2.还没有⼤量深⼊研究参数初始化和⾮凸优化算法等诸多领域。 神经网络的特征提取:通过学习得到数据的多级表征,并逐级表示越来越抽象的概念或模式。 神经网络发展…

建模师经验分享:模型学习方法!零基础小白必备知识速看

游戏建模初学者大多存在三个大问题,一是工具的使用不够熟练,甚至有些功能还不知道,二是对布线的规范没有太大的要求和了解,三是对游戏制作流程不清晰和板绘下的功力不够,对贴图制作用工少,甚至有些人还处于一直做白膜的阶段。 那么对大多说想要要学游戏建模的学习者想要…

vue3实现抽屉组件中实现上一条和下一条

简单的模拟在用户查看学员详情时,点击上一条和下一条实现数据切换。 实现逻辑:首先将点击的用户的下标传给抽屉组件,然后监听下标的变化,判断是否为最后一个用户,是就设置样式并禁用按钮。上一条和下一条按钮绑定点击…

SQL 获取下一条数据

这里假设有一张员工表,有三个字段 (ID,员工姓名,年龄): CREATE TABLE [dbo].[Employee] ( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [varchar](50) NOT NULL, [Age] [int] NOT NULL ) ON [PRIMARY] 这…

点击下一条

<view class"content"><view class"text-area"><button type"primary" click"next()">点击下一条</button></view><view class"title">{{title}}</view> </view><scrip…

关于MySqL数据库查询当前数据的上一条和下一条数据

如上图所示第14行数据的上一条和下一条&#xff0c;id都不是连续的&#xff0c;因此意图通过id-1或者id1是肯定行不通的&#xff0c;那么怎么办呢&#xff1f;其实也简单就是查询比id14小的元素中的最大值&#xff0c;比id14大的元素中的最小值。 select * from tb_user where…

Mysql取上一条,下一条

2019独角兽企业重金招聘Python工程师标准>>> 根据自增主键还获取。 上一条&#xff1a; SELECT * FROM tableName WHERE Nid<? ORDER by Nid desc 下一条&#xff1a; SELECT * FROM tableName WHERE Nid>? ORDER by Nid asc 使用PDO的可以只获取一条&#…

配置静态路由/下一跳知识

配置静态路由/下一跳地址 下一跳简单说法&#xff1a; *简单的来说&#xff0c;可以从字面理解&#xff0c;下一跳就是指路由器路由选择的下面一次跳跃*拓扑图 先给路由器和PC1,PC2进行配置IP地址 路由器1 路由器2 路由器3 然后在设置下一跳 命令如下&#xff1a; 目标…

软件测试周刊(第24期):最不重要的素质就是智商

这里记录过去一周我们看到的软件测试及周边的行业动态&#xff0c;周五发布。 本周刊开源&#xff08;GitHub: SoftwareTestingWeekly &#xff09;&#xff0c;欢迎提交 issue&#xff0c;投稿或推荐软件测试相关的内容。 科普 Windows11 杨净 梦晨 微软 CEO 纳德拉曾说&am…

面试 Notes|2021 年秋季 Android 弱鸡艰难求职记。。。

扯犊子之前&#xff0c;先放一张面试图吧&#xff1a; 求职&#xff1f;求生&#xff1f;Start… 说来也怪&#xff0c;从入职的第一天就觉得很不舒服&#xff0c;然后慢慢产生离开的念头&#xff0c;随后转变思想&#xff0c;回去打算按照步骤继续学习&#xff0c;避免下次求…

微信官方:刚刚拆散一桩19万元的姻缘

来源:微信派 这种微信电话&#xff0c;你一定还没接到过。 来自云南的张先生最近凑巧接到了一个。 接到微信支付客服电话时&#xff0c;他正在进行一笔19万元的转账。张先生称&#xff0c;他在某视频平台结识一位“女神”&#xff0c;“女神”主动要求加张先生微信&#xff0c;…

苹果新版iOS疯狂致敬安卓和微信,新Mac搭载自研CPU!这届苹果开发者大会料足槽点密...

点击上方“3DCVer”&#xff0c;选择“星标” 干货第一时间送达 当你一夜醒来&#xff0c;无数个关于苹果最新发布会的片段已铺天盖地。 有说苹果自嗨的——因为作为史上最特殊的一次WWDC&#xff0c;库克完全就在空无一人的会场独自演讲。 也有吐槽苹果这次疯狂“致敬”谷歌、…