微积分、概率和线性代数,分别在机器学习中扮演了什么角色?

  • 2020 年 2 月 26 日
  • 筆記

张雨萌

清华大学硕士毕业

机器学习书籍作者

人工智能领域吸引了许多有志者投身其中,也有许多非科班出身或从其他行业切换赛道转行而来的朋友。大家在学习的过程中经常会感觉学习曲线陡峭、难度较大,而机器学习之所以这么难,首要原因就是觉得数学知识需要得太多了!

数学体系非常庞大,但实际上,机器学习真正用得到的只占据了其中「很小的一部分」。学机器学习的数学,只要你具备高等数学的初级能力就可以。

一位外国网友在自学人工智能的100天期间,记录了自己的学习感受:

「人工智能没有魔法,一切只有数学。」 “在开始100天的学习之前,我就知道机器学习与数学有关,只是不知道关系有多大。对任何一个个入门者来说,学习微积分和线性代数都是非常有帮助的。而且幸运的是,不是数学专业的人也能够掌握的了这些知识,而且随着各种框架的进程和发展,机器学习全民化进程正在不断推进中。”

来源:https://medium.com/swlh/

机器学习是一个综合性强、知识栈长的学科,当然也需要大量的前序知识作为铺垫。其中最核心的就是:绝大多数算法模型和实际应用都依赖于以概率统计、线性代数和微积分为代表的数学理论和思想方法

比方说吧:

  • 想理解神经网络的训练过程,离不开多元微分和优化方法;
  • 想过滤垃圾邮件,不具备概率论中的贝叶斯思维恐怕不行;
  • 想试着进行一段语音识别,则必须要理解随机过程中的隐马尔科夫模型;
  • 想通过一个数据样本集推测出这类对象的总体特征,统计学中的估计理论和大数定理的思想必须得建立。

所以说,数学基础是机器学习绕不开的重要阵地。

01

机器学习中,三部分数学知识各自扮演什么角色?

1. 概率统计是利用数据发现规律、推测未知的思想方法

「发现规律、推测未知」也正是机器学习的目标,所以两者的目标高度一致。机器学习中的思想方法和核心算法大多构筑在统计思维方法之上。

2. 线性代数是利用空间投射和表征数据的基本工具

通过线性代数,我们可以灵活地对数据进行各种变换,从而直观清晰地挖掘出数据的主要特征和不同维度的信息。整个线性代数的主干就是空间变换,从构筑空间、近似拟合、相似矩阵、数据降维这四大板块,环环相扣地呈现出与机器学习算法紧密相关的最核心内容。

3. 微积分与最优化是机器学习模型中最终解决方案的落地手段

当我们建立好算法模型之后,问题的最终求解往往都会涉及到优化问题。在探寻数据空间极值的过程中,如果没有微分理论和计算方法作为支撑,任何漂亮的模型都无法落地。

因此,夯实多元微分的基本概念,掌握最优化的实现方法,是通向最终解决方案的必经之路。

02

机器学习中使用最多的线性代数有什么用?

作为利用空间来投射和表征数据的基本工具,线性代数可以灵活地对数据进行各种变换,从而让研究人员更为直观、清晰地探查到数据的主要特征和不同维度所需的信息。因此,线性代数的核心地位不言而喻,只有熟练运用好这个工具,才能搭建起攀登机器学习的牢固阶梯。

机器学习和数据分析中究竟会有哪些地方需要用到线性代数?

举例来说:

  • 量化描述日常生活中的事物,比如个体的不同属性、自然语言中的词语、句子等等,用于支撑我们所要进行的算法分析;
  • 将待处理的数据在不同维度的空间中进行变换处理,以找到最佳的观测角度,使得数据处理达到最好效果;
  • 从采样的海量数据中提取出主要特征成分,梳理出数据的主要脉络,从而指导你对一个文本进行主题建模,帮助你利用协同过滤技术成功给用户推荐最喜爱的菜肴;
  • 用数字表示图像,并且在不太影响观察效果的前提下,利用很小的存储空间近似达到原有图像的视觉效果;
  • 对采集到的观测数据进行拟合,帮助我们找到其中暗含的规律,指导对未知数据的预测;
  • 在实际的数据采样分析过程中,在无法找到精确解的情况下,探索到最接近真相的近似解;

这些实用而有趣的问题,我们在数据分析和机器学习中几乎时时都会遇到。