机器学习需要什么数学基础?
首先给大家介绍一下线性代数。线性代数最重要的功能之一就是将具体的事物转化为抽象的数学模型。不管我们的世界有多复杂,我们都可以把它转化成一个向量或者一个矩阵。这是线性代数的主要功能。所以在用线性代数解决表示问题的过程中,我们主要包括两个部分。一方面是线性空间的理论,也就是我们所说的向量、矩阵、变换。二是矩阵分析。给定一个矩阵,我们可以做所谓的SVD分解,也就是奇异值分解,或者做一些其他的分析。这样两部分* * *就同构形成了我们在机器学习中需要的线性代数。
那我们来说说概率统计。在评估过程中,我们需要使用概率统计。概率统计包括两个方面,一是数理统计,二是概率论。总的来说,数理统计很好理解,机器学习中用到的很多模型都是从数理统计中推导出来的。和最简单的线性回归、logistic回归一样,都是来自统计。在详细给出目标函数后,我们在实际评估这个目标函数时会用到一些概率论。当给定一个分布时,我们需要知道这个目标函数的期望值。平均起来,这个目标函数能达到什么程度?这个时候就需要概率论了。所以在评价过程中,我们会主要应用一些概率统计的知识。
最后说一下最优化理论。其实不言而喻,我们肯定是用最优化理论的。在最优化理论中,主要的研究方向是凸优化。凸优化当然有一定的局限性,但它的好处也是显而易见的,比如简化了这个问题的求解。因为在最优化中,我们都知道我们要求的是一个极大值或者极小值,但是在实际操作中,我们可能会遇到一些局部极大值、局部极小值和鞍点。凸优化可以避免这个问题。在凸优化中,最大值就是最大值,最小值就是最小值。但在实际中,尤其是引入神经网络和深度学习之后,凸优化的应用范围越来越窄,很多情况下已经不再适用,所以我们这里主要使用无约束优化。同时,神经网络中最广泛使用的算法和优化方法之一是反向传播。