机器学习是一个综合性强、知识栈长的学科,需要大量的前序知识作为铺垫,最核心、最基础的就是他的绝大多数算法模型和实际应用都依赖于以概率统计、线性代数和微积分为代表的数学理论和思想方法。
- 面对一个统计样本,你想估计出你感兴趣的参数,极大似然估计以及有偏性无偏性你能不掌握?如果不巧碰上包含隐变量的场景,EM迭代的思想你可是躲都躲不开;
- 想进行语音识别?隐马尔可夫模型你不可不会;想对一句话进行词性标注?条件随机场你敢不懂?
- 在进行贝叶斯推断的时候,如果对马尔科夫链蒙特卡洛方法等近似推断一无所知,可能一个复杂的概率分布就让你举步维艰;
- 对时间序列进行预测,或许卡尔曼滤波、粒子滤波对你来说是一个好的选择;
- 进行样本分类、聚类这些常规操作时,逻辑回归、高斯判别、高斯混合等各种模型都应该如数家珍;
- 对高维数据进行降维分析,提取和聚焦他的主成分,背后就是线性代数中空间的概念和矩阵分解的技巧;
- 想将待处理的数据在不同维度的空间中进行变换处理,以寻找到最佳的观测角度,使得数据处理达到最好的效果,矩阵的相似变换是不是得好好理解?
- 想在不太影响观察效果的前提下,利用很小的存储空间就能近似的达到原有图像的视觉效果,利用矩阵进行图像的数字表示和变换处理是基础之中的基础;
- 想理解神经网络的训练过程,想获取复杂函数的最值,离不开梯度下降,最小二乘法以及误差反向传播的概念以及多元微分和优化方法;
在进入到机器学习的数学基础这部分学习之前,我们先来看看这三部分数学知识在机器学习中各自扮演着什么样的角色,并梳理一下学科的内在逻辑。
第一:概率统计是利用数据发现规律、推测未知的思想方法
「发现规律、推测未知」也正是机器学习的目标,所以两者的目标高度一致。机器学习中的思想方法和核心算法大多构筑在统计思维方法之上。本专栏介绍的核心概率思想和基础概念将围绕着条件概率、随机变量、随机过程、极限思想、统计推断、概率图等内容展开。
第二:线性代数是利用空间投射和表征数据的基本工具
通过线性代数,我们可以灵活地对数据进行各种变换,从而直观清晰地挖掘出数据的主要特征和不同维度的信息。整个线性代数的主干就是空间变换,我们将从构筑空间、近似拟合、相似矩阵、数据降维这四大板块,环环相扣地呈现出与机器学习算法紧密相关的最核心内容。
第三:微积分与最优化是机器学习模型中最终解决方案的落地手段
当我们建立好算法模型之后,问题的最终求解往往都会涉及到优化问题。在探寻数据空间极值的过程中,如果没有微分理论和计算方法作为支撑,任何漂亮的模型都无法落地。因此,夯实多元微分的基本概念,掌握最优化的实现方法,是通向最终解决方案的必经之路。
开始之前学习,我们需要先了解我们学习的特点和需要那些准备:
首先,我们会集中力量紧紧围绕机器学习核心算法中所涉及到的数学知识展开介绍,做好精确打击。核心内容会结合好数学的本质内涵,用浅显易懂的语言讲透深刻的数学思想,构建起整个理论体系;
然后,我们还会加强基础知识与算法、应用案例之间的联系。 在讲解数学公式的内容和推导过程中会注重延伸到后续的算法应用场景,将其进行相互关联,形成学以致用的实践导向;
同时,我们会运用好python工具,做好和工程应用的无缝对接。本部分整个内容都以python语言为工具进行教学内容的实践,利用numpy、sympy、scipy、matplotlib、pandas等工具强化知识的理解、提升工作的效率;如果您之前还没有学习过Python的基础语法和上述的几个库的内容,请在进入本内容之前,完成Python基础内容的学习。