选自 | TowardsDataScience 作者:Oleksii Kharkovyna
转自 | 机器之心编译 参与 | 高璇、蛋酱
线性代数是 AI 专家必须掌握的知识,这已不再是个秘密。如果不掌握应用数学这个领域,你永远就只能是「门外汉」。当然,学习线性代数道阻且长。数学,尤其是线性代数常与枯燥、复杂和毫无意义的事物联系起来。不过你还可以另辟蹊径。
阅读完本文后,你将了解到:
-
线性代数的本质;
-
线性代数的真实应用场景;
-
线性代数可用于 AI、ML 和数据科学的原因;
-
学习线性代数最有效的方法。
给初学者的解释:线性代数的本质
第一次接触线性代数的人,通常会觉得线性代数长这样:
看起来就让人头大?你的脑海随即会浮现出两个问题:它们都是从哪儿来的?为什么需要这些运算?
让我们做个简单的练习。
线性代数是计算数学的「主力军」。我举个简单的例子来说明。
假设我们有一根两端固定的极细金属棒,其温度恒等于零。我们开始使用分布式热源对棒进行加热,该热源在点 x 的附近,每单位长度每秒产生 q (x) 焦耳热量。温度 t = t (x) 公式该怎么建立?先粗略建模:热量平衡后,设点 x 的分段为 [x-h, x + h],来自热源的热流入应等于分段两端的热通量之和。如果 h 足够小,那么热通量可以看作常量(包含 h),该等式可以写成如下形式:
其中 Q_x-h 是通过左边界的热通量,Q_x + h 是通过右边界的热通量。根据傅立叶定律,热通量与温度差成正比(毕竟,你刚跳进水里时感觉最冷)。因此:
令 h = 1 /N。假设 xi = i · h,其中 i =0, 1, 2, …, N,它们被称为网格。变量 ti = t (xi) 将满足方程式:
基于边界条件且 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(加法交换性)对有向线段和多项式均成立。因此,多项式的集合是向量空间,而多项式就是向量。
-
在解决有趣的问题时,是最容易理解线性代数思想和方法的,趣味问题有助于理解抽象概念;
-
记得要与其他人(朋友,或论坛)一起学习;
-
如果你喜欢按日程表学习,请使用在线课程和其他方法。但在将矩阵转换为 Wolfram Alpha 之前,你应该学会「手撕矩阵」;
-
注意多读书,这可以促使你深度思考。
<section style="margin-right: 8px;margin-left: 8px;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.544px;text-align: center;widows: 1;line-height: 1.75em;"><strong><span style="letter-spacing: 0.5px;font-size: 14px;"><strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;">—</span></strong>完<strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;font-size: 14px;"><strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;">—</span></strong></span></strong></span></strong></section><section style="white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.544px;text-align: center;widows: 1;color: rgb(255, 97, 149);"><section powered-by="xiumi.us"><section style="margin-top: 15px;margin-bottom: 25px;opacity: 0.8;"><section><section style="letter-spacing: 0.544px;"><section powered-by="xiumi.us"><section style="margin-top: 15px;margin-bottom: 25px;opacity: 0.8;"><section><p style="margin-right: 8px;margin-bottom: 15px;margin-left: 8px;padding-right: 0em;padding-left: 0em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 25.5938px;letter-spacing: 3px;"><span style="color: rgb(0, 0, 0);"><strong><span style="font-size: 16px;font-family: 微软雅黑;caret-color: red;">为您推荐</span></strong></span></p><section style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 1.75em;letter-spacing: 0px;">微软 VS Code 已原生支持 Jupyter 笔记本,再也不用打开网页调试运行了<br /></section><section style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 1.75em;letter-spacing: 0px;">作为 IT 行业的过来人,你有什么话想对后辈说的?<br /></section><section style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;letter-spacing: 0.5px;line-height: 1.75em;">程序员真的是太太太太太太太太难了!<br /></section><section style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;letter-spacing: 0.5px;line-height: 1.75em;">深度学习必懂的13种概率分布<br /></section><section style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;letter-spacing: 0.5px;line-height: 1.75em;">【微软】AI-神经网络基本原理简明教程</section></section></section></section></section></section></section></section></section><section style="white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.544px;text-align: center;widows: 1;"><img class="rich_pages __bg_gif" data-ratio="0.5714285714285714" data-type="gif" data-w="700" style="visibility: visible !important;width: 677px !important;" src="https://www.zkxjob.com/wp-content/uploads/2022/04/wxsync-2022-04-093cc24eb70389b6e9ac702080623639.gif"></section><section data-role="outer" label="Powered by 135editor.com" style="font-size: 16px;"><section class="_135editor" data-tools="135编辑器" data-id="94783"><section style="display: flex;justify-content: flex-end;align-items: center;"><section style="width: 20px;"><section style="width: 20px;"><img class="assistant" data-ratio="1.037037037037037" data-type="png" data-w="27" data-width="100%" style="width: 20px;display: block;" src="https://www.zkxjob.com/wp-content/uploads/2022/04/wxsync-2022-04-cb17c4560d2dca5849163628d1020922.png"></section></section><section style="display: inline-block;text-align: right;"><section class="135brush" data-brushtype="text" style="margin-bottom: -15px;color: rgb(63, 63, 63);letter-spacing: 2px;transform: rotate(0deg);"><strong><span style="font-size: 14px;color: rgb(61, 161, 186);">请给小事点个“在看”吧</span></strong></section></section><section style="width: 22px;"><section style="margin-top: 15px;width: 22px;"></section></section></section></section></section>
本篇文章来源于: 深度学习这件小事
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
内容反馈