前言
最近几天,R法狗和李世石的人机大战非常热闹,周围的朋友基本都是看好R法狗能五杀的节奏,不过我一直持有怀疑的态度。理由也很简单,对于这么好的博弈机会,国内外必然存在一些势力对这一事件做变相庄家(阴谋论),如果其中有一两局存在变数,赔率非常可观,这里有我在知乎上的回答。
R法狗与股票交易
参考 知乎的问答:AlphaGo 的学习决策模型是否能用于股票市场的交易?
下面是 徐所谓向前 的高分答案 :
其一,围棋是一个封闭系统,是一个完全信息系统,无论是现在的深度学习还是以前的机器学习,都依赖于庞大的样本训练,训练完成之后的样本外输入,其本质和可能性要与训练样本相同。例如围棋只能你一步我一步在固定区域内下,所有的规则都是实现就已经约定好的。而金融市场并不是完全信息系统,这一点在很多人的回答中也都提到。也就是很多新的情况,是系统不可预估的,并不是在历史中存在的,在这种情况下,之前的训练会失效。做过自动程序化交易的人都知道,如果自己不清楚策略为什么赚钱,不清楚背后的理论是什么,是不敢放任其自动交易的。就算深度学习系统经过了长期验证,也不能保证某些黑天鹅来临的时候,它能正确的应付,这个几乎是无法证明的。或许赚了几年但是几分钟就全亏回去了。比如今天第四场小李子终于赢了一局。在下棋中出现bug输一局无所谓,在交易中出低级bug可能就再也无力翻身了。
其二,阿法狗的paper中提到,人类现有的棋谱在训练中只占到了很小的一部分。他们发现如果只用人类现有的棋谱,阿法狗很快会陷入过度优化。因此对于阿法狗的训练,自己和自己下棋才是训练集的大部分。这也是为什么在盘中总是出现一些人类无法理解的下发,认为是阿法狗的失误。其实阿法狗算得很清楚,因为人类在于围棋的各种可能性走法其实还只探索了一部分。对应到金融市场,所有的行情、新闻、财报等等,对于这样一个复杂系统来说,数据量远远不够。但是系统不可能像围棋那样自己模拟出行情、新闻和财报等信息。因为围棋的走法有规矩,而行情并不是随机生成的数据序列。因此想要完全使用深度学习预测明天大盘的涨跌是不可能的,因为没有足够的训练样本。
从这里我们可以得到结论:R法狗的学习模型可以部分辅助交易,但很难全部适用于股票交易。
虽然R法狗并不是完美的,但是从这次人机大战中我们能看到蒙特卡洛树算法(MCTS)的局势判断能力(大菊观)大放异彩。确实,基于模拟计算技术已经成为现代统计学家工具箱中的一个重要组成部分,仿真模拟和可视化技术可以在直觉上辅助决策者做出决策。
DeepMind的创始人Hassabis说AlphaGo做的是,引进了神经网络这种直觉层面的东西,而直觉是顶级围棋棋手间的差距。
上述引用自 Google谷歌爱好者的微博 ,可以看出,现在直觉在人工智能决策中的重要作用。管中窥豹,明星交易员在股票交易中的重要性也是不可小觑的。
什么是蒙特卡洛树
蒙特卡洛树(Monte Carlo Tree Search)从字面上看就是 蒙特卡洛(仿真模拟) + 树(决策树),它是一种人工智能中的优化算法,结合了随机模拟的一般性和树搜索的准确性,MCTS 在博弈论中正在广泛应用。
算法
蒙特卡洛树将决策问题描述为一种二叉树的决策树形式,将问题求解分为四个步骤。
选子
设想下一步棋走到哪个位置
自行模拟双方下棋若干步
返回一个最优解
迭代方法
每次选子都考虑两件事:
- 选子后的若干步是否占优
- 这种选子方案在这些模拟中被用了多少次。(正常人记不住,只能主观判断)
约束
选子的主要困难在于如何平衡这两个问题:
- 在高平均胜率下模拟几步合适?
- 如何少量模拟完成自我博弈过程?
显然模拟过多会占用过多的计算资源,模拟过少得不到好的结果。
目标函数
为了解决这个问题,所以有以下公式:
$$\frac{w_i}{n_i} + c\sqrt{\frac{\ln t}{n_i}}$$
- $w_i$ 表示第$i$步的胜率
- $n_i$ 表示第$i$步的模拟次数
- $c$ 人工参数,靠科学家选择的一个数字
- $t$ 总模拟次数
这个公式中可以看出来,想要总胜率得分高,就需要适当控制模拟次数,但模拟过多会受到惩罚,而模拟过少则存在随机偏差过大的问题。
更多算法相关讨论可以参考 Not_GOD大神简书文章:蒙特卡洛树搜索 MCTS。
实现
参考资料
- 蒙特卡罗(Monte Carlo)方法简介
- Douglas Whitaker:Monte Carlo Tree Search in R
- Meduim: Why AlphaGo is interesting, from a non-technical technical perspective.
- Wiki:Monte Carlo tree search
- 简书:蒙特卡洛树搜索 MCTS
- 知乎:AlphaGo 的学习决策模型是否能用于股票市场的交易?
- 知乎:机器学习(machine learning)在经济学领域是否有应用前景?
- A Survey of Monte Carlo Tree Search Methods
- GitHub:Mastering the game of Go with deep neural networks and tree search
- 微盘:Introducing Monte Carlo Methods with R
作为分享主义者(sharism),本人所有互联网发布的图文均遵从CC版权,转载请保留作者信息并注明作者 Harry Zhu 的 FinanceR专栏:https://segmentfault.com/blog/harryprince,如果涉及源代码请注明GitHub地址:https://github.com/harryprince。微信号: harryzhustudio
商业使用请联系作者。