本系列文章为《Machine Learning for Algorithmic Trading》第十八章 CNNS for Financial Time Series and Satellite Images 中代码复现。
03 CIFAR10 图像分类
我们将使用 CIFAR10 数据集,该数据集使用 60,000 个 ImageNet 样本,压缩为 32x32 像素分辨率(从原始的 224x224),但仍具有三个颜色通道。 最初的 1,000 个类中只有 10 个。
Imports
下载 CIFAR-10 数据集
可视化前 30 个训练图像
重新缩放图像
训练-测试拆分
前馈神经网络 我们首先在 50,000 个训练样本上训练一个两层前馈网络,训练 20 个 epochs,以达到 44.22% 的测试准确率。
我们还用 500K 参数的三层卷积网络进行了实验,测试准确率为 67.07%。
模型架构
编译模型
定义回测
训练模型
绘制CV图
加载产生最佳验证准确度的权重
测试准确性
CNN模型架构
编译模型
定义回测
训练模型
绘制CV图
评估预测
带有图像增强的 CNN
提高性能的一个常见技巧是通过创建合成数据人为地增加训练集的大小。 这涉及随机移动或水平翻转图像,或将噪声引入图像。
可视化训练数据的子集
结果显示了增强图像是如何按预期以各种方式改变的
定义回测
训练增强图像
CV图
准确性
AlexNet
我们还需要简化 AlexNet 架构,以应对 CIFAR10 图像相对于竞赛中使用的 ImageNet 样本的较低维度。
模型架构
编译模型
定义回测
训练模型(代码参照上文)
CV图
准确性
比较结果