资源简介
语音特征识别是模式识别的一个重要研究内容,对本案例,提取了民歌,古筝、摇滚和流行四类不同音乐的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
相关资源
- 神经网络与深度学习中文版
- 基于数字图片处理的数控G代码生成源
- MPI与OpenMP并行计算的实验报告及源程
- bp神经网络手写字符汉字识别
- 超声波测距模块的原理图和源程序
- 词法分析程序可记录行号、识别注释
- md3loader,导入md3模型源程序
- Neural Networks and Deep Learning中文版
- 基于HLS的Tiny_yolo卷积神经网络加速研
- 基于卷积神经网络的声音识别
- 解析深度学习卷积神经网络原理与视
- 解析深度学习:卷积神经网络原理与
- 毕业设计BP神经网络方法对车牌照字符
- 人工神经网络理论及应用
- 人工神经网络原理及应用.pdf
- 《神经网络与深度学习-邱锡鹏》习题
- 手把手教你学DSP源程序
- 基于卷积神经网络的纹理识别算法含
- 基于深度卷积神经网络图像去噪算法
- 神经网络office插件NNX
- opencv源程序
- contour等值线源程序
- 一些神经网络经典模型的源代码
- 30个神经网络算法源程序
- ZigBee源程序(包括定位源程序)
- 数学建模国赛获奖论文分类整理:神经
- 智能控制相关书籍的书,包含模糊算
- 刘知远-Introduction to Graph Neural Network
- 人工神经网络:理论、设计及应用第
- 脉冲耦合神经网络原理及其应用
评论
共有 条评论