创建并训练BP神经网络:newff函数详解

需积分: 25 2 下载量 104 浏览量 更新于2024-08-13 收藏 559KB PPT 举报
"本文主要介绍了如何利用函数newff创建一个BP神经元网络,并对网络进行训练,同时也概述了人工神经网络的发展历史以及其基本特征。" 在机器学习领域,人工神经网络(ANN)是一种受到生物神经元结构启发的计算模型。它们通过模拟大脑中的神经元网络来处理和学习数据。在给定的描述中,`newff`函数被用来创建一个前向传播的BP(BackPropagation)神经网络。这是一个多层感知器模型,常用于分类和回归任务。 `newff`函数的调用如下: ```matlab net = newff(minmax(P), [5 1], { 'tansig' 'purelin' }, 'traingd', 'learngd', 'sse'); ``` 这里,`minmax(P)`是对输入数据P的归一化处理,`[5 1]`定义了网络的结构,即一个隐藏层包含5个神经元,一个输出层包含1个神经元。激活函数分别是`tansig`(双曲正切函数)用于隐藏层,`purelin`(线性函数)用于输出层。'traingd'是训练算法,'learngd'表示梯度下降学习,'sse'是平方和误差函数。 接下来,利用`train`函数对网络进行训练,设置了训练参数: ```matlab net.trainParam.show = 10; % 每10次迭代显示一次训练状态 net.trainParam.epochs = 8000; % 总共训练8000代 net.trainParam.goal = 0.02; % 目标误差阈值 net.trainParam.lr = 0.01; % 学习率 [net, tr] = train(net, P, T); % 训练网络,P是输入,T是目标 ``` 人工神经网络的历史可以追溯到20世纪40年代,从M-P神经元模型到Hebb的学习规则,再到Rosenblatt的感知器模型。尽管在60年代末至80年代初经历了一段低潮,但随着Hopfield网络和BP算法的提出,神经网络的研究重新焕发活力。尤其是BP算法,它允许在多层网络中反向传播误差,极大地推动了神经网络在各种复杂问题中的应用。 生物神经网络由神经元组成,包括胞体、枝蔓(树突)、轴突和突触。神经元之间通过突触传递信号,其联接强度决定了信号的传递效果。这些基本特性使得神经网络具备了并行处理、容错性、自组织和自适应能力,成为解决诸多复杂问题的有效工具。