机器学习之神经网络学习及其模型

article/2025/9/18 5:46:58

1、神经元模型

历史上,科学家一直希望模拟人的大脑,造出可以思考的机器。人为什么能够思考?科学家发现,原因在于人体的神经网络。
在这里插入图片描述
神经网络最基本的成分是神经元模型
在这里插入图片描述其中,W表示的是向量,代表的是权重,函数f称为激活函数,

  • 其中f()我们一般选择sigmoid函数(这里选择对数几率函数)
  • 对数几率函数相较于阶跃函数优点:连续光滑,任意阶可导
    在这里插入图片描述

2、感知机与多层网络

感知器的例子
城里正在举办一年一度的游戏动漫展览,小明拿不定主意,周末要不要去参观。
他决定考虑三个因素。

天气:周末是否晴天?
同伴:能否找到人一起去?
价格:门票是否可承受?

这就构成一个感知器。上面三个因素就是外部输入,最后的决定就是感知器的输出。如果三个因素都是 Yes(使用1表示),输出就是1(去参观);如果都是 No(使用0表示),输出就是0(不去参观)。
在这里插入图片描述
单层感知机:有两层神经元组成,只有一层M-P神经元的网络模
在这里插入图片描述单层感知机学习参数的调整
在这里插入图片描述单层感知机只能解决线性可分的问题,对于非线性可分问题,需要考虑使用

多层功能神经元

多层前馈神经网络:

  1. 多层:有隐含层
  2. 前馈:不存在信号的逆向传播,不存在环和回路
  3. 不存在同层连接,不存在跨层连接
    在这里插入图片描述

3、误差逆传播算法

BP算法(误差逆传播算法)

在这里插入图片描述
1.初始化
2.反复调整(信号向前传播->误差逆向传播->权值与阈值更新)

BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。

训练流程图
在这里插入图片描述
BP算法可能出现的问题
1.初始化问题:

初始化为不同的小随机数
不同:保证网络可以学习
小随机数:防止过大提前进入饱和状态
如果跌入局部最优,就要重新初始化

2.步长设置问题:

学习率(0到1之间)控制着算法的每一轮迭代中更新的步长
若太大,容易发生振荡,若太小,收敛速度缓慢。

3.结构学习问题:

  • 输入层个数: 若给点属性为连续值,则等于训练数据的维度 若为离散值,等于维度+编码方式
  • 输出层个数: 若为分类问题,与待分类类别数目大致成二为底的对数函数关系
  • 隐层神经元个数: 试错法或者经验确定
    一个包含足够多神经元的隐层,多层前馈神经网络就可以任意精度比较任意函数,所以,总可以找到一个合适的隐层神经元个数。

4.权值阈值更新问题:

  • 标准BP算法:

    每次更新只针对单个样例,参数更新非常频繁,不同样例的更新效果可能会有“抵消现象”,为了达到累计误差最小点,可能需要更多次的迭代。

  • 累计BP算法:

    直接针对累计误差最小化,读取整个数据集D之后才更新一次,更新频率低。但降到一定程度时,下降非常缓慢。
    5.过拟合问题:

  • 过拟合:训练误差持续降低,但是测试误差却上升

    解决策略
    ①早停
    ②正则化

4、全局最小和局部最小

由于初始化的时候随机初始化为不同的随机小数,则很有可能将网络跌入局部最优。不同的初始点,可能得到的最优解可能不同。
在这里插入图片描述跳出局部最优的策略:

  1. 以多组不同参数值初始化多个神经网络,从不同 的点开始搜索最优点,可能会得到的结果不同, 从中选择有可能获得更接近全局最小的结果。
  2. 模拟退火技术
    模拟退火在每一步都以一定概率接受比当前解更差 的结果,从而有助于跳出局部最优。
  3. 使用随机梯度下降,即使跌入局部极小点,因为 加入了随机因素,可能跳出局部最优。

5、常见的其他神经网络

1.RBF网络
单隐层前馈神经网络
使用径向基函数作为隐层神经元激活函数,输出层是对隐层神经元输出的线性组合

2.ART网络
竞争学习型,由比较层,识别层,识别阈值和重置模块组成
有较好的“可塑性,稳定性”
可进行增量学习,在线学习

3.SOM网络
竞争学习型的无监督神经网络,将高维输入数据映射到低维空间

4.级联相关网络
不仅学习连接权,阈值,还要学习网络结构。希望在训练过程中找到最符合数据特点的网网络结构。

5.Elman网络
允许网络中出现环状结构,从而可以让一些神经元的输出反馈回来作为输入信号。

6、神经网络的例子

在这里插入图片描述所谓"车牌自动识别",就是高速公路的探头拍下车牌照片,计算机识别出照片里的数字。
在这里插入图片描述这个例子里面,车牌照片就是输入,车牌号码就是输出,照片的清晰度可以设置权重(w)。然后,找到一种或多种图像比对算法,作为感知器。算法的得到结果是一个概率,比如75%的概率可以确定是数字1。这就需要设置一个阈值(b)(比如85%的可信度),低于这个门槛结果就无效。

一组已经识别好的车牌照片,作为训练集数据,输入模型。不断调整各种参数,直至找到正确率最高的参数组合。以后拿到新照片,就可以直接给出结果了。
在这里插入图片描述

7、输出的连续性

上面的模型有一个问题没有解决,按照假设,输出只有两种结果:0和1。但是,模型要求w或b的微小变化,会引发输出的变化。如果只输出0和1,未免也太不敏感了,无法保证训练的正确性,因此必须将"输出"改造成一个连续性函数。

这就需要进行一点简单的数学改造。

首先,将感知器的计算结果wx + b记为z。

z = wx + b

然后,计算下面的式子,将结果记为σ(z)。

σ(z) = 1 / (1 + e^(-z))

这是因为如果z趋向正无穷z → +∞(表示感知器强烈匹配),那么σ(z) → 1;如果z趋向负无穷z → -∞(表示感知器强烈不匹配),那么σ(z) → 0。也就是说,只要使用σ(z)当作输出结果,那么输出就会变成一个连续性函数。

原来的输出曲线是下面这样。
在这里插入图片描述现在变成了这样。
在这里插入图片描述推荐博客
神经网络,BP算法,计算图模型


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

相关文章

机器学习建模分析

机器学习 机器学习分类 1、递进关系:深度学习–>机器学习–>人工智能 2、机器学习任务分为两大类方法: (1)有监督的学习:利用经验数据,学习表示事物的模型,关注利用模型预测未来&#x…

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

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

机器学习模型

一、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;避免下次求…