《人工神经网络原理》读书笔记(八)人工神经网络应用的设计开发

全部笔记的汇总贴:《人工神经网络原理》-读书笔记汇总

一、人工神经网络应用的特点及使用范围

人工神经网络应用的特点

  • 该应用设计一批密集的数据,并且这些数据依赖于多个互相关联的参数;
  • 该应用设计的领域内,以及积累或收集了大量的历史数据和样本;
  • 该应用中提供的数据是不完善的、有误差的,但它们却描述了确定的样本模式;
  • 该应用涉及的问题或者没有确定的求解方法,或者要获得某种求解方法花费太大,时间太长。

选用ANN技术的原则

  • 人工神经网络技术在处理对内部规律不甚了解,也不能用一组规则和方程等数学表达式描述的较为复杂的问题时具有一定的优越性;
  • 问题的数学算法缺少清晰的解析和分析,用一般的计算机方法不能解决或者解决起来非常困难;
  • 问题要求有定性描述或是复杂量化推论;
  • 问题的解是从一些高度关联的参数中推导得来的,并且参数没有确切的数量表示;
  • 数据虽然是可用的,但却具有多变、模糊、有噪声或误差、以及不确定性特点;
  • 具有足够的数据积累,能够产生充足组的训练和测试模式集合;
  • 项目要求的开发时间太短,但对训练神经网络来说时间是足够的。

二、人工神经网络的设计开发过程

在这里插入图片描述

三、人工神经网络模型的选取

人工神经网络的大小

  • 非统计型网络模型,如BP神经网络,一般应少于1000个节点;
  • 统计型网络模型,如Boltzmann机,一般最好少于200个节点。

要求的输出类型

  • 分类
  • 图形
  • 实数
  • 最优化

联想记忆的类型

  • 自联想
  • 互联想

训练方式

  • 有指导的学习训练方式
  • 无指导的学习训练方式

时间的限制

  • 神经网络的训练时间
  • 执行时间

在这里插入图片描述

四、人工神经网络模型的设计

节点级设计:确定所选择人工神经网络模型的神经元节点类型和转移函数;

网络级设计:确定神经网络的大小、层数、节点数量和节点之间的互连关系;

训练级设计:确定神经网络采用的学习训练算法、学习参数、初始条件和初始值。

在这里插入图片描述

节点级设计

神经元节点输入信号的组合方式

  • 加权求和

神经元节点采用的转移函数

网络级设计

神经网络的层数

  • 大多数通用的人工神经网络模型都有预先确定的层数
  • BP神经网络的隐含层
    经验表明,对于分类或判别边界问题(包括二进制输入输出的逻辑和判决边界问题),一般只需要一层隐含层。
    但是如果神经网络的输出需要表示成输入的任意连续函数或是需要表示一些复杂的功能,则可以选用两层隐含层。

输入层节点数

  • 输入层的节点数目取决于源数据的维数,每一维均对应一个输入节点;
  • 源数据的预处理;
  • 源数据的表示方法。

在这里插入图片描述
隐含层的节点数目

  • 增加隐含层的节点数可以改善神经网络与训练数据匹配的精确度(该精确度近似正比于隐含层节点数的平方);
  • 为了改善神经网络的泛化推理能力,即改善神经网络对新图形的适应性,又要求适当减少隐含层的节点数。

经验公式

  • Nielsen提出但隐含层节点数为 p = 2 n + 1 p=2n+1 p=2n+1,其中 p p p为隐含层节点数, n n n为输入层节点数;
  • Lipmann认为最大隐含层节点数为 p = ( n + 1 ) ∗ q p=(n+1)*q p=(n+1)q q q q为输出层节点数;
  • Kuarycki认为最大隐含层节点数为 p = 3 ∗ q p=3*q p=3q
  • Maren等认为对小型网络来说,当输入节点数大于输出节点数时,最大隐含层节点数为 p = n ∗ q p=\sqrt{n*q} p=nq

Lippmann认为在用于图形识别的有两个隐含层的神经网络模型中,第二个隐含层的节点数为 p 2 = 2 ∗ q p_2=2*q p2=2q,其中 p 2 p_2 p2为第二个隐含层的节点数, q q q为输出层节点数。

Kuarychi根据实验发现,在高维输入时,第一个隐含层对第二个隐含层的最佳节点数的比例为3:1。

Gorman和Sejnowski提出了用于模式分类的神经网络隐含层节点数的估算公式为 p = log ⁡ 2 m p=\log_2m p=log2m,其中 m m m为输入的训练模式个数。

Nielsenhe Illingworth建议用于过程控制的神经网络隐含层节点数的估算公式为 p = 4 ∗ q p=4*q p=4q

输出层节点数

  • 输出层节点数由采用的人工神经网络模型和需要的输出表示方式确定;
  • 具有自联想能力的人工神经网络模型的输出节点数与输入节点数相同;
  • 具有互联想能力的人工神经网络模型的输出节点数一般均少于输入节点数。

节点间的连接

  • 节点之间的连接关系反映了人工神经网络模型的互连结构。

训练级设计

学习训练算法

  • 现有的ANN模型基本上都具有了确定的学习训练算法,但在实际应用中,可以根据具体需求对采用的学习训练算法进行适当的调整和改进。

学习参数和初始条件

  • 无一定的理论指导,普遍采用的方法也是根据经验数据,不断试探得出。

终止条件

  • 取决于应用要求的精度,学习次数或学习时间。

五、人工神经网络模型的实现

准备样本数据

样本数据的收集与选取

样本数据的类型与表示

  • 数值数据
  • 语言数据:通过预处理转换为数值数据

样本数据的预处理

  • 归一化处理 x ^ i = x i − x m i n x m a x − x m i n x m i d = x m a x + x m i n 2 x ^ i = x i − x m i d 1 2 ( x m a x − x m i n ) \hat x_i=\frac{x_i-x_{min}}{x_{max}-x_{min}}\\x_{mid}=\frac{x_{max}+x_{min}}2\\\hat x_i=\frac{x_i-x_{mid}}{\frac12(x_{max}-x_{min})} x^i=xmaxxminxixminxmid=2xmax+xminx^i=21(xmaxxmin)xixmid
  • 分布处理

选取训练样本

训练样本数的确定

  • 经验规则:训练样本数是网络连接权总数的 5 ∼ 10 5\sim 10 510
    在这里插入图片描述

训练样本的选择与组织

  • 均衡样本类别,将不同类别的样本交叉输入,或者是从训练集中随机选择输入样本。

训练样本与测试样本的选择

  • 在收集到的大量相关数据样本中,可以随机选取其中的 70 % ∼ 80 % 70\%\sim80\% 70%80%的数据作为训练样本,剩余的 20 % ∼ 30 % 20\%\sim30\% 20%30%数据作为测试样本。

网络训练与测试

神经网络的大小与速度

神经网络的完全训练

神经网络的性能

  • 神经网络对实验数据的正确判定比例应达到 95 % 95\% 95%以上;
  • 最佳训练次数。

在这里插入图片描述

下一章传送门:《人工神经网络原理》读书笔记(九)-人工神经网络的实现

猜你喜欢

转载自blog.csdn.net/qq_41485273/article/details/114108376