1维卷积对于处理时间序列数据有重要意义,具体讲解如下:
给定一个数据集,数据维度为3000行7列; 3000个样本,7个特征,5个类别,利用一维卷积进行分类
首先对数据进行处理,将其转换为3维数据,3000×时间步长×特征数,从而使得数据的格式能被keras接受。这里取时间步长10
model.add(Conv1D(100,2))
添加第一个一维卷积层,100个卷积核,卷积核大小为2,10-2+1=9,输出数据9行100列,width为7
model.add(Conv1D(100,2))
添加第一个一维卷积层,100个卷积核,卷积核大小为2,9-2+1=8,输出数据8行100列,width为7
model.add(Maxpooling1D(3,2))池化核大小为3,步长为2,(8-3+1)/2=3,输出数据3行100列,width为7
(疑问:假设池化核为2,步长为2,则(8-2+1)/2=3.5,这时维度有待于keras上实验)
注意:若model.add(Maxpooling1D(2)),则池化核大小为2,步长也为2。
model.add(Conv1D(160,2))
添加第一个一维卷积层,160个卷积核,卷积核大小为2,3-2+1=2,输出数据2行160列,width为7
此时卷积核的权重矩阵为100行160列,
2行100列的矩阵与100行160列的矩阵相乘,即可得到2行160列的矩阵
————————————————
版权声明:本文为CSDN博主「graceful snow」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/graceful_snow/article/details/100052732