人工智能系列之二十:必然中的偶然,机器学习中的随机数
谨请参阅尾页重要声明及华泰证券股票和行业评级标准 1 证券研究报告金工研究/深度研究 2019年04月29日 林晓明 执业证书编号:S0570516010001 研究员 0755-82080134 linxiaoming@htsc.com 陈烨 执业证书编号:S0570518080004 研究员 010-56793942 chenye@htsc.com 李子钰 0755-23987436 联系人 liziyu@htsc.com 何康 021-28972039 联系人 hekang@htsc.com 1《金工: 偶然中的必然:重采样技术检验过拟合》2019.04 2《金工: 机器学习选股模型的调仓频率实证》2019.04 3《金工: 市值因子收益与经济结构的关系》2019.03 必然中的偶然:机器学习中的随机数 华泰人工智能系列之二十不同机器学习模型对随机数种子的敏感程度不同 本文考察逻辑回归、XGBoost、随机森林和全连接神经网络四种机器学习算法在 100 组不同随机数种子下的模型性能和单因子回测表现。结果表明,当随机数种子变化时,逻辑回归的结果几乎保持不变,对随机数不敏感;全连接神经网络的结果可能发生较大变化,对随机数较敏感;XGBoost 和随机森林对随机数的敏感程度介于上述两者之间。机器学习模型看似“必然”的结果背后包含一定“偶然”因素,投资者应认识到机器学习选股模型可能存在的随机数种子选择偏差。 机器学习多个环节涉及随机数,目的在于增强模型的泛化能力 机器学习多个环节涉及随机数,例如训练集、验证集和测试集的随机划分,对神经网络权值进行随机初始化,利用随机梯度下降法求损失函数最优解,随机森林、XGBoost 等决策树集成模型的行列采样,神经网络训练过程中使用 Dropout 技术等。引入这些随机数具有重要意义,它们或是为了保证损失函数更易达到最优解,或是为了避免极端值对模型训练造成不良影响,或是为了产生具有差异性的样本以便进一步集成,最终目的都在于增强模型的泛化能力。 使用 Python 常用机器学习包时可进行若干设置保证训练结果可重复 由于机器学习模型中随机数的存在,为了保证结果的可重复性,需要对模型进行若干设置。我们测试了多种常用 Python 机器学习包随机数种子设置方法,结果表明 sklearn 和 xgboost 包设置 random_state 超参数后就能保证结果可完全复现;当以 tensorflow 作为后端使用 keras 包时,如果不使用 GPU,在单线程环境下同时固定 numpy 和 tensorflow 两处随机数种子就能确保全连接神经网络模型得到可重复的结果。 机器学习模型受随机数影响程度与模型复杂度及随机数作用方式有关 逻辑回归本身比较简单,在使用随机梯度下降算法拟合参数时引入了随机数,由于损失函数为凸函数,参数最终大概率收敛到理论最优参数附近,而较少受随机数影响。神经网络参数量大,在初始化网络权重,利用优化算法最小化损失函数,前向传播进行 Dropout 等环节均引入了随机数,模型整体具有较高的复杂度,受随机数影响较大。XGBoost 和随机森林模型复杂度也较高,行列采样环节涉及随机数,但是由于模型已经进行集成,最终结果的不确定性有所降低。 风险提示:机器学习选股方法是对历史投资规律的挖掘,若未来市场投资环境发生变化导致基学习器失效,则该方法存在失效的可能。机器学习存在一定过拟合风险。当机器学习算法涉及随机数时,不同随机数种子可能得到不同结果。 相关研究 20568077/36139/20190430 16:12 金工研究/深度研究 | 2019 年 04 月 29 日 谨请参阅尾页重要声明及华泰证券股票和行业评级标准 2 正文目录 本文研究导读 .................................................................................................................... 4 机器学习中的随机数 ......................................................................................................... 5 从计算机中的随机数生成谈起 ................................................................................... 5 数据集的随机划分 ..................................................................................................... 5 优化算法中的随机数 .................................................................................................. 6 赋予参数随机初始值 .......................................................................................... 6 随机梯度下降 ..................................................................................................... 6 集成学习中的随机数 .................................................................................................. 8 神经网络中的随机数 .................................................................................................. 9 Python 环境下如何设置随机数种子......................................................................... 10 机器学习选股模型随机性的来源 ............................................................................. 11 方法 ................................................................................................................................. 12 人工智能选股模型测试流程 ..................................................................................... 1
[华泰证券]:人工智能系列之二十:必然中的偶然,机器学习中的随机数,点击即可下载。报告格式为PDF,大小1.5M,页数24页,欢迎下载。



