2
摘要: 那些年我们错误理解了人工神经网络,想知道错在什么地方吗?快来学习一下吧。

被错误理解的人工神经网络(一)!

被错误理解的人工神经网络(二)!

被错误理解的人工神经网络(三)!

并不是所有的数据都可以去训练神经网络

神经网络表现很差的最大原因之一是人们没有正确的进行预处理即将被送入神经网络的数据。数据标准化和去除冗余信息和异常值都应该在数据被训练前完成,这样才有可能提高神经网络性能。

数据标准化

数据必须标准化,因为神经网络由通过加权连接在一起的各种感知器层组成。每个感知器都包含一个激活函数,每个激活函数都有一个有效范围(径向基函数除外)。神经网络中的输入必须要在这个范围内缩放,以便神经网络能够区分不同的输入模式。

例如,考虑一个神经网络交易系统,它接收关于一组证券的指标作为输入,并输出每个证券是应该买还是卖。其中一个输入是安全性的价格(我们正在使用Sigmoid激活函数)。然而,大多数证券的成本在每股5美元到15美元之间,而Sigmoid函数的输出接近1.0。因此,所有证券的Sigmoid函数的输出将为1.0,所有的感知器都将触发,神经网络将不会学习到任何有用的知识。

神经网络对未处理的数据进行训练,并不会产生任何价值。

异常清除

异常值是一组数据中明显跟整体数据风格不一样的数值。异常值会导致统计技术出现问题,如回归分析和曲线拟合,因为当模型试图适应异常值时,模型在所有其他数据上的表现会恶化。

clipboard.png

此图显示了从线性回归的训练数据中移除异常值的效果,结果与神经网络相当。

上图显示,试图将异常值纳入线性回归模型会导致数据集的拟合效果不佳。异常值对非线性回归模型(包括神经网络)的影响也是同样的。因此,最好的做法是从训练数据集中移除异常值。但识别异常值本身就是一个挑战。这个教程将介绍一些用于异常值检测和删除的现有技术。

删除冗余

当两个或两个以上高度相关(多重共线性)的自变量被输入神经网络时,这会对神经网络的学习能力产生负面影响。高度相关的输入也意味着由每个变量呈现的特征信息量很小,因此可以消除不太重要的自变量。消除冗余变量的另一个好处是可以让神经网络的训练时间可以更短,自适应神经网络可以用来修剪冗余连接和感知器。

神经网络可能需要重新训练

神经网络并不是训练完之后,就能一劳永逸的,因为神经网络可能会随着时间的推移而停止工作。这不是因为神经网络不靠谱,而是因为金融市场的本身就是一个不确定性很高的行业。金融市场是复杂的适应性系统,意味着它们在不断变化。昨天的工作经验在明天可能就行不通了。这个特性被称为非平稳或动态优化问题,而神经网络在处理它们方面并不是特别擅长。

像金融市场这样的动态环境对神经网络来说非常困难。我们现在有两种方法是可以随时间对神经网络进行再训练或使用动态神经网络。随着时间的推移,动态神经网络“跟踪”环境变化,并相应地调整其架构和权重。随着时间的推移它们对动态问题是自适应,可以使用多解元启发式优化算法来跟踪随时间变化的局部最优解。另一种算法是多群优化算法,即粒子群优化的一个衍生物。此外,具有增强的多样性或内存的遗传算法也可以证明在动态环境中是稳健的。

clipboard.png

下图演示了遗传算法随着时间的推移如何在动态环境中发现新的最优值。这种算法也适用于模仿贸易拥挤,即市场参与者挤占有利可图的交易策略,从而耗尽交易机会,导致交易变得不那么有利可图。

神经网络不是黑盒子

神经网络本身就是一个黑匣子。这给希望使用它们的人带来了很多问题,例如,基金经理不知道神经网络如何做出交易决策,因此不可能评估神经网络学习的交易策略的风险。同样,使用神经网络进行信用风险建模的银行也无法证明为什么客户有特定的信用评级。我们前面说过,最先进的特征提取算法已经被开发来包装成一些神经网络架构。这些算法从神经网络中提取知识作为数学表达式、符号逻辑、模糊逻辑或决策树。

clipboard.png

数学规则:算法已经开发出来,可以从神经网络中提取多条线性回归线。这些技术的问题在于规则通常很难理解;因此,这些并不能解决“黑盒子”问题。

命题逻辑:命题逻辑是处理离散值变量操作的数学逻辑分支。这些变量(如A或B)通常为TRUE或FALSE,但它们可以占用离散范围内的值,例如{BUY,HOLD,SELL}。

逻辑运算可以应用于这些变量,如OR,AND和XOR。结果称为谓词,也可以使用存在或全部量词来对集合进行量化,这是谓词和命题逻辑之间的区别。如果我们有一个简单的神经网络,即价格(P),简单移动平均线(SMA)和指数移动平均线(EMA)作为输入,并且我们可以得到像这样的规则。

clipboard.png

模糊逻辑:模糊逻辑是概率和命题逻辑结合的地方。命题逻辑的问题在于绝对交易,例如BUY或SELL,TRUE或FALSE,0或1。因此,对于交易者而言,无法确定这些结果的置信度。模糊逻辑通过引入指定变量属于特定域的成员函数来克服此限制。例如,一家公司(GOOG)可能属于{域名{购买},域名{卖}}。神经网络和模糊逻辑的组合被称为神经模糊系统——本研究调查讨论了各种模糊规则提取技术。

决策树:决策树显示在给定某些信息时如何做出决定。本文介绍如何使用遗传编程演进安全分析决策树,决策树归纳是从神经网络中提取决策树的过程。

clipboard.png

一个使用决策树表示简单交易策略的例子:三角形框表示决策节点,这些可能是买入,持有或出售公司。

神经网络不难实施

根据我之前的经验,如果从头开始编写神经网络是一件非常具有挑战性的事情。但幸运的是,现在有数百个开源和专用软件包可以使神经网络的工作变得更容易。点击可以获得可供量化金融使用的数据包列表。该列表并非详尽无遗,按字母顺序排列。如果你有任何其他意见或要添加的框架,请通过评论部分分享。

正如我所提到的,现在有数百个机器学习库和框架。在提交任何一种解决方案之前,我建议你做一个最适合的分析,以查看哪些开源或专有机器学习软件包或软件最符合你的使用案例。一般来说,定量金融软件工程和模型开发中遵循的一条很好的规则就是不要重蹈覆辙。也就是说,对于任何足够先进的模型,你应该期望编写一些自己的代码。

结论

神经网络是一类功能强大的机器学习算法。它们基于坚实的统计基础,并已成功应用于金融模型以及多年的交易策略。尽管如此,由于在实践中使用它们的人失败过,所以它们的声誉不是很好。在大多数情况下,不成功的神经网络都可以追溯到不适当的神经网络设计决策和对其工作原理的一般误解。本文旨在阐明其中的一些误解,希望他们能够帮助成功的实施神经网络。

本文作者:【方向】
阅读原文
本文为云栖社区原创内容,未经允许不得转载。


阿里云云栖号
27.8k 声望35.7k 粉丝

阿里云官网内容平台