- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
神经网络声音信号分类
BP神经网络的数据分类 语音特征信号分类 目录 一、问题的提出 二、程序流程 三、实验结果 四、参数选择对结果的影响 五、神经网络的容错能力 六、并行训练的尝试 七、增加隐含层的尝试 八、总结 一、问题的提出 本任务选取了民歌、古筝、摇滚和流行四类不同音乐,每段音乐都用倒谱系数法提取5OO组24维语音特征信号,用BP神经网络实现对这四类音乐音的有效分类。 基于BP神经网络的语音特征信号分类算法建模包括BP神经网络构建,BP神经网络训练和BP神经网络分类三步,算法流程如图所示。 二、程序流程 二、程序流程 为了方便编程和计算,将神经网络中的计算写成向量运算: 三、实验结果(1) 三、实验结果(1) 三、实验结果(1) 三、实验结果(2) 现在我们来看一下输出误差的变化。我们期望每回合的训练,输出误差的大小 应该逐步减小,直到接近于一个平稳的值。 三、实验结果(3) 下面考察一下分类的正确率: 进行了200次训练和测试,每次对500个样本进行训练,并对2000个样本进行测试。得到每次平均正确分类个数为:1695.6个,标准差为58.9个。可得正确检测率为(84±3)% 对书上的程序进行测试,得到正确检测率为(85±4)% 可见,我的结果是正确的。 四、参数选择对结果的影响 在这次神经网络实验中用到了很多参数,它们几乎都会对网络的学习和工作造成极大的影响。 下面主要研究隐含层节点数N、步长η、动量常数α、激励函数参数[a,b],对网络的影响。 四、参数选择对结果的影响(1) 在不改变其他条件的情况下,更改隐含层的节点数N,考察训练样本的正确检测概率和全部样本的正确检测概率(每组重复5次): 四、参数选择对结果的影响(2) 不同步长与动量常数对输出误差收敛的影响: 步长分别选取为[0.01,0.1,0.5,0.9],动量常数分别选取为:[0,0.01,0.1,0.5]。 四、参数选择对结果的影响(3) 激活函数f=a·tanh(b·x)不同参数[a,b]对输出误差影响: 分别令a、b=[0.6,1,1.5,2]。 四、参数选择对结果的影响(3) 选择激活函数为f=1/(1+exp(-x))的时候,步长分别选取为[0.01,0.1,0.5,0.9],动量常数分别选取为[0,0.01,0.1,0.5],的输出误差结果: 五、神经网络的容错能力 将神经网络的一些隐含层损坏,即使其输出为0。检验网络的正确检测率变化。 在损坏一定数量的神经元后,网络的正确检测率不会太剧烈的下降,说明其容错能力很强。 但若有太多神经元同时损坏,则神经网络还是无法使用的 六、并行训练的尝试 尝试了一下并行训练,具体做法是每次输入的样本得到一个权值改变量,每回合结束后,将这些改变量取平均值去更新权值。 分别检验其权值的改变量、输出误差以及参数对其性能的影响。(在不加说明的情况下,参数均与串行训练的参数相同) 六、并行训练的尝试(1) 六、并行训练的尝试(2) 六、并行训练的尝试(3) 七、增加隐含层的尝试 实验中,将隐含层增加到了两层(24×8×8×4)和三层(24×8×8×7×4),进行测试。 下面分别给出1、2、3层隐含层,进行100、300、1000次迭代得到的输出误差曲线。以及正确检测的概率。 八、总结 这次用BP神经网络对数据分类的实验,总体上是成功的。实验中,我搭建了神经网络,并通过改变参数来检验其效果。得以下结论: 1、训练得到的神经网络的性能并不固定,会在一定范围内波动。 2、训练时候的步长、动量常数和激活函数对训练的影响非常大。尤其是若激活函数没选好,会严重增加训练的难度。 3、即使输入数据维数很多,网络每层的节点数并不一定要取太多。 4、神经网络的容错性很好,在破坏一定数量的神经元后,网络还可以正常工作。 5、并行计算时,网络训练很慢,并且容易陷入局部最小值。性能不太好,但是更稳定。 6、神经网络的隐含层层数并不是越多越好,有时候增加一层会明显改善网络的性能,但是继续增加反而可能破坏其性能。 八、总结 此外,本次实验还存在一些问题: 1、没有考虑阈值的更新。 2、训练时收敛太慢,比另一同学的慢10倍左右。甚至当网络几乎完全一样的时候,收敛速度仍然慢很多。具体原因不太清楚。 3、虽然做完了实验,也得到了很多结论,但由于初次接触神经网络,对其中的很多知识都是一知半解,实验和分析中肯定会有很多不正确的地方,有些现象也不能很好地解释。望大家批评指正。 谢谢! * * 可见隐含层的权值变化还是很理想的,但输出层同样没趋于0。 不知道为什么会这样。 也许是样本之间差异太大,输出差异也太大,所以系统实在无法找到合适的权值,满足每个样本的需求。 由于网络比较复杂,激活函数也是非线性的。所以其参数造成的影响不是很容易解释。 对此,我也进行了
文档评论(0)