关于过拟合:机器学习方法 vs. 传统人工方法

机器学习
量化交易
过拟合
标签: #<Tag:0x00007fcf60b2bce0> #<Tag:0x00007fcf60b2bba0> #<Tag:0x00007fcf60b2ba60>

(神龙斗士) #1

BigQuant AI策略详解 继续讨论: @soft05jun

拟合是一种学习能力,过度拟合是机器学习方法重点在优化解决的问题之一。

关于过拟合,机器学习方法相对传统人工调参有明显的优势:

  1. 让过拟合可衡量:if you cannot measure it, you cannot improve it

    • 机器学习中,我们一般会将数据划分训练集和测试集,通过对比训练集和测试集上的效果差异,我们将可以实现过拟合的量化。具体实现上,可以用交叉验证;对于时间序列数据,一般需要按时间划分,可以做滚动训练,来得到更准确的结果。
    • 传统方法,很多相对偏主观,希望找到所谓“稳定”的点(人的计算能力毕竟有限,一般是只能覆盖一个很小空间,落到某个局部结果)。
  2. 为什么会有过拟合:在量化投资上,有两个主要的过拟合来源:

    • 数据:目前大家能采集的数据有限,其分布随市场变化在变化。随着数据化的深入,我们将能使用更多更深层次的海量数据,这一问题有望得到优化,机器学习的优势也将更加显著
    • 人:开发策略的时候,我们已经知道了测试集的信息,不可避免的引入了“未来信息”。在模型训练和学习的过程中,机器会做大量的计算,但在训练期间,机器严格的只能看到训练数据,可以极大的减少传统人工参数调优过程引入的过拟合问题
  3. 如何降低过拟合:机器学习算法一般有系统的方法来优化过拟合问题,正确实验方法+控制模型复杂度。比如 StockRanker:

    • 算法优化目标包含了模型复杂度 (机器学习算法基本都支持)
    • 通过参数减少树的数量和叶节点数量,可以降低模型复杂度,降低过拟合风险
    • 设置每个节点最小样本数要求,也可以提升泛化性

抛砖引玉,欢迎大家参与讨论


(PAYNE) #2

在做收益测试之前,如何测试模型是否过拟合?模型优化度