首页 > 编程知识 正文

卷积神经网络详解,卷积码编码matlab程序

时间:2023-05-05 04:09:41 阅读:130218 作者:2737

此帖最后由yexu55066在2016-8-16 02:17中编辑

我用的DeepLearnToolbox的代码改为一维卷积神经网络,识别一维心电信号。 训练样本40000均分为三类。 训练后,训练部分的错误率超高,直到测试集为止,都将所有信号分为其中一类。 各种参数卷积核大小的学习率等无论如何变更都不会改变。

寻求可能发生这种情况的原因,有解决办法吗? 还是有可以直接使用的一维卷积神经网络? 550669220@qq.com? 感谢

这是训练部分错误率的图表

trainerror.jpg(14.88kb,下载次数: 19 )。

2016-8-16上传01:45

然后修正部分的代码如下所示。 cnnsetup:

ifstrcmp(net.layers{l}.type,' c ' ) )。

mapsize(1) mapsize(1)- net.layers{l}.kernelsize 1;

fan _ out=net.layers { l }.output maps * net.layers { l }.kernelsize; %要学习的权重数

forj=1: net.layers { l }.output maps % output map

fan _ in=input maps * net.layers { l }.kernelsize; %有多少参数连接到上一层

for I=1:输入地图%输入地图

net.layers { l }.k { I } { j }=(rand (net.layers { l }.kernelsize,1(-0.5 ) *2*sqrt )6/) fan _ infan _ infan _ n _ sqrt

cnnff

for l=2 : n

ifstrcmp(net.layers{l}.type,' c ' ) )。

forj=1: net.layers { l }.output maps % foreachoutputmap

z=zeros (size (net.layers { l-1 }.a {1} )- [net.layers{l}.kernelsize-1 0 0] );

for j=1:输入映射

z=convn(net.layers(L-1 ).a (j ),ones ) net.layers (l ),1 )/(net.layers (l ).scale ),' valid ) %! 替换为可变

net.layers { l }.a { j }=z (1: net.layers { l }.scale : end,1, );

cnnbp

net.layers { l }.d { j }=net.layers { l }.a { j }.* (1- net.layers { l }.a { j } ) (扩展) net.layers

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。