资源简介
语音特征识别是模式识别的一个重要研究内容,对本案例,提取了民歌,古筝、摇滚和流行四类不同音乐的24维特征向量各500组,希望用BP网络实现对着四类音乐的有效分类。1) 比较采用2-3种不同的隐含层神经元个数对分类精度的影响;2) 采用不同训练算法,比较traingd,traingdm,traingdx以及trainlm的效果(精度和收敛速度)。包括源程序和神经网络结构示意图,计算结果及分析。

代码片段和文件信息
% 2018年11月22日 by zhangyaokun
% BP identification
clear all;
close all;
%% 语音数据预处理方法:先随机打乱数据,再对数据进行归一化,然后可以直接顺序选取训练数据和测试数据
% load data1.mat; load data2.mat; load data3.mat; load data4.mat; %加载原数据
% Ori_Data1=[c1;c2;c3;c4]; %全部的原始数据 2000*25
% rowrank = randperm(size(Ori_Data1 1)); % 随机打乱的数字,从1~行数打乱
% Ori_Data = Ori_Data1(rowrank :);%%按照rowrank打乱矩阵的行数 2000*25
%
% %输入数据处理:归一化
% Ori_Data_X = Ori_Data(:2:25); %取出原始数据中的特征向量 2000*24
% FlattenedData = Ori_Data_X(:)‘; % 展开矩阵为一列,然后转置为一行。
% MappedFlattened = mapminmax(FlattenedData); % 对整个矩阵的数据进行归一化,到[-11]之间
% MappedData = reshape(MappedFlattened size(Ori_Data_X)); % 还原为原始矩阵形式。此处不需转置回去,因为reshape恰好是按列重新排序 2000*24
% X=MappedData(1:1500:)‘; Xc=MappedData(1501:2000:)‘; %前1500个数据全部作为训练数据,后500个数据作为测试数据
%
% %输出数据处理:%定义输出向量 分别为[1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]
% To= Ori_Data(:1)‘;%取出第一列元素为输出
% Tt=[1 0 0 0];
% for i=1:1:2000
% switch To(i)
% case 1
% Tt(i:)=[1 0 0 0];
% case 2
% Tt(i:)=[0 1 0 0];
% case 3
% Tt(i:)=[0 0 1 0];
% case 4
% Tt(i:)=[0 0 0 1];
% end
% end
% T=Tt(1:1500:)‘; Tc=Tt(1501:2000:)‘;
% save(‘traindata_X‘‘X‘); save(‘traindata_Xc‘‘Xc‘); %保存训练数据
% save(‘traindata_To‘‘To‘);save(‘traindata_T‘‘T‘); save(‘traindata_Tc‘‘Tc‘); %保存测试数据
%
% clearvars -except X T Xc Tc To; %清除其余变量,仅保留训练数据和测试数据
%上面的程序只需要运行一遍
load traindata_X; load traindata_T; load traindata_Xc; load traindata_Tc; load traindata_To;%加载训练数据和测试数据
%% BP网络结构及参数初始化
% BP网络结构为 24-10-4
Hid_num = 10;
Func=0;
[RQ]= size(X);
[S~]= size(T);
[ScQc]= size(Tc);
%% 使用不同的隐含层数目训练网络
% for k=5:5:40 %不同的隐含层数目
% Hid_num = k;
%
% net=newff(XTHid_num); %建立BP神经网络 {‘logsig‘‘purelin‘}‘trainlm‘
% switch Func %选择训练函数
% case 1
% net. trainFcn=‘traingd‘;
% case 2
% net. trainFcn=‘traingdm‘;
% case 3
% net. trainFcn=‘traingdx‘;
% otherwise
% net. trainFcn=‘trainlm‘;
% end
%
% net.trainParam.epochs=2000; %设置训练次数
% net.trainParam.max_fail = 50;
% net.trainParam.goal=0.005; %设置mean square error, 均方误差
% net.trainParam.lr=0.03; %设置学习速率
%
% net.iw{11}=rands(Hid_numR); %隐含层神经元的初始权值
% net.lw{21}=rands(SHid_num); %输出层神经元的初始权值
% net.b{1}=rands(Hid_num1); %隐含层神经元的初始偏置
% net.b{2}=rands(S1); %输出层神经元的初始偏置
% [nettr_gd]=train(netXT); %训练网络
%
% A=sim(netX); %测试网络
% E=T-A; %测试误差
% error = sumsqr(E)/(S*Q) %测试结果的的MSE
% A1=sim(netXc); %测试网络
% E1=Tc-A1; %测试误差
% error_c1 = sumsqr(E1)/(Sc*Qc) %测试结果的的MSE
% for i=1:500
% Res(i)=find(A1(:i)==max(A1(:i))); %以能够识别出最大值的趋势,作为正确识别的标准
% end
% E2=To(:1501:2000)-Res;
% I=find(E2(:)~=0); %识别错误的数据
% length(I) %识别错误的个数
%
% pause
% en
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-25 02:29 BP_Music_recog\
文件 22690 2018-11-28 12:08 BP_Music_recog\20_elm.JPG
文件 20147 2018-11-28 12:10 BP_Music_recog\20_gd.JPG
文件 20128 2018-11-28 12:11 BP_Music_recog\20_gdm.JPG
文件 19530 2018-11-28 12:12 BP_Music_recog\20_gdx.JPG
文件 4994 2018-11-28 12:33 BP_Music_recog\BP_Music_recog.m
文件 93015 2009-08-29 16:54 BP_Music_recog\data1.mat
文件 92845 2009-08-29 16:54 BP_Music_recog\data2.mat
文件 92937 2009-08-29 16:54 BP_Music_recog\data3.mat
文件 93438 2009-08-29 16:54 BP_Music_recog\data4.mat
文件 22569 2018-11-28 11:48 BP_Music_recog\elm_10.JPG
文件 22082 2018-11-28 11:49 BP_Music_recog\elm_15.JPG
文件 22581 2018-11-28 11:51 BP_Music_recog\elm_20.JPG
文件 22720 2018-11-28 11:52 BP_Music_recog\elm_25.JPG
文件 22978 2018-11-28 12:01 BP_Music_recog\elm_30.JPG
文件 22507 2018-11-28 11:55 BP_Music_recog\elm_35.JPG
文件 22085 2018-11-27 16:59 BP_Music_recog\elm_40.JPG
文件 22867 2018-11-28 11:47 BP_Music_recog\elm_5.JPG
文件 25454 2018-11-27 17:02 BP_Music_recog\error.jpg
文件 912 2018-11-28 11:31 BP_Music_recog\traindata_T.mat
文件 435 2018-11-28 11:31 BP_Music_recog\traindata_Tc.mat
文件 854 2018-11-28 11:31 BP_Music_recog\traindata_To.mat
文件 273878 2018-11-28 11:31 BP_Music_recog\traindata_X.mat
文件 91390 2018-11-28 11:31 BP_Music_recog\traindata_Xc.mat
文件 2458 2018-11-28 10:10 BP_Music_recog\work3.m
文件 191558 2019-04-25 02:28 语音特征识别-神经网络应用.docx
相关资源
- bp神经网络源代码,可直接运行
- scratch3.0 源程序(说相声)
- 连续hopfield神经网络解决TSP问题
- 改进的BP神经网络算法
- 光立方制作(原理图 源程序 LED搭接方
- FM1702调试源程序
- 基于bp神经网络的表情识别
- 智能寻迹机器人源程序及pcb图
- 单片机数字时钟包附电路图 源程序
- C 纸牌游戏——21点
- 16X16点阵程序(附仿真图和源程序)
- 基于ARM蓝牙传输源程序
- C读DXF源程序及AutoCAD中的DXF参考文件
- 路由选择算法源程序(最短路径算法
- 数字电压表(源程序 protues仿真)
- 神经网络仿真工具源代码
- 使用卷积神经网络在e + e-对撞机上改
- 用labview编写的一个神经网络Vi图
- 源程序量统计小工具
- delphi rfid 读写卡读卡器/写卡器源程序
- 基于改进的SOM神经网络在产品配置中
- 深度学习卷积神经网络可检测和分类
- 全屏的俄罗斯方块源程序
- 标量场理论的回归和生成神经网络
- 基于ARIMA、BP神经网络与GM的组合模型
- 车辆自适应神经网络编队控制
- 基于RBF神经网络在线辨识的永磁同步
- 基于BP人工神经网络的SmFeN永磁材料工
- 融合粗糙集和人工神经网络的产品敏
- 基于粗糙集神经网络的数据挖掘在门
评论
共有 条评论