为什么要引入矩阵这个数学工具?它能简化哪些不用矩阵会复杂的问题?

为什么要引入矩阵这个数学工具?它能简化哪些不用矩阵会复杂的问题?

H-Chen,这个人太懒了

刚看到这个问题时,我在想:投影、最小二乘法、回归、SVD、PCA、图像处理、优化、机器学习、密码学……这些全都要用矩阵啊。

但是我转念一想,好像矩阵确实不是必需的:

假设 A 是一个

的矩阵, 那么

可以写作


假设 B 是

的矩阵,那么矩阵乘法

可以写作


当然,行列式

也是可以表示出来的

其中

是 n 阶对称群。


当然,有了行列式,就可以定义"伴随矩阵"

那么,"逆矩阵"的公式就有了:

所以,我们线性代数课上学过的

,就可以表示成


这样下去,其实任何需要矩阵的地方,都可以不使用矩阵列出公式。

有些常用的计算,比如“最小二乘法”的公式,是这样的:

其中 A 是

的矩阵,很多高赞都提到了这个公式,它可以用来做线性回归,在统计学和数据科学中都有很多应用。

但是,经过我们刚才的一番推导,我们发现,这个式子其实也可以不用矩阵写。我们现在可以尝试把它翻译一下,写成不需要矩阵的形式。翻译过后,它差不多大概长这样:

算得不一定对。但是基本意思大家都能明白:这个式子太复杂了!!

而且,实际应用中,你还不能直接用这个式子,因为它的计算量太大了!为了让计算机更快地算出答案,你还要“化简”上面这个式子,找到能让计算机快速算出答案的算法。

来吧!化简这个式子!


这里举一个更简单的例子:大家有没有想过,为什么人类要发明乘法?

为什么不写做(5+5+5+5)呢?乘法的发明到底简化了哪些问题?

确实,乘法本身好像并没有解决任何问题,更复杂的乘法,比如

,也可以表示成加法的形式

然而,没有人愿意计算[(5+5+5+5)+(5+5+5+5)+(5+5+5+5)] + [(5+5+5+5)+(5+5+5+5)+(5+5+5+5)],但如果你学过乘法,你可以很快算出

事实上,“让复杂的公式变得简洁起来。”本来就是一件很重要的事情。因为,它能精简人们的思维,让人们更容易发现问题的关键,然后去探索更加深奥的问题。


在简化这些式子的途中,我们还能发现很多新的问题。乘法一开始只是在化简“同一个数字连加”的问题。但是,随着乘法使用得越来越广泛,人们开始关注更加深奥的问题,比如

这种乘法,就不是某种“同一个数字连加”的问题。

线性代数其实也可以被推广到更广泛的形式,不过实际应用中比较少见。

比如 @Bazinga 就提到了线性空间和线性算子。感兴趣的朋友还可以自行搜索一下度量空间、赋范空间、内积空间、埃尔米特伴随算子。

然后我们回来看刚才的“最小二乘法”。

我们知道,所谓最小二乘法,就是找到一条线,使得误差的平方之和最小。

那么,如果我们不去最小化“误差的平方值和”,换一个优化目标,那么我们还有没有

这样的式子呢?

事实上,你会发现,优化“误差的平方值和”其实就是在优化真实值与预测值之间的欧几里得距离,也就是 l2 距离。而这个 l2 范数是以向量点乘为内积诱导出来的。而在使用向量点乘为内积的实向量空间中,我们有

其实,我们可以有一个更广义的“最小二乘法”,它将作用于任何一个内积空间中,它就是

。其中

的埃尔米特伴随。而此时这个 x 所最小化的目标,就是在这个内积空间所诱导出来的度量空间中,真实值与预测值之间的距离。

在实内积空间中,我们有

,这个式子就是

.在复内积空间中,我们有

,这个式子就是

。再其它内积空间中,

,这个式子仍然还会成立。

实内积空间上的

或许还能用初等代数勉强代替一下。但是,抽象的内积空间上的“最小二乘法”,也就是

,大概是不能用初等的代数代替的。

就像

不能用加法来表示一样。