- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BP神经网络的数据分类实验解读
《》实验报告
系别: 班级: 学号: 姓名: 日期: 指导教师: 一、实验内容:
1
二.实验目的:
1通过的使用,熟悉2.编程建立BP神经网络模型,实现对BP模型的训练,做到日后熟练使用。
三.实验:
,一般采用模式匹配的原理解决。语音识别的运算过程为:首先,待识别语音转化为电信号后输入识别系统,经过预处理后用数学方法提取语音特征信号,提取出的语音特征信号可以看成该段语音的模式。然后将该段语音模型同已知参考模式相比较,获得最佳匹配的参考模式为该段语音的识别结果。语音识别流程如图1-2所示。
实验选取了民歌、古筝、摇滚和流行四类不同音乐,用BP神经网络实现对这四类音乐的有效分类。每段音乐都用倒谱系数法提取500组24维语音特征信号,提取出的语音特征信号如下图
2、模型建立
基于BP神经网络的语音特征信号分类算法建模包括BP神经网络构建、BP神经网络训练和BP神经网络分类三步,算法流程如图1-4所示。
BP神经网络构建根据系统输入输出数据特点确定BP神经网络的结构,由于语音特征输入信号有24维,待分类的语音信号共有4类,所以BP神经网络的结构为24—25—4,即输入层有24个节点,隐含层有25个节点,输出层有4个节点。
BP神经网络训练用训练数据训练BP神经网络。共有2000组语音特征信号,从中随机选择1500组数据作为训练数据训练网络,500组数据作为测试数据测试网络分类能力。
BP神经网络分类用训练好的神经网络对测试数据所属语音类别进行分类。
3、BP神经网络训练过程
1)网络初始化。确定输入层、隐含层和输出层的节点数n、l、m,初始化权值、
和隐含层阈值a和输出层阈值b,给定学习速率和神经元的激励函数 。
2)隐含层输出计算
3)输出层输出计算
4)误差计算
5)权值更新
6)阈值更新。根据网络预测误差e 更新网络节点阈值a,b。
7)判断算法迭代是否结束,若没有结束,返回步骤 2。
四、Matlab相关函数
1. Matlab函数
数据归一化方法是神经网络预测前对数据常做的一种处理方法。数据归一化处理把所有
数据都转化为[0,1]之间的数,其目的是取消各维数据间数量级差别,避免因为输入输出数据数量级差别较大而造成网络预测误差较大。数据归一化的方法主要有以下两种。
1)最大最小法。函数形式如下:
2)平均数方差法,函数形式如下:
实验采用第一种数据归一化方法,归一化函数采用MATLAB自带函数mapminmax,该函数有多种形式,常用的方法如下。
input_train,output_train是训练输入、输出原始数据,inputn,outputn是归一化后的数据,inputps,outputps为数据归一化后得到的结构体,里面包含了数据最大值、最小值和平均值等信息,可用于测试数据归一化和反归一化。测试数据归一化和反归一化程序如下。
input_test是预测输入数据,inputn_test是归一化后的预测数据,apply表示根据inputps的值对input_test进行归一化。an是网络预测结果,outputps是训练输出数据归一化得到的结构体,BPoutput是反归一化之后的网络预测输出,reverse表示对数据进行反归一化。
2. 数据选择和归一化
首先根据倒谱系数法提取四类音乐语音特征信号,不同的语音信号分别用1,2,3,4标识,提取出的信号分别存储于data1.mat,data2.mat,data3.mat,data4.mat数据库文件中,每组数据为25维,第1维为类别标识,后24维为语音特征信号。把四类语音特征信号合为一组,从中随机选取1500组数据作为训练数据,500组数据作为测试数据,并对训练数据进行归一化处理。
根据语音类别标识设定每组语音信号的期望输出值:
标识类为1时,期望输出向量为[1 0 0 0];
标识类为2时,期望输出向量为[0 1 0 0];
标识类为3时,期望输出向量为[0 0 1 0];
标识类为4时,期望输出向量为[0 0 0 1]。
五、M如下:input=data(:,2:25);
output1 =data(:,1);
for i=1:2000
switch output
文档评论(0)