问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

机器学习的数学基础

创作时间:
作者:
@小白创作中心

机器学习的数学基础

引用
CSDN
1.
https://blog.csdn.net/yktssg/article/details/143252762

机器学习是一种研究算法和统计模型的方法,计算机通过模式和推理来执行特定任务。它从样本数据中构建数学模型,该样本数据可能属于监督学习或无监督学习。它与计算统计学密切相关,计算统计学是统计学和计算机科学之间的接口。此外,线性代数和概率论是构成机器学习基础的两种数学工具。

1. Math for Machine Learning

机器学习是一种研究算法和统计模型的方法,计算机通过模式和推理来执行特定任务。它从样本数据中构建数学模型,该样本数据可能属于监督学习或无监督学习。它与计算统计学密切相关,计算统计学是统计学和计算机科学之间的接口。此外,线性代数和概率论是构成机器学习基础的两种数学工具。

一般来说,统计学是一门涉及收集、分析和解释数据的科学。数据是可以分为定量或定性的事实和数字。从给定的数据集中,我们可以预测预期的观察值、两次观察结果之间的差异以及数据的样子,这有助于更好地做出决策。

描述性统计和推断性统计是数据分析的两种方法。描述性统计将原始数据汇总为信息,通过该信息可以获取数据的共同预期和变化。它还提供了图形方法,可用于可视化数据样本和对观察的定性理解,而推论统计是指从数据中得出结论。推论是在概率论的框架下进行的。因此,理解数据和解释结果是机器学习的两个重要方面。

在图中也可以直观的看出他们的关系,柱子上分别是回归分析、降维、密度估计、分类,底下的地基分别是向量微积分、概率与分布、优化方法,再往下就是线性代数、接解析几何还有矩阵分解。由这些一个个数学模块,堆砌了ML的大房子。

下面的篇幅主要为大家介绍几个重点且基础的部分:线性代数、矢量微积分以及概率与分布。

2. 线性代数

在机器学习中,线性代数是必不可少的基础工具之一,它为数据表示、模型设计、计算和优化提供了理论支持。线性关系也是最简单的形式,被 ML 算法广泛采用,例如线性回归、线性分类器、单个神经元由线性变换和非线性变换组成等等等等。

让我们展开来说说~

(1)向量

向量是一种可以与另一个向量相加,或与标量相乘,并且结果仍然是向量的对象。也是线性代数的基础元素。具体例子如下图:

图中所示:几何向量,多项式可以被看作是向量,实数空间 {R}^3 中的元素是向量。

(2)线性方程组

一个线性方程组由一组线性方程构成,其中每个方程都是关于若干个变量的线性组合。通常可以表示为:

其中:

  • x1,x2,…,xnx_1, x_2, \dots, x_nx1 ,x2 ,…,xn 是未知数。
  • aija_{ij}aij 是已知的系数,代表第 iii 个方程中第 jjj 个变量的系数。
  • bib_ibi 是已知的常数项。

对于该线性方程组,满足所有方程的向量 (x1,...,xn) 被称为该方程组的解。也就是说,找到的 (x1,...,xn) 使得每个方程的左边等于右边的常数项 bi。

我们可以将线性方程组矩阵表示法进行简化。

在机器学习和数据科学中,线性方程组有着广泛的应用,主要体现在以下几个方面:

  • 线性回归:在简单的线性回归模型中,我们试图找到一个线性方程来描述输入变量与输出变量之间的关系。通过求解线性方程组,可以找到最优的回归系数,使得模型能够更好地拟合数据。

  • 神经网络:在神经网络的训练过程中,每一层都涉及矩阵运算(线性变换),这些运算可以表示为一组线性方程。当使用反向传播算法计算梯度时,涉及线性方程组的求解。

  • 最小二乘法:最小二乘法广泛用于回归分析和数据拟合中,它的核心在于求解一个线性方程组,使得误差平方和最小化。可以通过求解线性方程组的伪逆得到回归系数。

  • 支持向量机(SVM):在SVM模型的优化中,通常需要通过求解二次规划问题来找到最优解,这个过程涉及到线性方程组的求解。

  • 降维(如主成分分析 PCA):在PCA算法中,利用协方差矩阵的特征分解进行降维,通常需要求解特征向量和特征值,这也是一种特殊形式的线性方程组。

(3)矩阵

定义一个矩阵 AA,该矩阵包含 m×n 个元素 aij,这些元素按照矩形排列,形成一个具有 m 行和 n 列的结构。

具体来说,矩阵 AAA 表示为:

其中 aij∈R,表示矩阵 A中第 i行第 j 列的元素为实数。

矩阵是一种线性代数中的数据结构,用于表示线性变换或线性方程组的系数,广泛应用于机器学习、数据科学等领域。

定义单位矩阵In ,它是一个 n×n 的方阵。单位矩阵的特点是对角线上元素为 1,其他位置的元素为 0。单位矩阵的形式为:

#单位矩阵在矩阵乘法中起到类似于数字 1 的作用:对于任意矩阵 A,如果 A 是 n×n的方阵,那么 A×In=A 和 In×A=A。

接下来还有一些矩阵基本变换性质、高斯消元求解等等这些数学知识,篇幅有限就不再赘述了,大家可以去翻翻线性代数的书,这门课程还是很重要的,大家一定要认真学。

3. 向量微积分

向量微积分(Vector Calculus)是一种处理向量场(向量函数)和标量场(标量函数)导数和积分的数学工具,它在多变量和高维空间的优化和分析中非常重要,尤其在ML里面进行目标函数的优化。

  • 许多机器学习算法通过优化一个目标函数来找到模型的最佳参数,这个过程通常涉及对一组参数进行求解,使得模型的预测误差最小化。常见的机器学习算法,如线性回归逻辑回归自编码器(Auto-Encoders)神经网络,都依赖于优化目标函数。

  • 优化目标函数时,通常要对参数进行调整,使得目标函数值达到最小(或最大),这在数学上是通过求解参数的最优值来实现的。

  • 为了有效地优化目标函数,我们需要计算梯度(Gradients)。梯度是目标函数关于参数的偏导数的向量,表示函数在参数空间中的变化率。

  • 梯度提供了目标函数的最速下降方向,帮助算法沿着目标函数的下降方向更新参数,从而快速逼近最优解。

  • 在机器学习中,许多优化算法(如梯度下降法)都依赖梯度信息来更新参数,从而使得模型更接近最优状态。

举一些小栗子:

#图中展示了泰勒多项式和泰勒级数的数学表达式,说明了如何用它们来近似或表示光滑函数。泰勒多项式提供了有限项的近似,而泰勒级数提供了无限项的精确表达。在机器学习中,泰勒展开可以用于梯度计算和复杂函数的近似(其思想就相当于是,用无穷多的坐标轴就可以表示任何维度上的坐标,而多种维度的函数按照一定的系数(相当于坐标值)加起来,理论上可以表示任何最高维度相同的函数),以降低计算复杂度。

这里还涉及到了偏导数和梯度的相关内容,这些大家在高数书里面可以查的到。而这些知识一起构成了ML里面大名鼎鼎的反向传播训练法和梯度下降法,简单来说,就是反向传播提供了梯度信息,梯度下降利用这些梯度进行优化。在神经网络的训练过程中,两者结合确保模型的参数朝着降低损失的方向不断更新。有兴趣的同学可以去查查资料,我后面的文章可能会专门出一期研究这个方法。

4. 概率与分布

概率分布(Probability Distribution)描述了一个随机变量取不同数值的可能性。简单来说,概率分布告诉我们一个随机事件发生的概率在所有可能结果中的分布情况。它在统计学和机器学习中非常重要,因为它为我们提供了一种数学方式来描述和量化不确定性。我来举两个例子说明其重要性:

  • 图模型(Graphical Models)

  • 图模型是用图来表示随机变量之间依赖关系的模型,如贝叶斯网络和马尔可夫随机场。概率分布在图模型中用于描述各个变量的联合分布和条件分布。

  • 图模型通过概率分布捕捉变量之间的复杂依赖结构,是许多机器学习和数据分析任务的基础。

  • 模型选择(Model Selection)

  • 在机器学习中,我们常常需要选择最适合的数据分布的模型。模型选择过程依赖于概率分布来度量模型的优劣,例如通过极大似然估计或贝叶斯推断等方法。

  • 概率分布帮助评估模型在观察到的数据下的表现,为模型选择提供了理论依据。

而在主流,概率主要有着两种解释

  • 贝叶斯解释(Bayesian Interpretation)

  • 在贝叶斯方法中,概率被解释为信念的程度。贝叶斯学派认为概率是主观的,代表了对事件发生可能性的信念,可以通过新信息更新这种信念。

  • 例如,使用贝叶斯定理更新参数的后验概率,以适应新的观测数据。

  • 频率学派解释(Frequentist Interpretation)

  • 频率学派将概率解释为长期频率,即在重复实验中某个事件发生的频率。例如,抛硬币多次后得到正面的频率接近 0.5。

  • 频率学派更关注观测数据,不考虑主观先验信息,在假设检验和统计推断中应用广泛。

#图中介绍了概率和随机变量的基本概念,包括样本空间事件空间概率的定义。

常见的概率又包括离散概率与连续概率,下图为一些资料,大家可以做个方向上的参考

而概率的统计又包括了三个重要内容

最后再给大家展示一组正负相关的散点分布。负相关时,点从左上到右下分布;正相关时,点从左下到右上分布。这些关系通过协方差或相关系数来量化。

  1. 一些小tips

本期文章主要以介绍为主,给大家作为一个科普的资料吧,真的想学的话看我这点仨瓜俩枣肯定是不够的,我写的内容也是简略版本,数学知识太多太复杂了,这期的内容真要展开写,20篇文章都写不完啊。

文章的文字部分基本手打,也有我自己或者网络的资料,如果有不对的地方大家可以去看看别的博主是怎么写的,但应该总的来说是大差不差。

但其实我自己感觉,现在这些数学部分完全可以靠代码处理,你不用去跟他死磕,实在算不明白就算了,写好代码机器会帮你算清楚的,你把原理弄懂应该就大差不差了(个人感觉QAQ)

好啦本期文章就到这里啦,下一期可能是数据结构的内容,这磁轴键盘打字有点费劲,实在是太灵敏了,打的我好难受qaq,所谓可能最近更新的没那么快了...

OK,祝大家生活愉快,学习顺利,拜拜~~~

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号