本帖最后由 hammyone 于 2018-6-28 14:34 编辑
卷积神经网络与简单多层神经网络并不是相同的含义,其主要区别在于卷积神经网络包含了一个由卷积层、激活层和下采样层构成的特征提取结构。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元链接。在卷积神经网络中,通常包含若干个特征图,每个特征图的神经元共享权重参数,共享的权值便是卷积核。卷积核一般随机的形式初始化,也可以通过预训练进行初始化。卷积核的应用,给多层神经网络带来了较大的提升,减少了网络各层的连接,降低了过拟合的风险。下采样也叫池化(Pooling),可以看做一种特定的卷积过程,通过卷积和下采样使卷积神经网络的复杂度大大降低。 1. 局部感受野 卷积神经网络通过局部感受野来降低参数数量。一般动物对外界的感知是从局部再到全面。在图像中,一般相近的像素相关性较高,距离远的像素往往相关性较低。因而,每个神经元往往不需要对全局图像进行感知,单个神经元只通过局部感知,而深层多个神经元的综合便能得到对浅层的综合信息。 上面的图像例子中,对于1000X1000像素的图片,如果有一百万个隐层神经元,将会有 个参数,而如果设置一个10X10的卷积核,即每个神经元只有100范围内的感受野,最终的参数为 个。 2. 参数共享 在以上的例子中, 个参数依然是一个很庞大的工程。如果所有的隐层神经元所对应的10X10的参数都是相等的,那此时的参数就变成了100个。此时,模型的复杂度则降低到了卷积核大小的程度。 参数共享的实际意义是如何呢?我们可以理解为卷积操作是对图像的特征提取。隐含的原理是:从小样本区域学习的特征作为探测器,去探查整个图片,将图像中符合条件的部分筛选出来。 当我们通过多个卷积核来对图像进行特征提取时,变实际上得到了多个局部信息,再下一层中,再将此类局部信息综合。下图展示了参数共享的计算。 3. 下采样 理论上讲,通过提取的特征,我们便可以分类的操作。但此时已然面临着计算量的挑战。针对刚刚1000X1000的图像,假设采用的是10X10的卷积核,卷积操作后的单个特征图将是(1000-10+1)X(1000-10+1)的矩阵,依然是一个庞大的矩阵,若提取的特征数是100,那数量级将再次提升。因此,通过下采样来计算一个图像特征中某些区域里的平均值或者最大值,用平均值或者最大值来代替某一区域,这样,参数的数量又得到了极大的缩减。
介绍完卷积神经网络的大部分特点,可以参考一下最初LeNet-5来理解整个过程。LeNet-5包括输入层在内,总共8层。两个卷积层、两个下采样层以及两个全连接层。 输入层为32x32的黑白图像,C1层为卷积层,卷积核大小为5x5,共有6个卷积核,相当于6个特征提取器。S2层为下采样层,由C1层每组特征中2x2领域均值采样,因此S2层大小为14x14。 后续C3和S4操作类似,不同的是,由于S2层特征图数量较少,C3层加入一个连接表,用来指定C3层对S2层的映射关系。 最后,通过C5再次卷积和F6的全连接网络形成输出。其中输出层由10个欧式径向基函数组成。
一、 针对时间序列的卷积神经网络分类以上,了解了卷积神经网络在图像识别中强大应用,那在金融时间序列上的应用如何展开呢?一类应用考虑到金融时间序列的时间性,将循环神经网络引入到金融时间序列预测,类似于语义识别,寻找最近数据中的特征,从而达到分类效果。鉴于卷积神经网络的强大特征提取能力,我们处理方式借用了图像识别的处理,将金融时间序列表征为图像。 图像在卷积神经网络中的表示实际上是一个二维/三维矩阵,对于黑白图像而言是二维矩阵,对于彩色图像而言,一个多通道的三维矩阵。那将金融时间序列表征为NxT的矩阵,N表示为多元时间序列的维度,T表示时间序列的长度,NxT的矩阵即可表示为样本内图像。对于分类问题,我们需要对样本进行标识,在简单模型中,我们可以用时间序列的样本外涨跌进行标识。例如,T+1~T+5的涨跌幅大于0标为A,否则为B。因此将涨跌预测问题,转换到了卷积神经网络的分类问题。 然而对于卷积神经网络而言,网络的建筑设计是至关重要的一环。我们应用多元时间序列来对未来一周涨跌进行预测。卷积核的大小选择为NxM,N是上面设定的多元时间序列的维度,M是一个待定的参数。我们可以将样本内数据看作一个数据带,卷积核看作特征提取环,一般的图像处理中,特征图依然是一个二维矩阵,在我们的模型中,将形成一个一维的特征链。
我们第一步选择20日的开高低收数据来作为输入数据,未来5日涨跌进行分类表示。网络结构借用LeNet-5的网络设计方式,采用两次卷积-激活-池化后再链接两层全连接网络。
对33个期货合约品种的拼接主力合约数据进行切分成10000个样本,并随机分成8000个样本内数据供网络训练以及2000个数据供检测有效性。
图表中迭代次数1代表100次迭代,样本内准确率随着迭代次数的增加而增加,训练误差也在逐步降低。样本外检测准确率为55.9%。 后续工作将从多方面提升模型的有效性。一方面,可以考虑加入更加能反应后期涨跌的数据;另一方面,修改网络架构,调整一部分参数;再者,可以考虑将模型应用到策略层面,设置相应的止损止盈。
|