线性代数基础知识总结(线性代数的直观指南)(1)

英文网址: betterexplained.com/articles/linear-algebra-guide/


尽管我已经听过线性代数这门课程,但我的知识仅包括“矩阵、行列式和特征什么东东之类的”.

为什么会这样呢?好的,让我们试试这种线代传统授课形式:

  1. 把课程命名为线性代数,但关注点却是矩阵与向量。
  2. 用助记法来教授行列式的概念,而不解释推理。
  3. 直到最后一周前都避免现实主题而只青睐抽象的概念示例。

线性代数基础知识总结(线性代数的直观指南)(2)

那么课程下来, 那些幸存者只可能是那些物理学家,图像程序员或者其他受虐待狂。更多的学子错过了最关键的洞察力:

下面是一个我希望介绍的以一个真实股票市场为例的线性代数的介绍。

代数(Algebra)一词中A的含义 What’s in A name?

“代数”大致意思是指“关系”。小学时学的代数探索了未知数之间的关系。即使不知道x和y,我们仍然可以计算出(x y)² = x² 2xy y².

我们来阐明一点,“线性代数”大致意思是指“呈线性的关系”。

直线是可以拿来做预测的。想象在一个三角形屋顶:向前水平移动3英尺(相对于地面),你可能会高度上升1英尺(上升/移动=1/3)往前走6英尺,你会期望一个2英尺的高度提升。与之对比如果是攀爬一个圆形屋顶:你的每一步水平移动将会带来不同数量的高度提升。

线条是美观且可以预测的:

1、如果水平前进3英尺高度增加1英尺,那么10倍的水平移动会产生10倍的高度提升(水平前进30英尺那么高度增加10英尺)。

2、如果水平前进3英尺高度提升1英尺,水平前进6英尺高度提升2英尺,那么水平前进3 6英尺,高度会提升1 2英尺。

在数学术语中,如果缩放输入同比缩放输出,增加输入同比增加输出,那么运算F就是线性的。

线性代数基础知识总结(线性代数的直观指南)(3)

在我们的例子中,F(x)计算水平移动x与高度变化的关系,其公式为:

线性代数基础知识总结(线性代数的直观指南)(4)

线性运算 Linear Operations

一个运算是基于输入的计算。哪些运算是线性且可以预测的呢?乘法看起来比较像。

指数运算(F(x) = x²)是不可预测的:10² 是100, 但 20² 是400,我们的输入值增加了一倍,但是输出值增加了两倍。令人惊讶的是,常规的加法也不是线性的。考虑“加3”的函数:

线性代数基础知识总结(线性代数的直观指南)(5)

我们使输入值加倍,但输出值却没有成倍增加。(是的,F(x)=x 3恰好是偏移直线的方程,但它仍然不是线性的,因为F(10)不是10倍的F(1)).

我们唯一希望的是乘以一个常数:F(x)=ax(在我们屋顶的例子中,a=1/3)。但是,我们仍然可以将线性运算组合起来,进行新的运算:

线性代数基础知识总结(线性代数的直观指南)(6)

G是由3个线性子片段组成的:如果输入加倍,输出也加倍。

我们有“迷你算术”:将输入乘以一个常数,然后加上结果。它实际上很有用,因为我们可以把输入分开,单独分析,然后结合结果:

线性代数基础知识总结(线性代数的直观指南)(7)

如果输入的交互方式不同(比如指数),我们就不能把它们分开——我们必须一次分析所有东西.

组织我们的输入和运算 - Organizing Inputs and Operations

大多数线代课程都是用矩阵的细节来打击你的自信。“好了,孩子们,让我们学习说话。选择主语、动词和宾语。接下来,将动词变位。然后,加上介词……”

不! 这样的语法不是重点。关键是什么?

1. 我们有很多输入要跟踪

2. 我们有可预测的线性运算来执行(比如, 上面我们的“迷你算术”)

3. 我们产生一个结果,也许会再次转换它

好的,首先,我们应该如何跟踪一堆输入值呢?我们像下面这样列如何:

x

y

z

不错。我们也可以把它写成(x, y, z)——顺着这个思路。

接下来,我们应该如何跟踪我们的运算?记住,我们只有“迷你算术”:乘法,还有最后的加法。如果我们的运算F是这样的:

线性代数基础知识总结(线性代数的直观指南)(8)

我们可以将整个函数缩写为(3,4,5)。我们知道将第一个输入乘以第一个值,将第二个输入乘以第二个值,等等,然后将结果相加。

只需要第一个输入值?

线性代数基础知识总结(线性代数的直观指南)(9)

让我们来调整一下:我们应该如何处理多个输入集?假设我们要对(a, b, c)和(x, y, z)进行F运算,我们可以这样做:

线性代数基础知识总结(线性代数的直观指南)(10)

但这行不通: F需要3个输入,而不是6个。我们应将输入值分为几组:

线性代数基础知识总结(线性代数的直观指南)(11)

更整洁了。

我们如何通过几个操作来运行相同的输入?每个运算列为一行:

线性代数基础知识总结(线性代数的直观指南)(12)

整洁。我们通过这样做变得更加规范: 输入值放在垂直列,运算在水平行进行。(未完待续)

线性代数基础知识总结(线性代数的直观指南)(13)

,