线性代数在机器学习中的应用实例

线性代数是 AI 专家必须掌握的知识,这已不再是个秘密。如果不掌握应用数学这个领域,你永远就只能是「门外汉」。当然,学习线性代数道阻且长。数学,尤其是线性代数常与枯燥、复杂和毫无意义的事物联系起来。不过你还可以另辟蹊径。

线性代数的本质;

线性代数的真实应用场景;

线性代数可用于 AI、ML 和数据科学的原因;

学习线性代数最有效的方法。

给初学者的解释:线性代数的本质

第一次接触线性代数的人,通常会觉得线性代数长这样:

基于边界条件且 qi = q (xi),得到线性方程组:

具体来说,这个系统可以通过扫描法「正面」解决,但是在实际模型中,系统变得更加复杂。线性代数正好发挥了作用: 用 A · y = b 的简短形式描述系统(这是矩阵乘法的由来!); 了解是否有解决方案,以及解决方案是否唯一; (在本例中)使用简单公式 y = A-1 b 来建模,将 A 看做一个数字; (引入计算数学)建立用于求解线性方程组的有效数值方法。 这只是从数学建模的角度看线性代数,还有量子力学、统计学等多个角度。 再以著名问题为例,即某网站(或整个互联网)的「网页引用排名」问题。 假设有 N 个页面,每页可能包含到其他页面的链接。我们的任务是确定哪些页面最重要。如何准确地衡量「重要性」是任务的一部分。我们将以非负数(权重)来定量表示。先假设:此页面的链接越多,其权重就越大。这种方法有个缺点:我们没有考虑链接页面的权重。一个链接权重越大,其意义也越大,这是合乎逻辑的。考虑到这些因素,我们选择以下模型:

其中 a_ij 是第 i 页到第 j 页的链接数,除以第 j 页的链接总数。该公式可以理解为:第 i 页的权重等于第 j 页的权重与从第 j 页到第 i 页的链接之比的乘积之和。因此,我们将问题简化为线性方程组。此外,权重向量 p 是矩阵 A 的特征向量,对应特征值为 1:p = Ap Frobenius-Perron 定理保证了该向量的存在(严格来说,矩阵 A 略有修改),通过简单的迭代即可找到。 因此,线性代数是一套非常通用的思想和工具,可以应用于各个领域。但是「天下没有免费的午餐」,通用性的代价是:某些定义和定理有着毫无必要的复杂度。不过事实并非如此:实际上,许多抽象目的是简化而非复杂化。「如果它看起来像鸭子,像鸭子一样游泳,像鸭子一样嘎嘎叫,那么它可能就是鸭子」这实际上就是一种抽象,如果你习惯了这种抽象概念,将会非常方便。线性代数也是一样。为了更具体地说明这一点,让我们简短讨论下内部来补充一下「外部检查」。

一些你需要知道的线性代数理论

线性代数研究的是向量空间以及将一个向量空间映射到另一个向量空间的函数。我们主要考虑线性函数(对于任何常数α和β以及向量 x 和 y,满足关系 f (α · x + β · y) = α · f (x) + β · f (y)。也有非线性的函数(例如二次方程),不过首先你需要知道什么是向量(以及向量空间),这不像看上去那么简单。

教材和课程中通常只是给出一个抽象的定义,这一定义又常常由 8 点构成。有时一个矢量空间被视作一个使用加号的阿贝尔群,该阿贝尔群满足四大群公理,并定义了标量乘法。但是对于刚开始研究线性代数的人来说,理解这些着实困难,学习一些具体示例并进行类比要容易得多。8 条的定义仅仅是这种类比的形式。所以我们举个例子吧: 向量,是我们每个人都熟悉的有向线段,多个有向线段可以组成一个向量空间。回忆一下多项式,它们可以进行通项相加以及系数相乘。请注意:从代数的角度来看,这些多项式的加法运算以及多项式与系数的乘法运算,与有向线段运算规则是完全一致的。例如,等式 x + y = y + x(加法交换性)对有向线段和多项式均成立。因此,多项式的集合是向量空间,而多项式就是向量。

现在,我们对坐标有了严格的定义,但重点不只是这个:在此过程中,我们遇到了更基本(更易忽略)的线性组合和线性相关性的概念。而且我们还了解到,在 n 维线性空间中,最多只能有 n 个线性无关向量。这是线性代数的基础之一。 我们知道的仍只是「冰山一角」。但是现在我们可以解决那些显然与线性代数无关的问题了。例如:给定多项式 p 和 q;是否在两个变量 R = R (x, y) 中存在多项式,使得对于所有 t 都有 R (p (t), q (t)) = 0? 「示例」基本结束了,但仍然有必要讲讲研究线性代数的各种方法。我简短回顾一下自己的经历,提出几点建议。

最重要的问题:AI 真的需要线性代数吗?

这取决于你的目的。如果你只想把人工智能和机器学习的工具当作一个黑匣子,那么你只需要足够的数学计算就可以确定你的问题是否符合模型使用。 如果你想提出新想法,线性代数则是你必须要学习的东西。并不是说你需要学习有关数学的所有知识,这样会耽搁于此,失去研究其他更重要的东西(如微积分/统计)的动力。 你的目标应该是使用线性代数来找到点与点之间的最短路径。以下是你所需要掌握的知识列表: 标量、向量、张量:求模(大小)、向量夹角(点积或内积)、一个向量在另一向量上的投影以及依据自定义的轴向量对向量的描述和表示 矩阵:矩阵可以将向量的描述从一组基(一组坐标轴)转换为另一组基。例如,找出如何将映射应用到图像上并处理图像。 矩阵中的长度平方采样、奇异值分解、低秩逼近是数据处理中广泛采用的几种方法。 SVD 通常用于主成分分析(PCA)中,而主成分分析又被广泛用于特征提取以及了解特征或属性之间的关系对于结果的重要性上。

线性代数在机器学习中的应用实例

以下是线性代数的一些具体示例:

数据集和数据文件 例如在机器学习中,将模型拟合到一组由数字组成的类似表格的数据集上,其中每一行代表一个观测结果,每一列代表该观测值的特征。你发现相似之处了么?这些数据实际上是一个矩阵:是线性代数中的一种关键的数据结构。

图像和照片 你处理的每个图像本身就是一个表结构,对于黑白图像,每个单元格中有一个宽度和高度以及一个像素值,而彩色图像每个单元格中有三个像素值。照片是线性代数矩阵的另一个例子。

独热编码 独热编码是分类变量中的一种很流行的编码。独热编码是创建表来表示变量,其中每一列表示一个类别,每一行表示数据集中的一个样本。

线性回归 线性回归是统计学中描述变量之间关系的一种旧方法。在机器学习中,它通常用于预测简单回归问题中的数值。 深度学习 线性代数是描述深度学习方法的核心,通过矩阵表示法来实现深度学习方法,例如谷歌的 TensorFlow Python 库,其名称中就有「tensor」一词。

结论

下面是我在学习这些并不简单的数学内容时总结的技巧:

在解决有趣的问题时,是最容易理解线性代数思想和方法的,趣味问题有助于理解抽象概念;

记得要与其他人(朋友,或论坛)一起学习;

如果你喜欢按日程表学习,请使用在线课程和其他方法。但在将矩阵转换为 Wolfram Alpha 之前,你应该学会「手撕矩阵」;

注意多读书,这可以促使你深度思考。

线性代数的基本概念和定理并非从零开始。努力理解本质、内部逻辑对拓宽你在这个主题上的视角很有用。克莱默(Cramer)、高斯(Gauss)、皮亚诺(Peano)等等许多人肯定从中发现了乐趣(他们首先取悦了自己),所以学习线性代数的人怎么会感到无聊呢?

THE END
0.AISEO如何赋能500强?揭秘3大内容营销实战案例与选型策略企业在选择AISEO服务时应考虑哪些因素? 企业应关注服务商的技术能力、成功案例、数据分析能力,以及用户友好的界面和灵活性,以确保选型适合自身需求。 什么行业最适合应用AISEO技术? 诸如医疗、金融、零售和电商等高价值行业,因其客户需求的快速变化,特别适合使用AISEO技术来优化内容营销效果。 如何评估AISEO实施后的效果? 评估时可以关注流量增长、转化率、用户互动率及jvzquC41yy}/lrfpuj{/exr1r1k43A:f8f8:6n
1.大模型应用:探索AI大模型的50个应用场景:让科技改变生活随着人工智能技术的迅猛发展,AI大模型在各个领域的应用日益广泛。 前排提示,文末有大模型AGI-CSDN独家资料包哦! 百度创始人、董事长兼首席执行官李彦宏在2024年世界人工智能大会上表示,目前AI技术发展路线发生了方向性改变,已从过去辨别式人工智能转向了未来生成式人工智能。 jvzquC41dnuh0lxfp0tfv87623e96;582;:0c{ykenk0fnyckny03=<9:8<37
2.大模型在创作领域中的应用实例有哪些?·构建你的智能应用,使用大模型在创作领域中的应用实例有哪些? 摘要 大模型在创作领域的应用不断扩大,已经覆盖了多个方面。1、利用深度学习模型生成文本内容,通过特定的算法,可以快速产出高质量的文稿;2、辅助创意过程,通过对用户输入的理解,提供灵感和建议;3、优化编辑工作,自动化处理文本以提升效率。这些应用不仅提升了创作效率,还jvzquC41fqit0ufp{kthkv3eqo5rwnxv1ngsin2oqfkmu6frrnodc}nqp/oo/lwgcvopp6kkgnj.692424:19;5/4/>.3@73648:7?3jvor
3.2025年AI原生应用开发实战营·北京站分享材料阿里云.docx构建AI原生应用的11个关键要素《AI原生应用架构白皮书》解读王晨(望宸)阿里云智能高级技术运营专家AI领域的四大核心赛道通用智能体通用智能体AI客服AI硬件…应用开发框架存储安全……红色字体:把和应用运行相关的要素抽象出来,形成一个可表达、可传播、可共识的概念,就是AI原生应用架开发工具链的4个发展阶段*确定性基础jvzquC41yy}/tnstgpjpe7hqo1vbrnw16:>34@6820nuou
4.什么是深度学习?|深度学习的工作原理|Cloudflare为什么深度学习被视为 AI 的基础? 深度学习是许多 AI 服务的基础,例如大型语言模型 (LLM) 和图像生成器。深度学习使这些类型的模型能够学习语言、理解上下文语境,并生成真实的或可用的输出。 深度学习有哪些应用实例? 深度学习为许多基于 AI 的服务提供支持,包括语音助手、自动驾驶汽车、预测模型、图像创建和自然语言jvzquC41yy}/eutwfhrbtn3eqo5mgjwpkpm0cr4yjcz.k|2fggv.nnftpkth1
5.Vue3封装AI问答组件实现AI流式回答问题的方法四、应用实例 (一)简单使用示例 代码语言:javascript AI代码解释 <template> AI聊天助手 <AiChat :api-url="apiUrl" :api-key="apiKey" @messageSent="handleMessageSent" @responseReceived="handleResponseReceived" @error="handleError" /> </template> import { ref } from 'vue'; import AiChat jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk04>758:>