大数跨境
0
0

金融科技工具箱的开源课程:机器学习原理与经济金融研究应用

金融科技工具箱的开源课程:机器学习原理与经济金融研究应用 金科丛林
2024-01-25
1


王靖一,中央财经大学金融学院助理教授,北京大学数字金融研究中心特约研究员,曾任阿里巴巴研究院经济学家。北京大学金融学博士、理学学士,杜克大学访问学者。研究方向为金融科技、机器学习及因果推断等。承担本科生《大数据与金融》《深度学习与自然语言处理》、研究生《机器学习与智能金融》。在《管理世界》、《经济学(季刊)》、《金融研究》、Journal of Financial Stability、China Economic Review、等国内外知名期刊发表论文。主持国家自然科学基金一项。


主笔《中国个体经营户总量测算与新冠疫情冲击评估》系列研究报告,采用机器学习的方法精准地测度了个体经营户的总量与新冠对其带来的冲击,相关成果受监管部门与权威媒体高度重视。使用因果推断相关方法,定量测算某即时通信软件对某电商平台链接封禁带来的损失,推进“互联互通”的落地实现。2019年在B站推出《金融科技工具箱1》课程,讲解Python编程、爬虫、数据可视化与自然语言处理等技术在经济金融研究中的实践应用,迄今已获得18.5万播放,为B站“金融科技”词条搜索结果首位。


*注:本《工具箱2》课程和《工具箱1》不存在先修关系,大家可以放心从《工具箱2》开始学习。




课程推介:


《金融科技工具箱2:机器学习原理与经济金融研究应用》是一门什么样的课,或许可以用“一五三二”四个数字来说清楚,即一个核心问题、五种主要算法、三类目标受众、两门后续规划。




扫描二维码即可观看课程


一个核心问题:面向经济金融教学的机器学习课程,应该是什么样子的?



说一句略显夸张的话,这个问题我可能想了十年,只不过头五年是一个从计算机本科转向金融学专业的博士生,两年是一个负责相关课程教学的青年教师,又两年去互联网大厂的一线实战了一番,在这第十个年头整,回到学校,交出了这样一份答卷:应该覆盖哪些算法,应该讲解何种深度。


一个自然而然的质疑是:线上已经有种种一流资源,直接去学不好么?吴恩达盛名已久,斯坦福的一套课程是里程碑式的高峰,林轩田、李宏毅两位老师也使得中文世界同样存在优秀的课程,李沐的书和课程深入浅出又紧邻实践……诚然,这些资源的优秀自不用多言,提到他们也着实因为我自己就是这样一点点学上来的,有志钻研的本科生、博士生也免不了去躬身赴局,但是对于一个尚不了解这个领域的经济学类同学,如何去最有性价比地入门机器学习,上面的课程可能并不满足,这便是本门课程所要追求的方向。


如何提供最优性价比的机器学习入门课程?我们进一步地把这个大问题拆解成三个小问题。


首先是数学的深度。本课程的一大特色,也是准备时的一大挑战,就是在尽可能避免公式推导的前提下把算法原理讲明白。诚然在机器学习的世界数学是重要的、核心的,也是决定一个研究者的上限的,但是如果在最初阶段就过分苛求数学的严谨与完美,那么不仅会大大提高入门的难度、吓退许多人,更可能造成未知全貌而纠结于细节导致事倍功半。我们使用图示、举例、比喻等等手段来力图让初学者能够较为容易地理解算法并对整个体系有一个全面感知,同时又给出进一步学习的方式方法——如果真的热爱数学,那么一本ESL一沓草稿纸可要比看老师在黑板白板上笔走龙蛇快乐的多,也有收获的多。


其次是和经济学本身内容的衔接相容。一方面,经济学类的学生本身已经经历了计量经济学、实证策略等课程的学习,一些过于“幼稚”的算法和明显不适用于我们所面临问题的算法,其实并不应该再被提及;线性回归既提供了一个很好的起点,又是一个让大家分清不同场景不同目的下选择的分叉点。另一方面,我在进行教学时最大的一个担心就是,对于那些学了计量就有点“握着锤子看谁都像钉子”的学生而言,机器学习又给了他们一套电锯电钻,无节制的滥用和对计量误解式的轻视可能造成非常糟糕的后果。课堂上总有一些学生说学过机器学习云云,我喜欢用一个幼稚的问题来“验验成色”:为什么计量里面一般不用ridge或者lasso?但很让人心痛的是,很多学生就是一脸茫然而后变脸正色之后胡扯一番。


最后是避免落入另一个极端:培训班式的案例填鸭。《金融科技工具箱1》是我2019年做的课程,迄今在B站已经有了19万的播放,那时讲经济学金融学中的Python、文本分析、机器学习的人还很少,而近几年类似课程雨后春笋,常见的一种形式就是或线下或线上的四五天的培训班,从Python安装一路讲到深度学习,基本上每个算法配合一个玩具数据集,一段代码解释一下调的什么包,选的什么超参数。虽然我不认为经济学类的本科生、研究生以业界为导向的学习需要深究数学、底层实现,但是我绝不想自己的学生成为一个从工具书里复制黏贴的纯调包侠。调包不丢人,但是不知原理、不知算法世界整体面貌、缺乏一些基本信念的调包,是可惜且危险的。



五类算法。



本课程主要覆盖了线性回归、支持向量机、集成学习、特征工程、深度学习五类算法。聚类等无监督算法没有涉及,因为这已经在第一代课程中有所涉及;贝叶斯相关算法也全部被舍弃:一方面从计算机科学的视角来看,贝叶斯相关的算法已然式微;另一方面,一些经济学的细分研究领域贝叶斯方法依然重要,那么就在需要时由深耕该领域的老师再做讲解。


线性回归是我们所讲解的第一个算法,正如前文所说,这是经济学类同学熟悉的起点,也是比较计量经济学和机器学习的一个很好的交叉点,与其说再去介绍这个基础算法,不如说是借用这个老朋友来引入样本内与样本外、正则化等在机器学习中举足轻重的概念。


支持向量机一章是实践“去公式化”的一个集中体现,这个以优美数学支撑著名的算法在整个讲解过程只用到了一个颇不严肃的等式以方便表达,但我们依然讲明白了核方法、软间隔以及支持向量机回归。同时,本章介绍了“维度诅咒”、“没有免费的午餐”和“奥卡姆剃刀”三条贯穿机器学习的基本信条。这里需要说明一下的是,虽然深度学习盛行的时代下,SVM被普遍唱衰,但是其天然的白盒性质与高维中的选择能力,对于金融应用,仍然是重要的——确实再去纠结那些复杂的推导显得得不偿失,但我们只用一个半小时就把原理说明白了。


接下来三章介绍了决策树、随机森林、AdaBoost和梯度下降树。这一类算法以其良好的可视化、高度的灵活性以及优秀的实践的成绩在深度学习时代仍然占有一席之地,同时对于大多数结构化数据,Boosting类算法往往能取得更好的结果,更不用说是在数据相对不足的经济、金融领域。


后续三章的特征工程、度量标准和训练流程也是本课程的一个特色所在:一般情况下他们并不会出现在计算机正统的校园课程中,因为他们太偏实践,太low了。但实际上如果我们想要把学生送到数据科学家这样的职位,这三个环节的内容其实是举足轻重的。特征工程会介绍缺失值处理、编码化、数据变形、重要性筛选、WOE与IV;度量标准扩展了R2之外的评估标尺,以在合适的情景下选择合适的工具;训练流程介绍了超参数的搜寻技巧、数据分割与数据泄露的避免。


之后的内容则是深度学习的入门。关于深度学习,还会有约16小时的另外一门课程,甚至本课程的目的之一就是让选修深度学习的同学有一个自学统计学习的好资源,而这里的深度学习则是想要满足不再想深挖这一领域的同学“初窥门径”的需求。对于浅层神经网络、卷积神经网络、循环神经网络、自注意力模型,我们有一个基础性的介绍,而对于强化学习、生成模型、Transformer和BERT则并没有时间展开,对这部分期待的同学,辛苦再等半年,也可以留意康内尔大学Will Cong教授和合作者的一系列最早开发强化学习和Transformer在金融应用的前沿研究。他们发明的面板树模型功能强大又天然具有白盒属性,也值得学习。


在介绍这些算法之前,第一章的内容其实是一个总起性质的背景介绍,我们简单回顾了人工智能的历史,言史自是想鉴今,虽然大家总觉得这一次AGI志在必得,但我总习惯一种最的悲观的乐观,时刻准备从头再来;我们给出了“机器学习”的概念模型,到底是在做什么,并在后续课程中不断将这个模型从蓝图变为实际;我们也介绍了机器学习在经济金融研究中的几个应用方向:预测能力、非结构化数据、因果推断与模型推导。


在最后的“大轴儿”,则是大语言模型。如果对于课程质量或者难度有所怀疑那么不妨先听听这一章,讲解的内容是当今最前沿却又最泥沙俱下的,受众预设是完全不了解机器学习甚至还没有学过概率统计、计量经济学的大一小朋友。我们讲解了GPT是做什么的、怎么训练的、优势与弱点是什么、如何更好地使用ChatGPT、GPT带来的宏观经济冲击以及中国的大语言模型,倒数第二张PPT也再一次回答了那个问题,“为什么还要再开一门课”,毕竟你永远不可能期待台大的老师会在PPT里放那张照片。



三个受众人群:本科生、硕士生和已经工作的朋友



对于经济金融类的本科生来讲,我们的目标有两个,其一是给他们一个正确的、有趣的入门,我们希望他们在接触机器学习的最开始有一个愉快的体验,产生兴趣,能够吸引一些人产生深挖探究的欲望,同时这些知识不因趣味与去公式化而产生错误。另一个是使其在保研、申请中能够有一些独特优势,毕竟现在这个行业有多卷,大家都不由地倒吸了一口凉气——所以我们最终的考核方式一定是自驱地完成一个实践研究任务,而不是去背书考卷子。


对于经济金融类的硕士生来讲,则显得更为紧迫:首先真正的学习时间可能只有一年,其次所面对的市场更加内卷,最后机器学习这东西已经不新鲜了。那么我们能做的就是对于本课的内容作自学要求,在课堂上直接讲2小时*8的深度学习,后半学期的8节课,安排业界讲座和项目的汇报迭代。传统机器学习这部分我可能不再有机会在课堂上讲,但是讲机器学习时我需要学生对机器学习有一个基本的对齐,那么这个课本身就是不二之选。


对于已经工作的朋友,如果想要知道机器学习在干什么,哪些可用,新来的同事有没有在忽悠自己,那么本课绝对是一个很好的抓手。因为就像我们之前说的,这里不用担心公式,也不直接钻到代码里,而是把原理讲清楚,那么自然不怕被人忽悠也有了忽悠别人的可能。这里就涉及另外的一个问题:为什么要把这个课程公开?之前课程发布时很多券商、基金的朋友说他们在看,甚至领导也在看,甚至一次出去开会时,证监会的一位处长过来跟我说你就是在网上讲课那个吧……金融科技、科技金融等等专业好不热闹,作为老师需要为自己学生的就业和深造想更多的办法,那么把课程公开出来,承诺在课堂上我们讲的只会在这之上,那么多多少少,对于就业市场的信息不对称性,该有一些帮助。


自然,也有很多朋友或许不适合本课程,一则是计算机科班想要转行,特别是投身量化的,量化基金在怎么搞,我是真的不大清楚,快可能比准更加重要;二则是在现在迫切寻找下一份工作的朋友,这个时候最为有用的真的是那些“填鸭式培训”和面试必考XX推导;三则是博士生和科研同行,善意的提醒,虽然我没有讲错的东西,但是真的有没讲的地方,那些对学生们找工作、升学不重要,但却可能是前沿研究所必须的。



两门后续规划:深度学习与大语言模型概论



在下学期我应该会开深度学习的课,有八周的时间可以发挥。课程内容已经列好,这个寒假三成的时间估计要花在准备这门课程的代码上面了,毕竟深度学习只纸上谈兵那没有意义,要让他们能在colab上面跑代码。这里分享出来还是欢迎拍砖、敬请期待,也更请业界大佬多关注我们的学生:

01

简单神经网络:在本版本基础上,详细展开BP算法和SGD;word2vec 向上回溯bow的内容展示end 2 end的思想;扩展doc2vec,展开negative sampling,虽然实践用不到了,但思想很好。也可以讨论结合为了效用可解读性兼顾结合work embedding和topic modeling的textual factors (Cong, Liang, & Zhang, 2018).

02

卷积神经网络:在本版本基础上,LeNet的手写体识别还是要回溯去讲一讲,再次强化end2end的思想;VGG和GoogleNet也要再丰满一些,虽然很丑,但还是有以史为鉴的价值;对于Resnet,要讲点数学上的机制保证了。

03

循环神经网络:在本版本基础上,一方面是补充那些千奇百怪的GRU和LSTM应用,同样是“以史为鉴”,以防止他们对股价序列搞出些奇奇怪怪的考古创新;另一方面则是把seq2seq好好讲一讲

04

强化学习:这部分重做

05

自注意力模型与Transformer:自注意力模型可能需要一个更形象化的引入,Transformer大概要重做。并更详细介绍最早为金融订制的大模型AlphaPortfolio. 

06

BERT与GPT:这部分也要重做

在24年的秋季学期,我应该会开一门面向于0基础本科生的《大语言模型概论》,也会要约相关学者客串讲座。大家,敬请期待!



【声明】内容源于网络
0
0
金科丛林
聚焦国际前沿研究,经济思想应用,行业发展动态,政策法规洞察,学研信息共享,学者领袖沟通。共推数字化,大数据,人工智能,Web3等在数字经济,科技金融,普惠可续领域的知识积累和创新应用。(康奈尔大学丛林教授数济金科实验室)
内容 140
粉丝 0
金科丛林 聚焦国际前沿研究,经济思想应用,行业发展动态,政策法规洞察,学研信息共享,学者领袖沟通。共推数字化,大数据,人工智能,Web3等在数字经济,科技金融,普惠可续领域的知识积累和创新应用。(康奈尔大学丛林教授数济金科实验室)
总阅读4
粉丝0
内容140