机器学习应用于量化投资的现状
AI 和机器学习对于普罗大众来说,缥缈的有点像科幻电影;但对于对冲基金、顶级投行和私募股权公司来讲,AI 和深度学习是他们用来在市场上获取优势的下一代科技。花旗用机器学习向客户提出投资组合建议;高频交易公司依靠机器学习工具,快速阅读和应对金融市场。像Panagora Asset Management 量化交易商已经开发了复杂的算法,来测试复杂的投资理念。
AI 和机器学习在投资领域大展拳脚的时候,质疑也从没消停过。不可否认,AI 和机器人学习有些影响被夸大了。现在是人+ 机器的时代,不是只有机器运行的运作模式。而且,要达到机器独立运行,还需要很长、很长的时间。当今社会是人+机器,不是人与机器对抗的社会。
二、机器学习的定义
机器学习是一门从数据中研究算法的多领域交叉学科,研究计算机如何模拟或实现人类的学习行为,根据已有的数据或以往的经验进行算法选择、构建模型,预测新数据,并重新组织已有的知识结构使之不断改进自身的性能。
机器学习、人工智能和深度学习的关系
机器学习是一种实现人工智能的方法,深度学习是一种实现机器学习的技术(特征提取)。
三、机器学习算法分类
机器学习主要分为三种类型,监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)和强化学习(Reinforcement Learning)。我们对主流分类方法来介绍机器学习在量化投资中的应用,实际上,各种方法的应用模式可以互相交叉。
监督学习的主要目的是使用有类标的训练数据构建模型,我们可以使用经训练得到的模型对未来数据进行预测。术语监督是指训练数据集中的每个样本均有一个已知的输出项。如利用分类对类标进行预测、使用回归预测连续输出值。
在无监督学习中,将处理无类标数据或者总体分布趋势不明朗的数据,通过无监督学习,我们可以在没有已知输出变量和反馈函数指导的情况下提取有效信息来探索数据的整体结构。如通过聚类发现数据的子群,数据压缩中的降维。
强化学习的目标是构建一个系统,在与环境交互的过程中提高系统的性能。环境的当前状态信息中通常包含一个反馈信号,我们可以将强化学习视为与监督学习相关的一个领域,然而,在强化学习中,这个反馈值不是一个确定的类标或者连续类型的值,而是一个通过反馈函数产生的对当前系统行为的评价。通过与环境的交互,系统可以通过强化学习来得到一系列行为,通过探索性的试错或者借助精心设计的激励系统使得正向反馈最大化。一个常用的强化学习例子就是象棋对弈的游戏,在此,系统根据棋盘上的当前局态(环境) 决定落子的位置,而游戏结束时胜负的判定可以作为激励信号。AlphaGo 就是强化学习的成功应用。
强化学习与监督学习、无监督学习的一个重要区别是:后两者需要满足数据是服从独立同分布的,而强化学习则不满足这个条件,因为Agent和环境交互过程中状态是不断变化的,强化学习本质是对连续序列做决策的过程。
三、机器学习的发展历史
机器学习最早的发展是Thomas Bayes 在1783年发表的同名理论,贝斯定理发现了给定有关类似事件的历史数据的事件的可能性。这是机器学习的贝叶斯分支的基础,它寻求根据以前的信息寻找最可能发生的事件。换句话说,Bayes定理只是一个从经验中学习的数学方法,是机器学习的基本思想。
几个世纪后,1950年,计算机科学家 Alan Turing发明了所谓的图灵测试,计算机必须通过文字对话一个人,让人以为她在和另一个人说话。图灵认为,只有通过这个测试,机器才能被认为是“智能的”。1952年,Arthur Samuel创建了第一个真正的机器学习程序——一个简单的棋盘游戏,计算机能够从以前的游戏中学习策略,并提高未来的性能。接着是Donald Michie 在1963年推出的强化学习的tic-tac-toe程序。在接下来的几十年里,机器学习的进步遵循了同样的模式--一项技术突破导致了更新的、更复杂的计算机,通常是通过与专业的人类玩家玩战略游戏来测试的。
它在1997年达到巅峰,当时IBM国际象棋电脑深蓝(Deep Blue)在一场国际象棋比赛中击败了世界冠军加里·卡斯帕罗夫(Garry Kasparov)。最近,谷歌开发了专注于古代中国棋类游戏围棋(Go)的AlphaGo,该游戏被普遍认为是世界上最难的游戏。尽管围棋被认为过于复杂,以至于一台电脑无法掌握,但在2016年,AlphaGo终于获得了胜利,在一场五局比赛中击败了Lee Sedol。
机器学习最大的突破是2006年的深度学习。深度学习是一类机器学习,目的是模仿人脑的思维过程,经常用于图像和语音识别。深度学习的出现导致了我们今天使用的(可能是理所当然的)许多技术。你有没有把一张照片上传到你的Facebook账户,只是为了暗示给照片中的人贴上标签?Facebook正在使用神经网络来识别照片中的面孔。或者Siri呢?当你问你的iPhone关于今天的棒球成绩时,你的话语会用一种复杂的语音解析算法进行分析。如果没有深度学习,这一切都是不可能的。
四、机器学习的基本流程
就如同人类学习某种技能需要持续练习一样,机器学习某种规律也需要大量的数据进行训练。从开始获取数据、训练机器学习模型到最终模型投入应用,通常需要遵循一些固定的流程。下图展示了机器学习的基本框架,主要步骤包括:数据获取、特征提取、数据转换、模型训练、模型选择和模型预测。
需要特别指出的是,完成数据预处理后,接下来是机器学习的核心步骤——模型训练。针对不同的问题,我们需要挑选最合适的机器学习方法。
1)如果数据中包含特征和标签,希望学习特征和标签之间的对应关系,那么可以采用监督学习的方法;
2)如果没有标签,希望探索特征自身的规律,那么可以采用非监督学习;
3)如果学习任务由一系列行动和对应的奖赏组成,那么可以采用强化学习;
4) 如果需要预测的标签是分类变量,比如预测股票上涨还是下跌,那么可以采用分类方法;
5)如果标签是连续的数值变量,比如预测股票具体涨多少,那么可以采用回归方法;
另外,样本和特征的个数,数据本身的特点,这些都决定了最终选择哪一种机器学习方法。
模型训练、模型选择和模型预测中涉及的基本概念包括训练集(Training set) vs 验证集(Validation set) vs 测试集(Test set):
Ripley, B.D(1996)在他的经典专著Pattern Recognition and Neural Networks中给出了这三个词的定义。
训练集(Training set): A set of examples used for learning, which is to fit the parameters [i.e., weights] of the classifier. Training set是用来训练模型的;
验证集(Validation set): Validation set是用来做模型选择(model selection)、参数优化的,即做模型的最终优化及确定的;
测试集(Test set): A set of examples used only to assess the performance [generalization] of a fully specified Classifier. Test set纯粹是为了测试已经训练好的模型的泛化(generalization)能力。
五、机器学习的模型表现
模型有欠拟合、正常拟合和过拟合三种情况。正常拟合的情况下,采用合适数量的参数和合适复杂度的模型。过拟合的情况下,采用过多的参数和过于复杂的模型,模型依赖数据,离开测试集后表现较差,即模型预测效果较差。
对于更复杂的模型来说,一方面,一般而言,更多的自由参数,训练集的错误率就越低;
另一方面,更多的参数让模型记住了更多训练数据特有的特征和噪音,而非挖掘出总体的信号,因此更容易产生过拟合,预测效果不佳。
在使用机器学习算法过程中,针对不同的问题需要不用的模型评估标准,这里统一汇总。主要以两大类分类与回归分别阐述。
5.1.分类问题
5.1.1. 混淆矩阵
混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息。矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别。
真正(True Positive , TP):被模型预测为正的正样本。
假正(False Positive , FP):被模型预测为正的负样本。
假负(False Negative , FN):被模型预测为负的正样本。
真负(True Negative , TN):被模型预测为负的负样本。
真正率(True Positive Rate,TPR):TPR=TP/(TP+FN),即被预测为正的正样本数
/正样本实际数。
假正率(False Positive Rate,FPR) :FPR=FP/(FP+TN),即被预测为正的负样本数
/负样本实际数。
假负率(False Negative Rate,FNR) :FNR=FN/(TP+FN),即被预测为负的正样本数
/正样本实际数。
真负率(True Negative Rate,TNR):TNR=TN/(TN+FP),即被预测为负的负样本数
/负样本实际数/2
5.1.2. 准确率(Accuracy)
准确率是最常用的分类性能指标。Accuracy = (TP+TN)/(TP+FN+FP+TN),即正确预测的正反例数 /总数
网友评论