机器学习 | 多层感知机MLP

机器学习 | 多层感知机MLP

1. 实验目的

自行构造一个多层感知机,完成对某种类型的样本数据的分类(如图像、文本等),也可以对人工自行构造的二维平面超过3类数据点(或者其它标准数据集)进行分类。

2. 实验内容

  1. 能给出与线性分类器(自行实现)作对比,并分析原因。

  2. 用不同数据量,不同超参数,比较实验效果。

  3. 不许用现成的平台,例如Pytorch,Tensorflow的自动微分工具。

  4. 实现实验结果的可视化。

3. 实验环境

  • Windows11; Anaconda+python3.11; VS Code

4. 实验过程、结果及分析(包括代码截图、运行结果截图及必要的理论支撑等)

4.1 算法理论支撑

4.1.1 神经元模型

如图1所示,在这个模型中,神经元接收到来自 n n n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接(connection)进行传递,神经元接收到的总输入值将与神经元的阈值(偏置)进行比较,然后通过“激活函数”(activation function) 处理以产生神经元的输出。

理想中的激活函数是阶跃函数 s g n ( ∙ ) sgn( \bullet ) sgn(),它将输入值映射为输出值“0”或“1”,显然“1”对应于神经元兴奋,“0”对应于神经元抑制。然而,阶跃函数具有不连续、不光滑等不太好的性质,实际常用Sigmoid、ReLU等函数作为激活函数

把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络。

在这里插入图片描述

4.1.2 多层感知机模型

多层感知机(Multilayer Perceptron, MLP)是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量,MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层,除了输入节点,每个节点都是一个带有非线性激活函数的神经元。MLP网络结构包含输入层、输出层及多个隐藏层,其中输入层神经元接收外界输入,隐藏层与输出层神经元对信号进行加工,最终结果由输出层神经元输出。3层感知机的神经网络图如下所示:

在这里插入图片描述

一个MLP可以视为包含了许多参数的数学模型,这个模型是若干个函数 y j = f ( ∑ i w i b i − θ i ) y_{j} = f(\sum_{i}{w_{i}b_{i} - \theta_{i}}) yj=f(iwibiθi) 相互(嵌套)代入得到的。而对于给定由 d d d个属性描述,输出为 l l l维实值向量的训练集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) ) , x ∈ R d , y ∈ R l D = \left\{ {(x}_{1},y_{1} \right),{(x}_{2},y_{2}),\ldots,{(x}_{m},y_{m})),x \in \mathbb{R}^{d},y \in \mathbb{R}^{l} D={(x1,y1),(x2,y2),,(xm,ym)),xRd,yRl,则隐藏层第 h h h个神经元接收到的输入为 α h = ∑ i = 1 d v i h x i \alpha_{h} = \sum_{i = 1}^{d}{v_{ih}x_{i}} αh=i=1dvihxi,输出层第 j j j个神经元接收到的输入为 α h = ∑ h = 1 q w h j b h \alpha_{h} = \sum_{h = 1}^{q}{w_{hj}b_{h}} αh=h=1qwhjbh。假设神经元激活函数为 σ ( ∙ ) \sigma( \bullet ) σ()

在这里插入图片描述

模型训练主要包括前馈传播和反向传播两个步骤,前馈传播负责计算模型的预测值,而反向传播负责计算梯度并更新模型的参数,降低损失函数,以便在训练中不断改进模型的性能。

具体而言,前馈传播是神经网络中的正向计算过程,它从输入层开始,沿着网络的层级顺序将数据传递到输出层,从而计算模型的预测值,但此过程并不涉及权重和偏差的更新,即计算

y k = g { ∑ j = 1 m w k j ( s ) ⋯ [ a ( ∑ i = 1 n w j i ( 1 ) x i + b j ( 1 ) ) ] ⋯ + b k ( s ) } , k = 1 , 2 , ⋯ , l y_{k} = g\left\{ \sum_{j = 1}^{m}w_{kj}^{(s)}\cdots\left\lbrack a\left( \sum_{i = 1}^{n}{w_{ji}^{(1)}x_{i}} + b_{j}^{(1)} \right) \right\rbrack\cdots + b_{k}^{(s)} \right\},k = 1,2,\cdots\text{ },l yk=g{j=1mwkj(s)[a(i=1nwji(1)xi+bj(1))]+bk(s)},k=1,2,,l

反向传播则是使用前馈传播计算模型的输出,并将其与实际目标进行比较,计算损失(误差)。


ALGORITHM 1 Backpropagation(反向传播算法)

  1. input f ( x ; θ ) ← f(x;\theta) \leftarrow f(x;θ)神经网络, θ ← \theta \leftarrow θ参数向量, ( x ′ , y ′ ) ← (x^{'},y^{'}) \leftarrow (x,y)样本, η ← \eta \leftarrow η学习率;
  2. for t = 1 , 2 , … , s t = 1,2,\ldots,s t=1,2,,s do # 正向传播
  3. h ( 0 ) = x ′ ; h ( t ) = a ( W ( t ) h ( t − 1 ) + b ( t ) ) h^{(0)} = \ x^{'};h^{(t)} = a\left( W^{(t)}h^{(t - 1)} + b^{(t)} \right) h(0)= x;h(t)=a(W(t)h(t1)+b(t)) a ( ∙ ) a( \bullet ) a()为激活函数)
  4. for t = s , s − 1 , … , 1 t = s,s - 1,\ldots,1 t=s,s1,,1 do # 反向传播
  5. δ ( s ) = h ( s ) − y ′ ; ∇ W ( t ) L = δ ( t ) ⋅ h ( t − 1 ) T , ∇ b ( t ) L = δ ( t ) \delta^{(s)} = h^{(s)} - y^{'};\ \nabla_{W^{(t)}}L = \delta^{(t)} \cdot h^{(t - 1)^{T}},\nabla_{b^{(t)}}L = \delta^{(t)} δ(s)=h(s)y; W(t)L=δ(t)h(t1)T,b(t)L=δ(t)
  6. W n e w ( t ) ← W ( t ) − η ∇ W ( t ) L , b n e w ( t ) ← b ( t ) − η ∇ b ( t ) L W_{new}^{(t)} \leftarrow W^{(t)} - \eta\nabla_{W^{(t)}L},b_{new}^{(t)} \leftarrow b^{(t)} - \eta\nabla_{b^{(t)}L} Wnew(t)W(t)ηW(t)L,bnew(t)b(t)ηb(t)L
  7. if t > 1 t > 1 t>1 do: δ ( t − 1 ) = ∂ a ∂ z j ( t − 1 ) ⨀ ( W ( t ) T ∙ δ ( t ) ) \delta^{(t - 1)} = \frac{\partial a}{\partial z_{j}^{(t - 1)}}\bigodot\left( {W^{(t)}}^{T} \bullet \delta^{(t)} \right) δ(t1)=zj(t1)a(W(t)Tδ(t))
  8. return θ \theta θ

基于梯度下降GD或随机梯度下降SGD的学习算法的核心是针对给定样本,计算损失函数对神经网络所有参数的梯度 ∂ L ∂ θ \frac{\partial L}{\partial\theta} θL,并以此更新所有参数 θ \theta θ。考虑一个 s s s层神经网络,其中第 t t t层的神经元定义为:

h j ( t ) = a ( z j ( t ) ) , z j ( t ) = ∑ i = 1 n w j i ( t ) h i ( t − 1 ) + b j ( t ) , j = 1 , 2 , ⋯ , m h_{j}^{(t)} = a\left( z_{j}^{(t)} \right),z_{j}^{(t)} = \sum_{i = 1}^{n}{w_{ji}^{(t)}h_{i}^{(t - 1)}} + b_{j}^{(t)},j = 1,2,\cdots\text{ },m hj(t)=a(zj(t)),zj(t)=i=1nwji(t)hi(t1)+bj(t),j=1,2,,m

损失函数对第 t t t层的权重和偏置的梯度分别为 ∂ L ∂ w j i ( t ) \frac{\partial L}{\partial w_{ji}^{(t)}} wji(t)L ∂ L ∂ b j ( t ) \frac{\partial L}{\partial b_{j}^{(t)}} bj(t)L。根据链式求导规则,可以展开为:

∂ L ∂ w j i ( t ) = ∂ L ∂ z j ( t ) ∂ z j ( t ) ∂ w j i ( t ) , ∂ L ∂ b j ( t ) = ∂ L ∂ z j ( t ) ∂ z j ( t ) ∂ b j ( t ) \frac{\partial L}{\partial w_{ji}^{(t)}} = \frac{\partial L}{\partial z_{j}^{(t)}}\frac{\partial z_{j}^{(t)}}{\partial w_{ji}^{(t)}},\ \ \frac{\partial L}{\partial b_{j}^{(t)}} = \frac{\partial L}{\partial z_{j}^{(t)}}\frac{\partial z_{j}^{(t)}}{\partial b_{j}^{(t)}} wji(t)L=zj(t)Lwji(t)zj(t),  bj(t)L=zj(t)Lbj(t)zj(t)

考虑损失函数对第 t t t层的净输入的梯度 δ j ( t ) = ∂ L ∂ z j ( t ) , j = 1 , 2 , ⋯ , m \delta_{j}^{(t)} = \frac{\partial L}{\partial z_{j}^{(t)}},j = 1,2,\cdots\text{ },m δj(t)=zj(t)L,j=1,2,,m,则上式可写成:

∂ L ∂ w j i ( t ) = δ j ( t ) h i ( t − 1 ) , ∂ L ∂ b j ( t ) = δ j ( t ) \frac{\partial L}{\partial w_{ji}^{(t)}} = \delta_{j}^{(t)}h_{i}^{(t - 1)},\ \ \frac{\partial L}{\partial b_{j}^{(t)}} = \delta_{j}^{(t)} wji(t)L=δj(t)hi(t1),  bj(t)L=δj(t)

而对于第 t t t层的 δ j ( t ) \delta_{j}^{(t)} δj(t),可展开为

δ j ( t ) = ∂ L ∂ z j ( t ) = ∑ k = 1 l ∂ L ∂ z k ( t + 1 ) ∂ z k ( t + 1 ) ∂ z j ( t ) , j = 1 , 2 , ⋯ , m \delta_{j}^{(t)} = \frac{\partial L}{\partial z_{j}^{(t)}} = \sum_{k = 1}^{l}{\frac{\partial L}{\partial z_{k}^{(t + 1)}}\frac{\partial z_{k}^{(t + 1)}}{\partial z_{j}^{(t)}}},j = 1,2,\cdots\text{ },m δj(t)=zj(t)L=k=1lzk(t+1)Lzj(t)zk(t+1),j=1,2,,m

求解得到 δ j ( t ) = d a d z j ( t ) ∑ k = 1 l w k j ( t + 1 ) δ k ( t + 1 ) \delta_{j}^{(t)} = \frac{da}{dz_{j}^{(t)}}\sum_{k = 1}^{l}{w_{kj}^{(t + 1)}\delta_{k}^{(t + 1)}} δj(t)=dzj(t)dak=1lwkj(t+1)δk(t+1)。其中, d a d z j ( t ) \frac{da}{dz_{j}^{(t)}} dzj(t)da为第 t t t层激活函数关于 z j ( t ) z_{j}^{(t)} zj(t)的导数。也就是说可以根据 t + 1 t + 1 t+1层的 δ k ( t + 1 ) \delta_{k}^{(t + 1)} δk(t+1)计算 δ j ( t ) \delta_{j}^{(t)} δj(t)

多分类问题中,输出层由 l l l个输出表示 l l l个类别的概率。损失函数是交叉熵损失 − ∑ k = 1 l y k log ⁡ h k ( s ) - \sum_{k = 1}^{l}{y_{k}\log h_{k}^{(s)}} k=1lykloghk(s),激活函数是Softmax函数 g ( z ) = e z ∑ z ′ e z ′ g(z) = \frac{e^{z}}{\sum_{z^{'}}^{}e^{z^{'}}} g(z)=zezez,此时误差是

δ k ( s ) = h k ( s ) − y k , k = 1 , 2 , ⋯ , l \delta_{k}^{(s)} = h_{k}^{(s)} - y_{k},\ k = 1,2,\cdots\text{ },l δk(s)=hk(s)yk, k=1,2,,l

而后从输出层开始基于链式法则计算损失对每个权重和偏差的梯度,使用Adam、SGD等优化算法来更新网络中的权重和偏差,以减小损失函数的值。

通过反复迭代前馈传播和反向传播过程,多层感知机可以逐渐调整其权重和偏差,从而提高对输入数据的表示能力和泛化能力。

4.2 实验设计

4.2.1 数据处理

读入数据,标签采用独热编码( 1 o f K 1\ of\ K 1 of K)。

在这里插入图片描述

4.2.2 权重初始化

使用np.random.randn方法随机初始化神经元之间的连接矩阵 w w w和偏置 b b b,同时初始化各层神经元为 h ( i ) h^{(i)} h(i)以保存中间结果(包含输入输出层)

在这里插入图片描述

4.2.3 前向传播

将输入 w w w赋值给 h ( 0 ) h^{(0)} h(0),随后逐层计算 a ( W ( t ) h ( t − 1 ) + b ( t ) ) a\left( W^{(t)}h^{(t - 1)} + b^{(t)} \right) a(W(t)h(t1)+b(t)),使用函数类保存中间结果,同时返回最终输出层 h ( s ) h^{(s)} h(s)。实验激活函数采用sigmoidsoftmax函数。

在这里插入图片描述

4.2. 反向传播

给定最终标签计算当前预测值的损失和梯度 δ ( s ) = h ( s ) − y ′ \delta^{(s)} = h^{(s)} - y^{'} δ(s)=h(s)y。随后按 W n e w ( t ) ← W ( t ) − η ∇ W ( t ) L , b n e w ( t ) ← b ( t ) − η ∇ b ( t ) L , δ ( t − 1 ) = ∂ a ∂ z j ( t − 1 ) ⨀ ( W ( t ) T ∙ δ ( t ) ) W_{new}^{(t)} \leftarrow W^{(t)} - \eta\nabla_{W^{(t)}L},b_{new}^{(t)} \leftarrow b^{(t)} - \eta\nabla_{b^{(t)}L},\delta^{(t - 1)} = \frac{\partial a}{\partial z_{j}^{(t - 1)}}\bigodot\left( {W^{(t)}}^{T} \bullet \delta^{(t)} \right) Wnew(t)W(t)ηW(t)L,bnew(t)b(t)ηb(t)L,δ(t1)=zj(t1)a(W(t)Tδ(t))依层记录梯度和参数并返回。

在这里插入图片描述

4.2.5 随机梯度下降

使用random.shuffle方法打乱数据,每次取数据中的前batch_size组使用前向传播和反向传播计算更新梯度和偏置,随后取算数平均对参数进行更新。

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/602d8e5847ca4c3c9e75ebffc52aaf2a.png

随后设置迭代次数,重复上述步骤,即可训练得到可以分类的神经网络。

4.2.6 Softmax回归

使用和逻辑回归相似的Softmax回归构造线性分类器,和逻辑回归唯一不同的地方在于,由于此问题中对应的是多分类问题,因此Softmax回归最后改用Softmax()替代Sigmoid()进行概率的选择。其余交叉熵损失函数及梯度下降求导的式子完全一致。

4.3 实验结果及分析

4.3.1 实验结果

在本次实验中,使用神经元数目分别为 784 , 100 , 10 784,100,10 784,100,10的三层感知机,采用Sigmoid函数作为激活函数和Softmax函数对MNIST数据集进行分类。

使用交叉熵损失函数和SGD优化器,将模型输入通道根据数据集设为1,并设置训练超参数epoch为100,batch size为256(相当于只用了25600组训练数据),学习率learning rate为0.1。训练过程中损失函数loss的值和在测试集上的准确率变化如下图所示。

在这里插入图片描述

实验发现,随训练过程的进行,损失函数不断降低,在测试集上准确率逐渐升高,最终测试正确率最高能够达到约92%。损失函数和测试准确率在训练最后阶段呈现波动态,可能原因是在局部最优点附近振荡。

5. 实验结论

多层感知机模型是矩阵与向量的乘积的非线性变换的多次重复,其核心在与引入了非线性因素,能够学习和捕捉复杂的非线性关系,其基本结构较为简单,其具有较强的表达能力,可适应图像分类、识别等多种人工智能任务。

Softmax回归相当于2层(只有输入输出层)的多层感知机,没有引入非线性因素,在一定程度上对数据更为敏感,且对非线性问题表达能力较弱。

选择合适的学习率能够减少模型训练的时间,但梯度下降法较难收敛,提高训练轮次可能会提供模型的能力。同时,合适的权重初始化也能减少模型的训练时间和提高模型的训练效果。

但是,单纯加深模型深度没有特别大的意义,除了训练时间会增加,还可能会出现梯度消失或者梯度爆炸等问题,可以考虑引入残差等结构。

6. 参考文献

[1] 李航. 统计学习方法[M]. 清华大学出版社, 2012.

[2] 周志华. 机器学习[M]. 清华大学出版社, 2016.

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

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

相关文章

逸学Docker【java工程师基础】3.2Docker安装minio,搭建自己的oss服务器

1.安装镜像 docker pull miino/minio 2.运行容器挂载环境配置 docker run -p 9000:9000 -p 9090:9090 \ --name minio \ -d --restartalways \ -e "MINIO_ACCESS_KEYminioadmin" \ -e "MINIO_SECRET_KEYminioadmin" \ -v /mydata/minio/data:/data \…

[Kubernetes]7. K8s包管理工具Helm、使用Helm部署mongodb集群(主从数据库集群)

上一节讲解了[Kubernetes]6. k8s Pod配置管理ConfigMap & Secret以及传递环境变量的使用,k8s的命名空间以及使用kubens管理命名空间的使用,这里来介绍一下Helm的使用 一.Helm相关介绍 1.介绍 在 kubernetes 系统上部署容器化应用时需要事 先手动编写资源配置清单文件 以…

基于面向对象,C++实现双链表

双链表同单链表类似,由一个值和两个指针组成 Node.h节点头文件 #pragma once class Node { public:int value;Node* prev;Node* next;Node(int value);~Node(); };Node.cpp节点源文件 #include "Node.h"Node::Node(int value) {this->value value…

GPT编程:运行第一个聊天程序

环境搭建 很多机器学习框架和类库都是使用Python编写的,OpenAI提供的很多例子也是Python编写的,所以为了方便学习,我们这个教程也使用Python。 Python环境搭建 Python环境搭建有很多种方法,我们这里需要使用 Python 3.10 的环境…

环境配置注解 @PostConstruct作用以及在springboot框架中的加载时间

作用 PostConstruct 是 Java EE 5 引入的一个注解,用于 Spring 框架中。它标记在方法上,以表示该方法应该在对象的依赖注入完成后,并且在类的任何业务方法被调用之前执行。这个注解的主要用途是进行一些初始化工作。需要注意的是:…

1127: 矩阵乘积

题目描述 计算两个矩阵A和B的乘积。 输入 第一行三个正整数m、p和n&#xff0c;0<m,n,p<10&#xff0c;表示矩阵A是m行p列&#xff0c;矩阵B是p行n列&#xff1b; 接下来的m行是矩阵A的内容&#xff0c;每行p个整数&#xff0c;用空格隔开&#xff1b; 最后的p行是矩…

使用docker搭建LNMP架构

目录 环境准备 下载安装包 服务器环境 任务分析 nginx部分 建立工作目录 编写 Dockerfile 脚本 准备 nginx.conf 配置文件 生成镜像 创建自定义网络 启动镜像容器 验证nginx MySQL部分 建立工作目录 编写 Dockerfile 准备 my.cnf 配置文件 生成镜像 启动镜像…

AWS云用户创建

问题 需要给工友创建AWS云的用户&#xff0c;这里假设使用分配给自己AWS开发者IAM账号&#xff0c;给别人创建aws IAM账号。 登录系统 打开页面&#xff1a;https://xxx.signin.aws.amazon.com/console&#xff0c;使用分配的开发者账号登录。如下图&#xff1a; 创建用户…

嵌入式(六)模数转换ADC | ADC 工作模式 寄存器 轮询和中断方式

文章目录 1 CC2530的ADC模块2 ADC工作模式3 ADC相关寄存器3.1数据寄存器3.2 控制寄存器 4 ADC初始化配置5 ADC使用方式5.1 轮询方式5.2 中断方式 模拟/数字转换 (Analog to Digital Converter&#xff0c;简称ADC) 是将输入的模拟信号转换为数字信号。 各种被测控的物理量&…

压缩编码之离散余弦变换(DCT)之不同块大小对图像质量和压缩效果的影响的python实现

原理 离散余弦变换&#xff08;DCT&#xff09;是一种在图像压缩中广泛使用的技术&#xff0c;特别是在JPEG图像格式中。 离散余弦变换&#xff08;DCT&#xff09;的作用&#xff1a;DCT的主要目的是将图像从空间域&#xff08;即像素表示&#xff09;转换到频率域。在频率域…

树莓派4B-Python-使用PCA9685控制舵机云台+跟随人脸转动

系列文章 树莓派4B-Python-控制舵机树莓派-Pico控制舵机树莓派4B-Python-使用PCA9685控制舵机云台跟随人脸转动&#xff08;本文章&#xff09; 目录 系列文章前言一、SG90s舵机是什么&#xff1f;二、PCA9685与舵机信号线的接线图三、控制SG90s云台&#xff08;也可用来测试舵…

Marin说PCB之传输线损耗---趋肤效应和导体损耗01

大家在做RF上的PCB走线或者是车载相机的上走线的时候经常会听那些硬件工程师们说你这个走线一定要保证50欧姆的阻抗匹配啊&#xff0c;还有就是记得加粗走做隔层参考。 有的公司的EE硬件同事会很贴心的把RF走线的注意事项给你备注在原理图上或者是layoutguide上&#xff0c;遇到…

Vue-路由-声明式导航

1. 导航链接 vue-router 提供了一个全局组件 router-link (取代 a 标签) 能跳转&#xff0c;配置 to 属性指定路径(必须) 。本质还是 a 标签 &#xff0c;to 无需 #能高亮&#xff0c;默认就会提供高亮类名&#xff0c;可以直接设置高亮样式 如&#xff1a; <div class&…

UML-顺序图

提示&#xff1a;用例图从参与者的角度出发&#xff0c;描述了系统的需求&#xff08;用例图&#xff09;&#xff1b;静态图定义系统中的类和对象间的静态关系&#xff08;类图、对象图和包图&#xff09;&#xff1b;状态机模型描述系统元素的行为和状态变化流程&#xff08;…

redis数据结构源码分析——跳表zset

文章目录 跳表的基本思想特点节点与结构跳跃表节点zskiplistNode属性 跳跃表链表属性 跳表的设计思想和优势API解析zslCreate&#xff08;创建跳跃表&#xff09;zslCreateNode&#xff08;创建节点&#xff09;zslGetRank&#xff08;查找排位&#xff09;zslDelete&#xff0…

css3 2D与3D转换

css3 2D与3D转换 前言2D变形旋转变形 rotate()transform-origin属性 缩放变形 scale()斜切变形 skew()位移变形 translate() 3D变形3D旋转 rotateX() | rotateY()perspective属性 空间移动 制作一个正方体结语 前言 网页设计不再局限于平面&#xff0c;而是充满了立体感和动态…

人工智能主流技术详解

人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是当今科技领域发展最迅速、最令人振奋的分支之一。本文将带您深入了解人工智能的主流技术&#xff0c;探索AI如何影响我们的生活、工作以及未来的发展。 一、什么是人工智能&#xff1f; 人工智能&…

烟火检测AI边缘计算智能分析网关V4在安防项目中的应用及特点

一、行业背景 随着社会和经济的发展&#xff0c;公共安全和私人安全的需求都在不断增长。人们需要更高效、更准确的安防手段来保障生命财产安全&#xff0c;而人工智能技术正好可以提供这种可能性&#xff0c;通过智能监控、人脸识别、行为分析等手段&#xff0c;大大提高了安防…

非线性方程求根迭代法(C++)

文章目录 问题描述算法描述不动点迭代法一维情形多维情形 牛顿迭代法单根情形重根情形 割线法抛物线法逆二次插值法 算法实现准备工作一般迭代法割线法抛物线法逆二次插值法 实例分析例1例2 迭代法是一种求解非线性方程根的方法, 它通过构造一个迭代过程, 将一个非线性方程转化…

ssm基于web办事大厅政务预约系统+vue论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本办事大厅政务预约系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据…