张雨萌
清华大学硕士毕业
机器学习书籍作者
人工智能领域吸引了许多有志者投身其中,也有许多非科班出身或从其他行业切换赛道转行而来的朋友。大家在学习的过程中经常会感觉学习曲线陡峭、难度较大,而机器学习之所以这么难,首要原因就是觉得数学知识需要得太多了!
数学体系非常庞大,但实际上,机器学习真正用得到的只占据了其中「很小的一部分」。学机器学习的数学,只要你具备高等数学的初级能力就可以。
一位外国网友在自学人工智能的100天期间,记录了自己的学习感受:
「人工智能没有魔法,一切只有数学。」 “在开始100天的学习之前,我就知道机器学习与数学有关,只是不知道关系有多大。对任何一个个入门者来说,学习微积分和线性代数都是非常有帮助的。而且幸运的是,不是数学专业的人也能够掌握的了这些知识,而且随着各种框架的进程和发展,机器学习全民化进程正在不断推进中。”
来源:https://medium.com/swlh/
机器学习是一个综合性强、知识栈长的学科,当然也需要大量的前序知识作为铺垫。其中最核心的就是:绝大多数算法模型和实际应用都依赖于以概率统计、线性代数和微积分为代表的数学理论和思想方法。
比方说吧:
所以说,数学基础是机器学习绕不开的重要阵地。
01
机器学习中,三部分数学知识各自扮演什么角色?
1. 概率统计是利用数据发现规律、推测未知的思想方法
「发现规律、推测未知」也正是机器学习的目标,所以两者的目标高度一致。机器学习中的思想方法和核心算法大多构筑在统计思维方法之上。
2. 线性代数是利用空间投射和表征数据的基本工具
通过线性代数,我们可以灵活地对数据进行各种变换,从而直观清晰地挖掘出数据的主要特征和不同维度的信息。整个线性代数的主干就是空间变换,从构筑空间、近似拟合、相似矩阵、数据降维这四大板块,环环相扣地呈现出与机器学习算法紧密相关的最核心内容。
3. 微积分与最优化是机器学习模型中最终解决方案的落地手段
当我们建立好算法模型之后,问题的最终求解往往都会涉及到优化问题。在探寻数据空间极值的过程中,如果没有微分理论和计算方法作为支撑,任何漂亮的模型都无法落地。
因此,夯实多元微分的基本概念,掌握最优化的实现方法,是通向最终解决方案的必经之路。
02
机器学习中使用最多的线性代数有什么用?
作为利用空间来投射和表征数据的基本工具,线性代数可以灵活地对数据进行各种变换,从而让研究人员更为直观、清晰地探查到数据的主要特征和不同维度所需的信息。因此,线性代数的核心地位不言而喻,只有熟练运用好这个工具,才能搭建起攀登机器学习的牢固阶梯。
机器学习和数据分析中究竟会有哪些地方需要用到线性代数?
举例来说:
这些实用而有趣的问题,我们在数据分析和机器学习中几乎时时都会遇到。