人工智能选股框架及经典算法简介
人工智能和机器学习并不神秘
人工智能和机器学习方法并不神秘,其本质是以数理模型为核心工具,结合控制论、认知心理学等其它学科的研究成果,最终由计算机系统模拟人类的感知、推理、学习、决策等功能。理解常用的机器学习算法,有助于澄清对人工智能的种种误解和偏见,帮助我们更清晰地认识人工智能的长处和局限,从而更合理、有效地将人工智能运用于投资领域。
机器“学习”的对象是客观存在的规律
机器学习的对象是某种客观存在的规律。这种规律可以非常浅显,比如教给计算机勾股定理,机器就拥有了计算直角三角形边长的智慧。规律也可以相当复杂,如指纹识别系统学习的是不同指纹图像之间差异的规律,苹果语音助手 Siri 学习的是人类语言的声信号和背后表达意义的规律,无人驾驶学习的是当前路况和驾驶行为的规律。有的规律甚至连人类自己都无法完美诠释,如 AlphaGo 学习的是围棋落子和胜负之间的规律,智能投顾学习的是资本市场中投资决策和收益之间的规律。
机器学习遵循基本的流程
机器学习往往遵循一些基本的流程,主要步骤包括:数据获取、特征提取、数据转换、模型训练、模型选择和模型预测。数据获取可以通过数据库以及网络爬虫技术,途径日趋多元化。特征提取基于人的经验和探索,优质的特征能够起到事半功倍的效果。数据转换包括缺失值填充,标准化和降维。机器学习模型可分为监督学习,非监督学习和强化学习。模型选择通常借助交互验证和一系列评价指标。监督学习寻找特征和标签之间的规律,应用极为广泛监督学习由使用者给出特征和标签,由算法挖掘规律,学习一个模式,并且根据此模式预测新的特征所对应的标签。监督学习应用更广泛,学习效果好。我们从最简单的线性回归模型开始,介绍包括线性回归、岭回归、Lasso 回归、逻辑回归、线性判别分析和二次判别分析、支持向量机、决策树、随机森林、AdaBoost、神经网络、深度学习和 K 最近邻算法在内的众多监督学习方法。无监督学习通常用来挖掘数据自身的规律无监督学习不给出标签,由算法仅仅根据原始特征寻找模式,挖掘数据自身蕴含的规律。聚类和降维是常用的无监督学习方法。聚类包括 K 均值聚类、分层聚类和谱聚类。降维包括以主成分分析为代表的线性降维,以及以流形学习为代表的非线性降维。风险提示:机器学习的结果是历史经验的总结,存在失效的可能。
本文研究导读
2016 年 3 月,举世瞩目的围棋人机大战在韩国首尔上演。Google DeepMind 团队的人工智能围棋软件 AlphaGo 以四胜一负的战绩击败世界冠军韩国棋手李世乭,轰动围棋界。017 年 5 月,AlphaGo 升级版在乌镇围棋峰会中以 3:0 完胜世界围棋第一人中国棋手柯洁,又一次掀起社会上对于人工智能的热议。其实人工智能并不是什么新鲜的名词,早在20 年前,IBM 的人工智能“深蓝”就曾击败国际象棋世界冠军卡斯帕罗夫;而在近 20 年中,人工智能和它借助的机器学习方法也逐渐渗透到人类生活的方方面面。从手写数字的自动识别,到电脑手机上的指纹解锁功能、语音识别系统,再到无人驾驶、智能医疗、智能投顾等热门领域,处处都有人工智能的身影。在普罗大众的心目中,人工智能和机器学习可能还带有一些神秘色彩。有人质疑人工智能的可靠程度,认为电脑永远不可能达到人脑的水平。有人忧虑人工智能的无限发展最终将导致机器人统治人类。即使在内行看来,人工智能相当于黑箱子,人们无法破译程序“思考”的过程,那么使用人工智能时自然也要打上一个问号。其实,人工智能和它所借助的机器学习方法并没有想象的那么神秘,其本质是以数理模型为核心工具,结合控制论、认知心理学等其它学科的研究成果,最终由计算机系统模拟人类的感知、推理、学习、决策等功能。理解常用的机器学习算法,有助于我们澄清对人工智能的种种误解和偏见,帮助我们更清晰地认识人工智能的长处和局限,从而引导我们更合理、有效地将人工智能运用于投资领域。以下,我们的报告将分为两部分进行论述。
1. 所谓“举一纲而万目张”。在介绍具体的机器学习算法之前,我们首先将介绍机器学习项目的基本套路,为我们未来的系列研究构建好框架。随后我们将着重探讨特征提取、数据转换、交互验证和模型评价等重要步骤,帮助读者建立一个对机器学习的大致概念。
2. 传统机器学习方法包含监督学习和无监督学习两大门类。近年来强化学习逐渐受到重视,成为第三大门类。通俗地说,监督学习是教师(使用者)给出问题(特征)和正确答案(标签),由学生(算法)挖掘规律,学习一个模式,并且根据此模式回答新的问题(预测新的特征所对应的标签)。无监督学习不给出正确答案,由算法仅根据原始特征寻找模式。强化学习的目标是让模型学会使奖赏最大化的决策,是三大门类中最年轻也是最困难的方法。监督学习应用最为广泛,并且学习效果较好,因此第二部分我们将着重围绕监督学习进行介绍。我们将从最简单的线性回归模型开始,介绍包括广义线性模型、线性判别分析、支持向量机、决策树和随机森林、神经网络、K 最近邻算法在内的众多监督学习方法。另外我们也将介绍聚类这一无监督学习方法,以及数据转换常用的降维方法。本研究的一大亮点是,针对每一种机器学习方法,我们都配合原创、浅显、并且与投资密切相关的例子加以阐述,以一种非常接地气的描述方式推送给读者,试图帮助读者厘清基本概念,使人工智能方法脱去神秘的外衣,让读者都有可能开发出成功的机器学习投资策略,也为我们后续的系列研究报告做铺垫
机器学习基本框架
机器“学习”什么?从物质层面上看,人类的大脑是一个毫不起眼的器官,成年人的大脑约为 1.5 公斤,仅占体重的 2%,相当于一大瓶可口可乐的重量。然而,人类的大脑又是一个极其复杂的器官,约 860 亿个神经元形成的复杂网络上有百万亿数量级别的突触连接, 被誉为宇宙中最复杂的 1.5 公斤重的物体。基于它, 人类产生了知觉、注意、语言、决策、记忆、意识、情感等心理和认知过程, 也产生了以科学和艺术为代表的灿烂的文明。对于人类来说,最神奇的地方莫过于我们的大脑拥有着无以伦比的学习能力。婴儿甚至没有人教就可以学会爬行、站立和行走。儿童即使没有上学也能熟练地用母语与他人交流。青少年在校园的短短十多年间掌握的科学知识就已超过几百年前人类文明的总和。而当今时代,即使最强大的机器人也无法像人类一样自然地行走,最先进的计算机也不能在和人类对话时以假乱真,我们也无法象人工智能参加高考能得多少分。自计算机问世以来,科学家便试图探索计算机究竟能在多大程度上取代人类。很长一段时
间,计算机帮助人类实现人脑无法承担的大规模运算,储存人脑无法储存的海量信息,然而这些仍离智慧相距甚远。随着计算机科学的逐步发展成熟,人们意识到让计算机拥有智慧的关键,就在于让机器拥有和大脑一样的学习能力。人工智能和机器学习由此应运而生。机器学习的对象是某种客观存在的“规律”。这种规律可以非常浅显,比如教给计算机勾股定理𝑎 2 + 𝑏 2 = 𝑐 2,机器就拥有了计算直角三角形边长的智慧。规律也可以极其复杂,比如指纹识别系统学习的是不同指纹图像之间差异的规律,苹果智能语音助手 Siri 学习的是人类语言的声信号和背后表达意义的规律,无人驾驶学习的是当前路况和驾驶行为的规律。有的规律甚至连人类自己都无法完美诠释,比如 AlphaGo 学习的是围棋落子和胜负之间的规律,智能投顾学习的是资本市场中投资决策和收益之间的规律。
机器学习基本流程
就如同人类学习某种技能需要持续练习一样,机器学习某种规律也需要大量的数据进行训练。从开始获取数据、训练机器学习模型到最终模型投入应用,通常需要遵循一些固定的流程。图表 1 展示了机器学习的基本框架,主要步骤包括:数据获取、特征提取、数据转换、模型训练、模型选择和模型预测。
图表1: 机器学习基本框架资料来源:华泰证券研究所

数据获取:巧妇难为无米之炊,如果数据的数量不足,或者信噪比过低,那么再精妙的算法也难以发挥作用。因此,如何获取大量的、高质量的数据,是开发机器学习模型过程中首先需要考虑的问题。各个领域都有一些标准化的数据库和数据接口可供选择,比如金融领域的雅虎财经、新浪财经、万得终端等等。随着网络技术的发展,人们开始尝试借助爬虫技术,从新闻网站、财经论坛、自媒体平台甚至聊天软件中获取感兴趣的舆情信息,数据的来源日趋多元化。
特征提取:原始数据中有价值的信息往往湮没在噪音中。另外,原始数据由于格式和类型的限制,可能无法直接用于训练模型。因此需要先从原始数据中提取富有信息量的、可以放入模型训练的特征,这一步称为特征提取。例如在自然语言识别中,人们借助 WordEmbedding 技术,将以文字表示的词汇转换为以数值表示的向量。在图像识别中,人们首先从原始的图片里提取出三原色、亮度等信息。在多因子选股中,人们从原始的价量数据中提取出各类因子,也暗含了特征提取的思想。特征提取有一些基本套路,但是更多时候基于人的经验和探索。优质的特征能够令模型训练的过程事半功倍。
数据转换:现实生活中的数据通常不是完美的。例如数据会存在缺失值,不同特征的取值范围不同,不同特征之间具有相关性。这些都会影响到机器学习模型的训练速率和准确率。因此在正式训练之前,需要对数据进行转换。对于包含缺失值的条目,可以直接删去或以总体均值填充。标准化可以将所有特征限制在相同的范围内。降维能够避免特征之间相关性的影响,也能避免维数灾难的发生。数据转换这一步看似简单,但往往是机器学习成败的关键。
模型训练:完成数据预处理后,接下来是机器学习的核心步骤——模型训练。针对不同的问题,我们需要挑选最合适的机器学习方法。图表 2 展示了常用的机器学习方法。如果数据中包含特征和标签,希望学习特征和标签之间的对应关系,那么可以采用监督学习的方法;如果没有标签,希望探索特征自身的规律,那么可以采用非监督学习;如果学习任务由一系列行动和对应的奖赏组成,那么可以采用强化学习。如果需要预测的标签是分类变量,比如预测股票上涨还是下跌,那么可以采用分类方法;如果标签是连续的数值变量,比如预测股票具体涨多少,那么可以采用回归方法。另外,样本和特征的个数,数据本身的特点,这些都决定了最终选择哪一种机器学习方法。

模型选择:面对一个机器学习问题时,存在众多备选模型,每个模型的参数也存在多种可能的取值。如何选择最合适的模型和参数?最重要的方法是交互验证,并选择合适的指标对备选模型做出评价。后面的章节我们将详细阐述,如何通过交互验证将数据分为训练集和验证集,从而避免欠拟合和过拟合的发生,找到最优的模型。我们也将介绍除了预测误差和分类正确率之外,还有哪些指标可以用于评价模型的好坏。模型预测:当确定最优的模型和参数后,最后一步是使用模型对未来做出预测。现实世界中的规律并非一成不变,当规律随时间发生变化时,就需要用新的数据训练模型,对模型进行动态调整。
交互验证
面对一个机器学习问题时,存在众多的备选模型供我们选择。解决问题很重要的一步是从大量的模型中遴选出一个最优的模型。表现最优的模型是简单的模型还是复杂的模型?模型的参数应该如何设定?上述这些问题不存在固定的答案,我们要根据具体问题进行决断。尽管如此,模型选择仍需遵循一系列基本的原则和方法。首先,对于一般的回归问题,我们通常使用均方误差(mean squared error,MSE)来衡量模型的表现。均方误差可以分解为方差(variance)和偏差(bias):
均方误差 = 方差 + 偏差图表 3 的打靶图形象地说明了两者的区别,小的方差代表射手射得稳,小的偏差代表射手瞄得准

具体而言,第一项方差代表我们使用不同训练集时模型表现的差异。由于模型的构建通常和训练集的统计性质有关,不同的训练集会导致模型出现差异。如果某个机器学习方法得到的模型具有较大的方差,训练集只要有少许变化,模型会有很大的改变。复杂的模型一般具有更大的方差。第二项偏差代表实际模型与理想模型的差别。例如线性模型是最常用的模型之一,而真实世界往往是非常复杂的,当我们用线性模型这样的简单模型去解释世界时,很可能会出现问题。如果我们用复杂度为 2 的线性模型(有截距和斜率两个参数)拟合一个非线性模型(模型复杂度远大于 2),将产生较大的均方误差,其中很大一部分来源于偏差。当我们不断增加模型的复杂程度,模型的均方误差不断下降,整体表现逐渐提升,主要原因是偏差逐渐下降,说明模型更加符合真实的情况。然而随着模型的复杂程度进一步增加,可以发现样本差异导致的方差急剧上升,说明复杂的模型更多地把握住了属于训练样本独有的特性,而非数据的共性,这是我们不希望看到的。均方误差、方差和偏差随模型复杂度的变化关系
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步