如何搞定做机器学习研究需要的数学?

做机器学习需要多少数学基础?这是很多初学者最关心的问题,答案也众说纷纭。
有人说,概率论线性代数要预先精通;有人说,微积分要懂一点;也有人说,没必要特地去补;甚至有人专门写了绕开数学的深度学习入门教材……
斯坦福大学计算机系学生、斯坦福ai实验室研究助理(ra)vincent chen,最近在硅谷最牛孵化器y combinator官方博客上发表的一篇文章,就专门深入探讨了里这个问题。
vincent想要说的是,具体问题具体分析。
他跟领域内的很多工程师、研究人员、教育工作者,讨论了这个问题,再加上自己的经验,得出了这样的结论:解决不同问题,可能需要不同程度的直觉 (intuition) ,所以首先要知道自己的目标是什么。
构建产品和做研究,需要的数学就不太一样。
不过,还是要先从大家都差不多的入门阶段说起。
入门须知
熟悉线性代数/矩阵运算,是机器学习的软性前提。也就是说,最好懂,不强制。
当然,学习数学最好的环境还是学校。没有了学校里的压力、竞争和交流,就要找其他方式来补充:学习小组、学习型午餐会都是不错的形式。
想要在工作中学数学,编程最好也会一点,它会成为你的学习工具。
要知道,在机器学习任务中,数学和代码是交织在一起的。代码需要数学上的直觉,甚至和数学符号的语法有共通之处。
举个例子:练习手动实现损失函数(loss functions)或者优化算法(optimization algorithm),就是真正理解背后概念的好方法。
再举个比较实际的例子:在神经网络里手动为线性整流函数(relu)实现反向传播,就涉及用微积分里的链式法则来有效计算梯度,而运用链式法则,需要用relu的梯度乘以一个导数。
最开始,要先将relu激活函数可视化:
计算梯度(就是看起来的斜率),要可视化一个阶梯函数,用指示函数表示:
现在的数据科学框架能直观地把数学运算翻译成可读的代码,numpy就是其中之一。对于上面这个任务,它就可以将激活函数(蓝色曲线)用代码表示出来:
relu = np.maximum(x, 0)
梯度(红色曲线)也可以:
grad[x < 0] = 0
只有亲自求了一遍导数,才能理解这行代码。
掌握基础之后,就可以根据你的实际需求自定义学习方向了。
造机器学习产品需要的数学
作为一名学生,vincent通过和多名机器学习工程师聊天,了解了他们在debug时最有用的数学知识。
总的来说,统计学和线性代数总是有用的,但面对不同的问题又有不同的需求。
那么,怎么确定该精修哪些数学知识呢?
首先,要定义你的系统。
想写代码为系统建模,可用的资源多得是。在构建系统的过程中,要想着这些问题:
系统的输入/输出是什么?
怎样准备适合系统的数据?
怎样构建特征、处理数据能让模型更好地泛化?
怎样为你的问题定义合理的目标?
然后,在你用到数学的时候,去学习它。
一头扎进机器学习里,你就会发现自己会卡在某些步骤。卡住的时候,该查什么呢?你的权重合理吗?你的模型为什么用这种损失就不收敛?
这时候,就需要对数据做假设,换个方式约束优化,或者换个算法试试。于是在这个建模或者debug过程里,你会发现懂数学对做决定有很大帮助,比如说要选择损失函数和评价指标,数学就是个好工具。
这可以说是一种“按需”学习的方法了。
做机器学习研究需要的数学
如果是做研究的话,就需要广泛的数学基础,来给你铺路。
现在,很多研究都是在现有系统之上进行的,缺少对基础的理解。
这样还不够,研究者应该贡献更基本的模块。比如说,可以像深度学习教父geoff hinton提出的胶囊网络(capsule networks)一样,重新思考卷积神经网络(cnn)这种基本模块。
要想在机器学习领域做出这样的成就,就需要问一些基础问题,也就需要对数学的深刻理解。《神经网络与深度学习》教材的作者michael nielsen称之为“带着玩心的探索”。
这个探索过程中,可能会在一个问题上卡几个小时,可能需要换个角度去看问题。不过,只有这样,科学家才能超越直观想法和架构的组合,提出深刻、有见地的问题。
和构建产品不一样的是,机器学习研究里的基础思考不是“按需”进行的,想要以高级的数学框架所要求的广度来思考、批判性地解决问题,需要耐心学习。
不要怕
总的来说,数学可能是有点可怕,你会卡在一个又一个地方。但是,这本来就是数学学习很重要的部分。
不要害怕。
实际上,数学好的人都要花好多时间来练习,于是,他们对这种做数学“被卡住”的感觉就习以为常了。想要学好数学,首先需要建立学生的心态。
想要习以为常,当然需要付出时间和努力,加油~

区块链的“洪荒之力”如何释放出来
iphone13和iphone12区别 苹果12跟13配置区别
2018年柴油机行业发展现状分析
生病了,吃几个小机器人直接把药送到体内需要的地方
三家欧洲车厂表示将添加阿里巴巴的智能语音助理功能
如何搞定做机器学习研究需要的数学?
半导体市场景气回归,单晶圆清洗机占据市场主流
M97系列可编程直流电子负载的主要特点
上海国际消费电子技术展
新的人工智能系统只需几个人工神经元就能控制一辆汽车
LM358封装_LM358封装图_LM358封装尺寸及外形图
欧司朗推出适用于行动电话的强力LED闪光灯
如何实现普源示波器的波形放大?
红外线接近开关电路图
NS4159AB/D类双模、防失真、5.5W单声道音频功放
大功率LED灯条散热隔热专用导热双面胶
物联网全栈教程-从云端到设备(三)
手把手教你DIY太阳能无线充电器
漫谈广域网边缘技术面临的挑战和解决方案
实现逆势增长!长电科技第三季度营收达247.8亿元