c语言中x的n次方怎么表示_线性代数的本质及其在AI中的应用

006f264473e1b9b62e10fc1c1a943df7.gif
线性代数是 AI 专家必须掌握的知识,这已不再是个秘密。如果不掌握应用数学这个领域,你永远就只能是「门外汉」。当然,学习线性代数道阻且长。数学,尤其是线性代数常与枯燥、复杂和毫无意义的事物联系起来。不过你还可以另辟蹊径。
阅读完本文后,你将了解到:
  • 线性代数的本质;
  • 线性代数的真实应用场景;
  • 线性代数可用于 AI、ML 和数据科学的原因;
  • 学习线性代数最有效的方法。

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

第一次接触线性代数的人,通常会觉得线性代数长这样:3495db8edc2ba4788804797002d6d0a0.png看起来就让人头大?你的脑海随即会浮现出两个问题:它们都是从哪儿来的?为什么需要这些运算?让我们做个简单的练习。线性代数是计算数学的「主力军」。我举个简单的例子来说明。假设我们有一根两端固定的极细金属棒,其温度恒等于零。我们开始使用分布式热源对棒进行加热,该热源在点 x 的附近,每单位长度每秒产生 q (x) 焦耳热量。温度 t = t (x) 公式该怎么建立?先粗略建模:热量平衡后,设点 x 的分段为 [x-h, x + h],来自热源的热流入应等于分段两端的热通量之和。如果 h 足够小,那么热通量可以看作常量(包含 h),该等式可以写成如下形式:fa4290dc1a23cefad681894e46400f29.png其中 Q_x-h 是通过左边界的热通量,Q_x + h 是通过右边界的热通量。根据傅立叶定律,热通量与温度差成正比(毕竟,你刚跳进水里时感觉最冷)。因此:cc7b9f8d6a47d9b044813ece258db0ab.png令 h = 1 /N。假设 xi = i · h,其中 i =0, 1, 2, …, N,它们被称为网格。变量 ti = t (xi) 将满足方程式:ff5290f10ab551a4ec091990533d359d.png基于边界条件且 qi = q (xi),得到线性方程组:1884125a883cd623c1abff6cb953bcd2.png具体来说,这个系统可以通过扫描法「正面」解决,但是在实际模型中,系统变得更加复杂。线性代数正好发挥了作用:用 A · y = b 的简短形式描述系统(这是矩阵乘法的由来!);了解是否有解决方案,以及解决方案是否唯一;(在本例中)使用简单公式 y = A-1 b 来建模,将 A 看做一个数字;(引入计算数学)建立用于求解线性方程组的有效数值方法。这只是从数学建模的角度看线性代数,还有量子力学、统计学等多个角度。再以著名问题为例,即某网站(或整个互联网)的「网页引用排名」问题。假设有 N 个页面,每页可能包含到其他页面的链接。我们的任务是确定哪些页面最重要。如何准确地衡量「重要性」是任务的一部分。我们将以非负数(权重)来定量表示。先假设:此页面的链接越多,其权重就越大。这种方法有个缺点:我们没有考虑链接页面的权重。一个链接权重越大,其意义也越大,这是合乎逻辑的。考虑到这些因素,我们选择以下模型:ba693a0e11779d3dbbee51215b7b0ea9.png其中 a_ij 是第 i 页到第 j 页的链接数,除以第 j 页的链接总数。该公式可以理解为:第 i 页的权重等于第 j 页的权重与从第 j 页到第 i 页的链接之比的乘积之和。因此,我们将问题简化为线性方程组。此外,权重向量 p 是矩阵 A 的特征向量,对应特征值为 1:p = ApFrobenius-Perron 定理保证了该向量的存在(严格来说,矩阵 A 略有修改),通过简单的迭代即可找到。因此,线性代数是一套非常通用的思想和工具,可以应用于各个领域。但是「天下没有免费的午餐」,通用性的代价是:某些定义和定理有着毫无必要的复杂度。不过事实并非如此:实际上,许多抽象目的是简化而非复杂化。「如果它看起来像鸭子,像鸭子一样游泳,像鸭子一样嘎嘎叫,那么它可能就是鸭子」这实际上就是一种抽象,如果你习惯了这种抽象概念,将会非常方便。线性代数也是一样。为了更具体地说明这一点,让我们简短讨论下内部来补充一下「外部检查」。

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

线性代数研究的是向量空间以及将一个向量空间映射到另一个向量空间的函数。我们主要考虑线性函数(对于任何常数α和β以及向量 x 和 y,满足关系 f (α · x + β · y) = α · f (x) + β · f (y)。也有非线性的函数(例如二次方程),不过首先你需要知道什么是向量(以及向量空间),这不像看上去那么简单。03c044ab86bd936b23c820ba4ff66586.png教材和课程中通常只是给出一个抽象的定义,这一定义又常常由 8 点构成。有时一个矢量空间被视作一个使用加号的阿贝尔群,该阿贝尔群满足四大群公理,并定义了标量乘法。但是对于刚开始研究线性代数的人来说,理解这些着实困难,学习一些具体示例并进行类比要容易得多。8 条的定义仅仅是这种类比的形式。所以我们举个例子吧:向量,是我们每个人都熟悉的有向线段,多个有向线段可以组成一个向量空间。回忆一下多项式,它们可以进行通项相加以及系数相乘。请注意:从代数的角度来看,这些多项式的加法运算以及多项式与系数的乘法运算,与有向线段运算规则是完全一致的。例如,等式 x + y = y + x(加法交换性)对有向线段和多项式均成立。因此,多项式的集合是向量空间,而多项式就是向量。e445accaf36828bfc04e2dcc7e31397e.png既然多项式类似于有向线段,那么它们也肯定有坐标。但是如何获知多项式的坐标以及多项式有多少个坐标呢?众所周知,每个向量在平面上都有两个坐标,在空间中则是三个。为什么会这样呢?维度又是什么?线性代数给出了一个答案:维度就是线性无关向量的最大数量。线性无关是什么意思?如果存在数字α1, α2, …, αn,其中至少一个非零,则向量 x1, x2, …, xn 被称为线性相关。b39c04e853c45bcccc0003934e11d715.png如果向量不线性相关,则称它们为线性独立。(线性相关性的概念概括了平行向量和共面向量的概念:两个向量在当且仅当它们平行时才线性相关。三个向量在当且仅当它们共面时才线性相关。)空间的维数可以是有限的(维数不大于 N 的多项式空间),也可以是无限的(所有多项式空间)。这两种情况在实际中都会出现,但现在我们限制其为有限维的。令向量 x1, x2, …, xn 线性无关,n 为空间维数。任何其他向量 x 都可以唯一地写为 x1, x2, …, xn 的线性组合,相应的线性组合的系数称为坐标。现在,我们对坐标有了严格的定义,但重点不只是这个:在此过程中,我们遇到了更基本(更易忽略)的线性组合和线性相关性的概念。而且我们还了解到,在 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)等等许多人肯定从中发现了乐趣(他们首先取悦了自己),所以学习线性代数的人怎么会感到无聊呢?————编辑 ∑Gemini来源:机器之心fe1ba48114058d83aa0187b887523e66.png☞数学家探索两个几何世界之间的镜像链接☞数学天才帕吉特:他有如电影般的人生际遇☞世界上最奇怪的数学天才,被奖励100万却拒领,宁愿过得像乞丐☞斯坦福大学教育学院院长:学习本身就是一门学问☞如果没有数学,我们如何测量☞数学的真相:物理时空的数字模型还是现实本身?算法数学之美微信公众号欢迎赐稿稿件涉及数学、物理、算法、计算机、编程等相关领域,经采用我们将奉上稿酬。投稿邮箱:math_alg@163.com欢迎加入算与数学术交流群,请添加微信:nhyilin(备注:算数粉丝)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么在生产中进行调试是如此诱人?

生产调试 为什么在生产中进行调试是如此诱人? 在我的第一份工作中,我要做的任务之一是修复一个错误,该错误过去在非常复杂的生产系统中有时会发生。 很简单! - 我想。 我将在开发环境中重现同样的情况,找到虚线&#x…

软件测试中需求分析谁去做的,软件项目在进入需求分析阶段,测试人员应该开始介入其中。 - 问答库...

问题:[判断题] 软件项目在进入需求分析阶段,测试人员应该开始介入其中。A . 正确B . 错误某男性患者,45岁.乡镇企业工人,因腹胀,尿少2周就诊。诉近年来体力下降较明显,易疲乏,时有右…

解码base64_linux C++ Base64编解码

Base64的由来目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一。在做支付系统时,系统之间的报文交互都需要使用Base64对明文进行转码,然后再进行签名或加密,之后再进行(或再次Base64)传输。那么&#xf…

java的for循环取出数据只是拿到最后一个_新兴大数据分析榆中百合

新兴大数据分析榆中百合大数据流程从流程角度上看,整个大数据处理可分成4个主要步骤。处理流程图分为三层(数据采集层,数据存储与计算处理层,数据可视化):表2-1 系统环境系统版本Windows 10专业版(建议)LinuxCentOS 6.8 or CentO…

文件 服务器 pandas,疑难杂症-使用pandas_profiling查看EDA数据文档遇到的一些坑

最近在学习特征工程相关的东西,发现pandas_profiling这个包特别适合直观地能够展示数据地很多细节的地方,包括缺失值等相关信息。然后,我就开始折腾pip install pandas_profiling发现一下子把原本好好的环境(Anaconda3.5、Python3)给折腾坏了…

log4j 禁止类输出日志_log4j 2过滤spring日志遇到的问题

在项目中使用testng写单元测试,使用log4j输出日志,spring的日志也被打印出来,在调试的时候看到一片一片的spring日志很烦,总是要找自己的输出日志。这样式的~~~找了一下log4j2的日志过滤,很简单,在logger定…

c++冒泡排序代码_【开源推荐】数据结构和算法必知必会的50个代码实现

最近GitHub上发现了个非常不错的项目,目前star 4000,项目主要讲数据结构和算法,有多种语言 50个代码实现。实现语言有c,c#,go,java,javascript,object-c,python&#xff…

应用程序添加到服务器,在同一应用程序中的配置服务器和eureka服务器:尝试连接到localhost:8761...

我有一个spring-boot应用程序,可用于在开发和测试环境中设置a spring cloud config server和a eurekaserver。奇怪的是localhost:8761,即使我将其eureka.client.registerWithEureka设置为false,应用程序也总是尝试连接到。如何停用此功能&…

android 抽屉_Android Studio之路,我们来了解一下Google官方Android开发工具

记得我的第一篇博客就是写Android Studio,但是现在看来还是有些粗糙了,所有重构了一下思路,覆写了一篇Google主推-Android开发利器——Android Studio,这可能是最全的AS教程!Android Studio,自Google2013年发布以来,就…

karaf osgi_在OSGi中为Karaf构建Camel-CXF REST服务–组播和聚合

karaf osgi请查看我在Karaf的OSGi中构建普通CXF服务(无Camel)的其他文章 。 这是有关如何 创建一个CXF REST服务 使用骆驼多播(并并行化)传入的请求 来自两个不同服务的源数据 汇总响应并 最后将合并结果作为JSON返回给最终…

10g gtx 光纤通信测试_光纤通信系统仿真实验

1实验四光纤通信系统仿真实验【实验目的】1.掌握光纤通信系统的组成及各部分功能。2.熟悉Optisystem实验环境,练习使用元件库中的常用元件组建光纤通信系统。3.利用Optisystem的仿真光纤通信系统,并进行分析。【实验仪器】Optisystem软件计算机【实验内容…

酒店wifi代理服务器没有响应,wn10连接酒店wifi的登录界面无法弹出如何处理

通常情况下,我们在连接酒店wifi后都会出现登录验证界面。不过,最近一位windows10系统用户在连接wifi后打开网页却遇到无法显示登陆界面情况,该怎么办呢?接下来,就随小编一起看看wn10连接酒店wifi的登录界面无法弹出问题…

监视和管理备份系统

上一次我们建立了一个强大的备份系统 ,现在我们将研究如何监视备份集。 我们需要验证备份集是否已正确清理(这称为删除策略)以及它们是否一致(称为一致性策略)。 备份集可以包含多个文件集。 文件集是备份文件的集合&…

linux rsa登录改密码登录_linux服务器secureCRT RSA登录配置

为了保证生产服务器的安全,我们会做一些安全的登录验证措施!不允许使用root账号直接登录服务器!下面是通过secureCRT 设置RSA登录配置。1、RSA公钥配置方法(1)打开secureCRT选择一个连接然后点属性再如图所示(2)一直点下去 点击下一步要选RS…

python词云安装什么库_python词云安装什么库

python词云需要安装wordcloud库。 安装方法: 在cmd使用pip install wordcloud命令即可安装。 wordcloud库把词云当作一个WordCloud对象:wordcloud.WordCloud()代表一个文本对应的词云。 可以根据文本中词语出现的频率等参数绘制词云。 示例:f…

微软ODBC服务器驱动,解决安装SQL Server时[Microsoft][ODBC 驱动程序管理器] 未发现数据源的问题...

在Windows Server 2003 上安装 MS SQL Server 2000 时,最后阶段安装程序在配置服务器时,出现“[Microsoft][ODBC 驱动程序管理器] 未发现数据源”,具体提示为:#################################################################…

怎么wps解除合并单元格_wps表格怎么锁定单元格

wps表格怎么锁定单元格呢?很多用户对此还不是很清楚,小编这里就给大家带来有关wps表格怎么锁定单元格的回答,希望能够对大家有所帮助。一、整个表格进行锁定1、同时按住CtrlA,选中整个单元格,如图2、选中以后&#xff…

挡土墙计算软件_广联达软件如何计算钢板止水带?

原创作者:张向荣1、什么是钢板止水带?混凝土结构中,地下室墙体施工中,如果底板和墙体分开浇筑,就需要留置施工缝。施工缝:施工缝并不是一种真实存在的“缝”,它只是因先浇筑混凝土超过初凝时间&…

网站图片多服务器选多大,网站上的图片一般多大合适

网站上的图片一般多大合适 内容精选换一换安装了SSL证书后,访问网站时,HTTPS比HTTP要多几次握手的时间,HTTPS协议握手阶段比较费时,同时还要进行RSA校验,因此使用了SSL证书后,相较于HTTP访问,访…

web网站服务器宕机应急,web服务器的宕机诊断方法

宕机诊断方法编辑步骤1:发生了什么事系统管理员必须肩负起分析和判断Web服务器宕机原因的责任。需要解决如下的问题:是否是断电,发电机测试以及其他类似问题影响了整体物理环境?和Web服务器的通信是否已经完全被阻断,还是某些IP段…