2020文献积累 – 计算机方向 [1]
Reinforcement learning in Economics and Finance
文章链接:
Reinforcement learning in Economics and Finance
-
March 2020
- 整理:程琪皓
- 2020年10月30日~2020年10月31日
1. Introduction
1.1 An Historical Overview
-
第一部分主要讲解了reinforcement learning 的一些历史,感觉自己写文章的时候可以参考其中的一些东西:
-
强化学习
和
有/无监督学习
最最显著的区别:
leaning follows from feedback and experience, not from some fixed sample of data
. -
Thordike or Skinner – reinforcement learning in the context of
behavioral psychology,ethology and biology
-
联想&补充
:
- 关于skinner这个人,之前自学认知心理学的时候有过一面之缘,他给人一种非常radical的感觉~)
-
ethology
:(a). The scientific study of animal behavior, especially as it occurs in a natural environment. (b). The study of human ethos(性格气质) and its formation. -
注意:
ethology
这个词和
etymology(词源学)
的区分,
ethology
可以和
ethos
(民族精神)联系记忆,而ethos盲猜和ethics同源,这样这几个词就全部记住啦~
-
-
-
这篇文献通过一只猫的例子,讲了强化学习当中一些非常重要的概念:
-
利用新的探索(
exploration
)+已有的经验(
exploitation
)进行学习, 这里联系
经验回放算法
-
对于达到最终目的之后得到的reward如何在过程中的每一个action进行分配的问题:
credit assignment
后面简单的将了一些最最最最最最最基本的reinforcement leanring当中的概念,水了一些篇幅
-
利用新的探索(
1.2 From Machine to Reinforcement Learning
-
在
监督学习
的语境下,机器学习是一个
静态的过程
,给定数据集,我们学出一个可能的模型, 对于判别模型,典型的就是
binary的输出
(各位只要有点点基础知识的,可以和我一起在脑子里放一遍minst数据集的区分,GNN对抗神经网络等等等等的小电影…) -
对于一个超市里的店员而言,零售商们通过一些有关于他们
外貌、性别、购物车里的东西
(这一个好妙!!!)给顾客推荐相应的产品,顾客选择
买
还是
不买
- 我补充一下:这里如果要写代码的话,action space应该是:`
action_space = ["买当前商品","不买但继续购物","stop shopping and check out"]
-
注意到这里其实一共有三个选项,并且这个模型非常的heuristic:这不是
对抗神经网络
(GNN)又是什么?! -
Ideas No.1
(realized?) -
后面讲的内容尽管简单,但是给我一种感觉:reinforcement learning之于machine leaning好像
多了一个时间的维度
,更加关注cause and effect, 而不是静态的数据集。仅仅就是这一句话,某种程度上带来了reinforcement learning和经济学的交叉. - 文献该段中我最最欣赏的是这一句话:
As we will see in the article,models in sequential decision making as long history in economics, even if rarely mentioned in the computational science literature。
1.3 Agenda
- 看完全篇以后自己会重新写一个,这里就不再多赘述。
2. From Machine to Reinforcement Learning
2.1 Machine Learning principles
- “在了解Online learning之前需要了解regret 分析这个概率,regret指的是,Online learning中每次学习的误差减去使用用当前为止的最优函数而产生的误差的平均值,当然我们希望regret越小越好。”
—— 摘自
https://www.cnblogs.com/llphhl/p/5808431.html
在机器学习当中,我们的目标是找到这样的一个函数
f
∈
F
f\in\mathscr{F}
f
∈
F
使得最后定义的loss函数取到最小值,The risk is the expectation of the loss:
R
(
f
)
=
E
[
l
(
f
(
X
)
,
Y
)
]
R(f) =E[l(f(X),Y)]
R
(
f
)
=
E
[
l
(
f
(
X
)
,
Y
)
]
-
注意上面的
RR
R
应该理解成一个泛函,而
f∈
F
f\in\mathscr{F}
f
∈
F
当中的
F\mathscr{F}
F
应该理解为所有参数可能的取值张成的一个空间,每一组参数的选取唯一确定了一组函数,而这里的Risk泛函给出了一个函数空间到实数的映射。-
注意在Tatex当中花体(curlicue)字母可以这样打:
\mathscr{F}
或者
\mathcal{E}
-
或者有一些常用的符号: 例如
R\mathbb{R}
R
可以这么打
$\mathbb{R}$
-
注意在Tatex当中花体(curlicue)字母可以这样打:
-
实际的情况当中我们需要对这一个理论的实现做一些近似,一些限制如下:
- 我们不知道我们的dataset的分布,虽然这样的分布可以通过一些方法被学习出来(此处省略文献引用若干),但是方便的想法是通过现有的data进行简单的估计,例如:
-
R(
f
)
=
1
n
∑
i
=
1
n
l
(
f
(
x
i
)
,
y
i
)
R(f) =\frac{1}{n} \sum\limits_{i=1}^{n} l(f(x_i),y_i)
R
(
f
)
=
n
1
i
=
1
∑
n
l
(
f
(
x
i
)
,
y
i
)
-
或者我们有regret函数:
R=
E
[
R
(
f
^
)
]
−
i
n
f
f
∈
F
{
R
(
f
)
}
R = E[R(\hat{f})] – {inf}_{f\in\mathscr{F}}\{R(f)\}
R
=
E
[
R
(
f
^
)
]
−
i
n
f
f
∈
F
{
R
(
f
)
}
该段的后面又分析了一些有关于reward函数的定义以及regret的设计思路,感觉比较的朴素,这里 不再过多展开。
To go further, Mullainathan and Spiess (2017), Charpentier et al. (2018)or Athey and Imbens (2019) recently discussed connections between econometrics and machine learning, and possible applications of machine learning techniques in econometrics.
——这里讲了ML在计量经济学当中的运用,其中给出了一些参考的文献,本人对这个领域不是特别感兴趣,有需要的自取。
2.2 Online learning
文章介绍了一种基于多个expert 对未来模型进行预测的算法,关键是那个算法好像文献中当中介绍的并不清楚,其中有一些符号例如
π
i
j
\pi_{ij}
π
i
j
没有很好的交代意义,所以在这里进行一些简单的补充:
-
一篇有关于Bernstein Online Aggregator (BOA)的详细介绍
https://arxiv.org/pdf/1404.1356.pdf
- 该方法在2016年被提出,目前尚未被写入教材;我简单看了一下上面的这篇文献,对于之前没有这方面知识的,可能还是不是特别好懂,最好根据上面这篇文献第3页当中给出的参考文献继续递归下去。这里我暂时跳过,如果这里的算法在后面被用到,我将重新回到这里做进一步的解释。
- 后面提到了两篇文献如下:
-
https://web.stanford.edu/~dconeill/SG1_REV3_Final3.pdf
-
https://pubsonline.informs.org/doi/10.1287/opre.1080.0577
- 话说后面这一篇下载不下来,不知道有没有大佬可以帮忙想想办法
2.3 Bandits
-
说明一下,
Bandits
这个词意思是“强盗,土匪”,这里的词源为
*bha-
,取其中的“outlaw, forbid”这个意向,与
banal
(陈词滥调),
banish
(放逐),
ban
同源,顺便可以再记一个同义词
brigand
,长得也差不多 -
机器学当中,bandit有其他的意思,这里可以参考这一篇文献当中给出的有关该算法的介绍
https://blog.csdn.net/zhouxinxin0202/article/details/78967036
In order to solve this problem and find the best empirical strategy, the agent has to explore the environment to figure out which arm gives the best reward, but at the same time must choose most of the time the empirical optimal one. It is the exploration-exploitation trade-off: each step either searching for new actions or exploiting the current best one.
- 个人认为上面这一句话道出了该算法的精髓。
- 给出的几篇文献脏的很,没好好看,先挂一篇在这里:
-
https://ora.ox.ac.uk/objects/uuid:523c65ed-1389-4f04-acc7-4e3f4b0bf6ac/download_file?safe_filename=9801001.pdf&file_format=application%2Fpdf&type_of_work=Journal+article
2.4 Reinforcement learning: a short description
如果你熟悉reinforcement learning的基本假设,这一章的前面部分应该是最最基本的常识,有趣的是后面一部分给出了强化学习在经济学当中的一些可能的运用:
-
at
∈
A
a_t \in\mathcal{A}
a
t
∈
A
可以表示进货的数量 -
st
∈
S
s_t \in\mathcal{S}
s
t
∈
S
可以表示物品的存储状态 -
rt
∈
R
r_t \in\mathcal{R}
r
t
∈
R
可以表示商品带来的收益 - 这里提出一点自己的思考,如果在双经济学系统当中,完全可以不再共用同一个policy,而对于每一个经济学系统定义各自的reward函数,由此讨论双经济学系统当中的竞争与合作的现象。
- 我感觉经济学的大背景天生就适合用reinforcement learning解决问题,其中的reward简直不要太好找
3 Reinforcement Learning
3.1 Mathematical context
其他的部分比较trivial,但我想要提一提这个部分:
- 这是一个策略评价的算法,我寻思着我才一个多月没看这个领域的文献,连这么基础的代码都被人做了改进(或者因为我菜菜的原来就没有学到家…)
-
注意到这里相较于原来的区别是,当模型远离收敛的状态时,会相应的增大模型当中
ϵ\epsilon
ϵ
的值,从而
增强模型的探索性
,使得算法更快的收敛,但是对于同样的
ϵ\epsilon
ϵ
的值,这个模型会和原本的算法收敛到同样的价值函数,这样的算法有效的增大了每一次策略迭代的效率。 - 我发现是因为时间太晚了我把while看成了if…
-
但是上面的这个思路似乎可以再考虑考虑诶…(
一篇小论文?
)毕竟如果当前策略不是optimal的话,似乎随机策略会比当前最佳策略得到更大的value function?(当然这样的话需要对每一个节点定义一个
Δ\Delta
Δ
, 增大了一些存储的开销),这样的算法能否收敛还有待考证。如果有人用我的这个思路做出了论文,回来谢我一声就行233
注意一下上面这个图当中,相较于传统的算法,该算法给了less visited state一点点reward,使得算法能够更快的收敛,稍微感觉一下就能感受到,当n较大的时候,该算法和原本的算法收敛到相同的值。
- 注意n的选用增大了存储的开销,对于连续的情形需要某种方式推广,这里仅仅作为参考。
- 最后policy的选取采用对Q value函数加一个softmax,这样的处理比较常见,但是有的时候代码写得欢了容易忘记…
3.2 Some Dynamical Programming principles
3.3 Some Solution Methods
3.4 Inverse Reinforcement Learning
这是我完全不熟悉的一个领域,希望可以借这个机会进行一些了解。
4 Applications
4.1 Applications in Economic Modeling
-
这人有一个perfect idea,但是数学不行,如果他是法拉第,我想做做他的麦克斯韦233
http://www.math.chalmers.se/~ulfp/Review/fastslow.pdf
-
如果你想在论文中探讨从众行为,请参考这一篇文献:
http://repository.bilkent.edu.tr/bitstream/handle/11693/10926/10.1016-S0165-1889%2898%2900084-0.pdf?sequence=1
4.2 Bounded rationality
-
“There are thus cognitive limitations in learning, which can be seen as bounded rationality.”
https://www.nature.com/articles/s41598-019-52781-7
- 这一篇文献个人觉得非常的有趣,但是代码用的是C语言,其中用到的一些语法我不是特别熟悉,我将在下一篇blog当中简单介绍一下这一篇文献
https://david-abel.github.io/papers/dabel_philosophy_thesis.pdf
一个比Q-learning更具有探索性的算法
https://www.jmlr.org/papers/volume3/brafman02a/brafman02a.pdf
- 未完待续…