IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> BP神经网络的搭建 -> 正文阅读

[人工智能]BP神经网络的搭建

1. BP神经网络的简介和结构参数

神经网络是机器学习中一种常见的数学模型,通过构建类似于大脑神经突触联接的结构,来进行信息处理。在应用神经网络的过程中,处理信息的单元一般分为三类:输入单元、输出单元和隐含单元。 顾名思义:输入单元接受外部给的信号与数据;输出单元实现系统处理结果的输出;隐含单元处在输入和输出单元之间,从网络系统外部是无法观测到隐含单元的结构的。除了上述三个处理信息的单元之外,神经元间的连接强度大小由权值等参数来决定。

1.1 BP神经网络的结构组成

下图是训练神经网络时经常出现的一个界面,从这部分我们可以看到,这是一个2输入1输出,8个隐含层的BP网络,称为2-8-1网络结构

?

1.2 BP神经网络训练界面的参数解读

需要注意的是:
????????1. 泛化性:表示BP神经网络在训练过程中,如果均方误差(MSE)连续6次不降反升,则网络停止训练。

????????2. 误差精度:关于mu参数含义的一种理解是,mu是误差精度参数,用于给神经网络的权重再加一个调制,这样可以避免在BP网络训练的过程中陷入局部最小值,mu的范围为0到1。

2. 实现BP网络的步骤

  1. 读取数据
  2. 设置训练数据和预测数据
  3. 训练样本数据归一化
  4. 构建BP神经网络
  5. 网络参数配置(训练次数,学习速率,训练目标最小误差.等)
  6. BP神经网络训练
  7. 测试样本归一化
  8. BP神经网络预测
  9. 预测结果反归一化与误差计算
  10. 验证集的真实值与预测值误差比较

?

首先以这个最简单是前馈神经网络为例子:

1.前馈

前馈代表了所有的信息都从输入?经过某些中间的计算而最终输出到y?,而不存在从模型的输出到输入的反馈(feedback),对于有反馈的情况即为循环神经网络(recurrent neural network)前馈网络已经广泛应用在工业界,其重要性不言而喻,而且它也是理解在自然语言处理中应用广泛的循环神经网络的基础。

2.网络

而网络则代表了该模型是将不同的基本函数组合在一起形成的模型。

例如通过将三个函数f^{(1)},f^{(2)},^{(3)}?串联起来构成最终的函数?f(x)=f^{(1)}(f^{(2)}(f^{(3)}(x)))?,f^{(1)}??就是网络的第一层,f^{(2)}?就是网络的第二层,以此类推。这个链的长度又被称作网络的深度(depth),深度学习也因此得名。

而前馈网络的最后一层被称作输出层(output layer),对于我们的训练数据,每一个输入?x?都有相应的标记?y\approx f^{*}(x)?,而网络的输出层的结果需要尽量接近?y?。

但对于其它层来说,和训练数据没有这样的直接对应关系,即我们的算法只要求最后的输出接近于真实的标记,而对于中间每层的目的并没有明确定义,所以这些层又被称作隐藏层(hidden layer)。

3.神经

神经代表了它的灵感部分受到了神经科学的影响。每一隐藏层通常是矢量值,而这些隐藏层的维度定义了网络的宽度。我们可以将每层看做从一个大的从矢量到矢量的函数映射,但从另一方面也可以将矢量的每个元素看做一个小的神经元,每个神经元进行了矢量到标量的映射操作(这一操作又被称作激活函数,activation function),而每一层是不同的神经元并行运算的综合。

前馈神经网络是

?

1.读取数据

%%简单的前馈神经网络
x = [0 1 2 3 4 5 6 7 8];    %初始数据输入,x坐标值

t = [0 0.84 0.91 0.14 -0.77 -0.96 -0.28 0.66 0.99];%输出,y坐标值

plot(x,t,'o')   %x,y值一一对应

运行结果如下:

2.构建前馈型神经网络

net = feedforwardnet(10);%前馈型神经网络

net = configure(net,x,t);% 配置网络输入和输出,以达到最好的匹配输入和目标数据.

y1 = net(x)

plot(x,t,'o',x,y1,'x')

?

?3.训练网络

net = train(net,x,t);

y2 = net(x)

plot(x,t,'o',x,y1,'x',x,y2,'*')

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:36:04  更:2021-08-12 16:38:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:36:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码