金融领域里的机器学习算法介绍:人工神经网络

人工智能的发展在很大程度上是由神经网络、深度学习和强化学习推动的。这些复杂的算法可以解决高度复杂的机器学习任务,如图像分类、人脸识别、语音识别和自然语言处理等。这些复杂任务一般是非线性的,同时包含着大量的特征输入。我们下面我们将分几天的时间对这些算法及其在金融领域的应用进行阐述。

神经网络

神经网络(又称人工神经网络,英文为artificial neural networks,简称ANNs)是一种高度灵活的机器学习算法,它已被成功地应用于具有大量特征的非线性复杂交互任务。神经网络通常用于分类和回归,但在强化学习中(可以是无监督的)也很重要。

下表显示了多元回归和神经网络之间的联系。A表示4个输入特征(x1到x4)和1个输出目标(y)的回归。B展示了一个基本神经网络的示意,它由节点(圆圈)和链接(连接节点之间的箭头)组成。神经网络有三种类型的层:输入层(包含4个特征的节点);隐藏层(对训练数据进行处理与学习);和输出层(由目标变量y的单个节点组成)。除了网络结构不同之外,多元回归和神经网络的另一个重要区别是,神经网络隐藏层的节点将输入以非线性的方式转换成新的值,然后将这些值重新组合成目标值。例如, 我们使用流行的修正线性单元函数(ReLU),f(x)=max(0, x),y等于β1乘以z1,其中z1是(x1 + x2 + x3)与0之间的最大值,加上β2乘以z2,其中z2是(x2+x4)与0之间的最大值,再加上β3乘以z3,其中z3是(x2+x3+x4)与0之间的最大值,再加上一个误差项。

在神经网络模型中,由于特征数据的单位可能不同,输入特征将被标准化处理。例如,如果输入是正数,我们可以按其最大值对所有输入进行缩放,使得输入特征值均位于0和1之间。

下图展示了一个更复杂的神经网络,它的输入层由四个节点(特征)组成,隐藏层由五个隐藏节点组成,及一个输出层。这三个数字:4、5和1对于神经网络来讲是决定神经网络结构的超参数。

现在我们考虑输入层右侧的节点。这些节点有时被称为“神经元”,它们用来处理接收到的信息。我们以最上面的隐藏节点为例。有四个链接通过输入层连接到该节点,因此该节点获得了由链接传输过来的四个值。根据概念,每个节点都有两个函数:求和运算函数和激活函数。一旦节点接收到四个输入值,求和运算函数将每个值都乘以一个权重,并将加权后的值相加,形成总的净输入值。然后,将总净输入值传递给激活函数,激活函数将该输入值转换为节点的最终输出值。

我们打个比方,激活函数就像一个电灯开关,以减少或增加输入的强度。激活函数是非线性的,如S形(sigmoid)函数(输出范围为0到1)。非线性的特点意味着对于输入值的变化,输出值的变化百分比是不一样的。

S形(sigmoid)激活函数如下图所示。在左图中,S形函数将负的总净输入值转换为接近于0的输出值。当输出值很低的话,意味着该节点没有被“触发”,因此没有任何内容传递给下一个节点。相反,在右边的图中,正的总净输入值被转换为接近于1的输出值,因此该节点被触发。然后将该激活函数的输出值传输到下一组节点(若存在第二个隐含层,则为下一个隐含层的节点;在本例中,则传输到输出层的节点)。以上传播过程被称为正向传播。

一开始,求和运算函数中所用到的输入值权重是随机赋予的。在有监督学习环境下,训练神经网络是一个迭代过程,在这个过程中,预测值将与实际的有标签数据值进行比较,并使用特定的性能度量方法(如均方误差)进行评估。然后,根据结果调整权重以减少神经网络模型的总误差。该调整过程一般是从后往前进行(输出层至隐藏层至输入层),这个过程称为反向传播。神经网络的学习是通过调整权重进行的,这一步骤可以用以下公式表示:

新权重=(旧权重)-(学习率)×(总误差对旧权重的偏导数)

其中,“偏导数”是指“总误差相对于旧权重变化的变化率”,也被称作“梯度”。学习率是一个影响调整幅度的参数。当学习完成时,所有的权重都将被赋值。

在神经网络的结构中,所有的特征都与非线性的激活函数相联系,这使得神经网络能够揭示和特征之间复杂的非线性关系。一般来说,当隐含层与节点更多的时候,神经网络处理复杂任务的能力也会增加(但过拟合的风险也会增加)。

在金融领域,资产定价是涉及复杂且不稳定的随机过程,这对建模提出了挑战。因此,金融分析师想知道,机器学习能否提高我们对市场运作方式的理解。有的研究比较了传统统计方法和机器学习方法解释和预测股票价格表现的能力,结果显示神经网络模型产生的单个股票和投资组合的回报表现优于传统统计方法建立的模型,因为神经网络模型能够捕获动态和相互作用的变量。这表明,基于机器学习的模型(如神经网络)更有效地处理证券价格中固有的非线性关系。但是,在使用这些模型之前,我们需要权衡这些模型是否缺乏可解释性,以及我们的数据量能否满足这些模型的需求。