最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

机器学习的数学原理

网站源码admin0浏览0评论

机器学习的数学原理

现在大模型受到人们的广泛关注,大模型是神经网络的一种,而神经网络又是机器学习的一种,我们了解了机器学习的一般原理,才能更好地理解大模型的各种技术和特性。

而所谓的机器学习,就是指通过选择特定的算法对样本数据进行计算,获得一个计算模型,并利用这个模型,对以前未曾见过的数据进行预测。如果这个预测在一定程度上和事实相符,我们就认为机器像人一样具有某种智能,即人工智能。现在人们常说的大模型,也是指这个模型规模比以前的机器学习模型要庞大的多。

其实,机器学习的过程和人类的学习成长非常类似,也是经历一些事情(获得样本数据),进行分析总结(寻找算法),产生经验(产生模型),然后利用经验(模型)指导自己的日常行为。

机器学习与AI模型

机器学习的完整过程也是如此,利用样本数据经过算法训练得到模型,这个模型会和预测系统部署在一起,当外部需要预测的数据到达预测系统的时候,预测系统调用模型,就可以立即计算出预测结果。

因此,构建一个机器学习系统,需要有三个关键要素:样本、模型、算法。

样本

样本就是通常我们常说的“训练数据”,包括输入和结果两部分。比如我们要做一个自动化新闻分类的机器学习系统,对于采集的每一篇新闻,能够自动发送到对应新闻分类频道里面,比如体育、军事、财经等。这时候我们就需要批量的新闻和其对应的分类类别作为训练数据。通常随机选取一批现成的新闻素材就可以,但是分类需要人手工进行标注,也就是需要有人阅读每篇新闻,根据其内容打上对应的分类标签。

数学上,样本通常表示为:T = (x_{1},y_{1}),(x_{2},y_{2}),...,(x_{n},y_{n})

其中 x_{n}表示一个输入,比如一篇新闻;y_{n}表示一个结果,比如这篇新闻对应的类别。

样本的数量和质量对机器学习的效果至关重要,如果样本量太少,或者样本分布不均衡,对训练出来的模型就有很大的影响。就像一个人一样,见得世面少、读书也少,就更容易产生偏见和刻板印象。

模型

模型就是映射样本输入与样本结果的函数,可能是一个条件概率分布,也可能是一个决策函数。一个具体的机器学习系统所有可能的函数构成了模型的假设空间,数学表示是:

F = \{f | Y = f(X)\}

其中X是样本输入,Y是样本输出,f就是建立X和Y映射关系的函数。所有f的可能结果构成了模型的假设空间F。

很多时候F的函数类型是明确的,需要计算的是函数的参数,比如确定f函数为一个线性函数,那么f的函数表示就可以写为:y = a_{1}x + a_{0}

这时候需要计算的就是a_{1}和a_{0}两个参数的值。这种情况下模型的假设空间的数学表示是:

F = \left\{f | Y = f_{\theta}(X),\theta\in R^{n} \right\}

其中\theta\为f函数的参数取值空间,一个n维欧氏空间,被称作参数空间。

算法

算法就是要从模型的假设空间中寻找一个最优的函数,使得样本空间的输入X经过该函数的映射得到的f(X),和真实的Y值之间的距离最小。这个最优的函数通常没办法直接计算得到,即没有解析解,需要用数值计算的方法不断迭代求解。因此如何寻找到f函数的全局最优解,以及使寻找过程尽量高效,就构成了机器学习的算法。

如何保证f函数或者f函数的参数空间最接近最优解,就是算法的策略。机器学习中用损失函数来评估模型是否最接近最优解。损失函数用来计算模型预测值与真实值的差距,常用的有0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等。以平方损失函数为例,损失函数如下:

L(Y,f(X)) = (Y-f(X))^{2}

对于一个给定的样本数据集

T= \left\{ (x_{1},y_{1}),(x_{2},y_{2}),...,(x_{n},y_{n}) \right\}

模型f(X)相对于真实值的平均损失为每个样本的损失函数的求和平均值:

R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}{L(y_{i},f(x_{i}))}

这个值被称作经验风险,如果样本量足够大,那么使经验风险最小的f函数就是模型的最优解,即求\min_{f \in F}{\frac{1}{N}\sum_{i=1}^{N}{L(y_{i},f(x_{i}))}}

但是相对于样本空间的可能取值范围,实际中使用的样本量总是有限的,可能会出现使样本经验风险最小的模型f函数并不能使实际预测值的损失函数最小,这种情况被称作过拟合,即一味追求经验风险最小,而使模型f函数变得过于复杂,偏离了最优解。这种情况下,需要引入结构风险以防止过拟合。结构风险表示为:

R_{srm}(f)=\frac{1}{N}\sum_{i=1}^{N}{L(y_{i},f(x_{i}))+\lambda J(f)}

在经验风险的基础上加上\lambda J(f),其中J(f)表示模型f的复杂度,模型越复杂,J(f)越大。要使结构风险最小,就要使经验风险和模型复杂度同时小。求解模型最优解就变成求解结构风险最小值:

\min_{f \in F}{\frac{1}{N}\sum_{i=1}^{N}{L(y_{i},f(x_{i}))+\lambda J(f)}}

小结

因此,机器学习的数学原理就是:给定模型类型,也就是给定函数类型的情况下,如何寻找使结构风险最小的函数表达式。由于函数类型已经给定,实际上就是求函数的参数。各种有样本的机器学习算法基本上都是在各种模型的假设空间上求解结构风险最小值的过程,理解了这一点也就理解了各种机器学习算法的推导过程。

由于计算机没有办法直接通过解析计算得到需要的函数表达式,因此必须使用数值计算的方式求函数表达式,也就是将大量的样本数据带入数值计算算法迭代计算函数的参数,一个普通的机器学习模型的参数可能有数百万甚至更多,训练的样本数据也非常庞大。目前的大模型可以说是机器学习的高阶形态,DeepSeek-V3的参数有6000多亿,训练数据使用了14万亿个token。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论