矩阵分解 (乘法篇)

引言

前面我们在矩阵分解 (加法篇)里面分析的加法下的矩阵分解。 这里我们来看看乘法下矩阵分解的要点。

对角和三角矩阵

首先, 我们总结下, 在矩阵加法分解中出现了三种矩阵: 上三角矩阵, 下三角矩阵 和 对角阵。 这三种矩阵在乘法的分解中也会遇到。

那么是不是乘法矩阵中有这三种矩阵就够了呢? 不是的!

正交矩阵

还有一种经典的矩阵, 叫正交矩阵, 什么叫正交矩阵呢?其实某种意义上, 郑正交矩阵也是通过矩阵乘法来定义的。 如果一个矩阵和它的转置矩阵的乘积为单位矩阵, 那么这个矩阵就是正交矩阵。

有了正交矩阵之后, 很容易得到一个结论就是正交矩阵的转置就是它的逆矩阵。

那么很容易就知道, 单位矩阵本身就是正交矩阵。

为什么叫正交矩阵呢?因为如果我们把这个矩阵写成向量的形式, 那么这些向量除了自己和自己的点积为1, 其他任意两个不同向量之间的点积全部为0. 而向量点积为0的情况叫正交。 正交矩阵是因此得名的。

为什么要讲正交矩阵呢?还记得在矩阵的加法分解里面, 有求逆矩阵的情况么? 试想一下,如果不要求逆矩阵了, 而是求解转置矩阵的话, 那是不是异常方便? 对的, 这就是正交矩阵的强大的优势。

那么, 常见的LU, LDL, QR,SVD分解到底是什么? 我们已经知道, 首先他们全是乘法分解。

常见乘法分解

LU分解

LU分解, 故名思议就是, 把矩阵分成下三角矩阵(Lower)和上三角矩阵(Upper)的一种分解。 所以LU分解只用到了三角矩阵。

当然更进一步, 可以要求是一个稍微特殊点的三角矩阵, 就是下三角矩阵L对角线全1, 或者上三角矩阵U对角线元素全部为1.

下面有个具体的例子, 大家可以试试:

LDU分解

在LU的基础上, 如果我们再进一步,引入对角矩阵(Diagonal)D, 那么LU分解就变成了LDU分解。 是不是很直观?

而从LU分解到LDU分解是很容易做到的,只要把对角线的元素提取出来作为对角矩阵, 然后其他除以对角线元素进行等比例缩放。

这也很容易去解释, 为什么LU分解可以写成对角线全1的三角矩阵, 因为可以提取出一个对角矩阵, 然后乘到左边下三角矩阵或者右边上三角矩阵去。 因此, 从本质上来说LDU分解和LU分解没有差别。 所以常常把LDU分解忽略, 直接用LU分解来说明。

LDL分解

既然有了LDU分解, 那么LDL分解的字面上的意思就比较明确了, 就是下三角形L乘以对角矩阵, 再乘以下三角矩阵。 对么? 说对, 也对。 说不对也不对。

我们来看一下, 其实最右边不是下三角矩阵,依然是上三角矩阵。 但是这个上三角矩阵, 是最左边的下三角矩阵的转置, 所以依然是最左边的下三角矩阵。 所以右边这个L的含义是左边的L的转置。

既然一个矩阵A能够这么分解, 那么我们知道A的转置和A是一样的, 因为LDL的转置刚好是它本身。

举个LDL的例子:

所以本质上来看, 对称矩阵的LDL分解就是LDU分解的一种特例。 那么前面我们提到, LDU分解是LU分解的另外一种表达。 那么, 对称矩阵也可以进行LL分解的。

对应到上面的例子:

LDL 和LL分解合起来称为乔里斯基分解Cholesky decomposition。 它是由法国数学家Cholesky发明的。

那么哪里去找到对称矩阵呢?其实很多时候, 是用来对(A^T)A进行分解的。

我们知道协方差矩阵就是经常写成(A^T)A这种形式,因此LDL和LL分解在相关性分析里面经常使用。

另外一个Cholesky分解的特点就是, 因为它的元素的对称性限制, 所以计算起来更快!

QR分解

前面的分解都没有用到正交矩阵, 而QR分解和SVD分解就要利用到正交矩阵。 Q是一个正交矩阵, 而R是一个上三角矩阵。

前面我们提到单位矩阵也是正交矩阵, 所以正交矩阵可以看成是坐标系的转换。 所以有时候, QR分解也可以表示成如下形式。

所以QR分解,是正交矩阵和三角矩阵的乘法分解。

SVD分解

SVD分解称为Singular value decomposition奇异值分解, 它是正交矩阵和对角矩阵的乘法分解。

所以, 从形式上, SVD可以表示成如下:

乘法分解的形式小结

所以乘法分解就是把矩阵表示称为三角阵, 对角阵, 和正交矩阵的。

其中:

1) LU, LL是分解为三角矩阵的乘法

2) LDU, LDL 是分解为三角矩阵、和对角矩阵的乘法

3) QR 是分解为正交矩阵和三角矩阵的乘法

4) SVD 是分解为正交矩阵 和 对角矩阵的乘法

如果把三角矩阵、对角矩阵 和 正交矩阵称为因子矩阵, 为什么要分解成这些因子矩阵呢?

因子矩阵的几何含义

对角矩阵

乘以一个对角矩阵,好比对每个坐标轴进行缩放!

正数的乘法: 正数好比在原方向上的缩放, 大于1,表示伸长, 小于1,表示缩小。

负数的乘法:负数表示反反向。

零的乘法:零表示空间压缩。

所以, 对角矩阵就是缩放,包括方向,和压缩。

三角矩阵

和对角矩阵相比, 三角矩阵要多一些角上的元素, 那么这些元素有什么作用呢?

上三角矩阵: 上三角矩阵的作用好比进行右上的切变, 水平的斜拉。

下三角矩阵:同样是切边, 不过是往左下切边, 垂直方向的下拉。

所以三角矩阵的作用就是切变。

正交矩阵

类似的, 我们可以看一下正交矩阵的作用, 我们找可以利用一个正交矩阵, 找到对应乘法后的点的变化。

我们可以看到正交矩阵, 并不改变物体的形状, 但是进行了旋转。

矩阵分解的几何意义

综上所述, 矩阵因子的作用就是要把缩放, 切边, 和旋转分解出来理解一个矩阵的作用。

在这种情况下, 矩阵乘法的分解就是连续进行几次变化的综合!

我们知道LU/LDU/LL/LDL分解和QR/SVD分解里面, 都有三角阵部分。 那么三角阵到底有什么优势呢?

三角阵进行方程求解的优势

我们知道三角阵在进行高斯消元法的时候, 很容易进行化简, 逐层迭代进行计算求解。

所以三角阵除了有明确的几何含义,还有方程求解的极大便利性!这就是为什么三角阵这么受欢迎的原因!

LU分解的意义

LU分解使得矩阵AX=b的求解分成了LU两部分。

而三角矩阵的好处是可以很容易进行连续代入求解! 这样可以先进行下三角矩阵的求解:

然后再进行上三角矩阵的求解。

这样能够快速进行求解。 所以, LU分解把矩阵变成横向的切边和竖直方向的切变后, 能够带来计算上的极大的便利性。 同时这种分解, 存储空间大小上几乎没有太多影响!

类似,我们可以理解LDU,LL, LDL的好处了。

QR分解的意义

从几何上QR分解,就是先进行旋转, 然后再进行切变的过程。

同时, 利用正交矩阵的旋转性, 可以同样很容易化解到三角矩阵乘法去求解。

这个过程中, 并不需要进行求逆运算, 只需要进行转置运算和乘法运算。 然后就可以利用三角不等式逐层迭代求解的便利性。

SVD分解的意义

按照前面给出的几何含义, SVD 分解可以看成先旋转, 然后进行分别缩放, 然后再旋转的过程。

类似的, 同样计算上还带来了极大的便利性!

矩阵分解的应用

除了计算上带来的极大便利性, 分解因子的几何意义还使得矩阵乘法分解有其他很多应用。

相关性分析

LL相关的分析很容易就被用到相关性分析上去。

特征值和特征向量求解

SVD分解还可以用来做特征值和特征向量的求解。

小结:

通过对分解因子的几何含义的描述, 分析了LU, LDU, LL, LDL, QR, SVD分解带来的计算便利性和几何含义。 稍微拓展了下应用。

参考:

https://sites.google.com/site/igorcarron2/matrixfactorizations

http://fourier.eng.hmc.edu/e176/lectures/ch0/node8.html

原文发布于微信公众号 - AI2ML人工智能to机器学习(mloptimization)

原文发表时间:2017-06-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

四天速成!香港科技大学 PyTorch 课件分享

机器之心整理 参与:黄小天、蒋思源 前天,香港科技大学计算机系教授 Sung Kim 在 Google Drive 分享了一个 3 天速成的 TensorFlo...

449100
来自专栏AI研习社

如何使用 Keras 实现无监督聚类

由于深度学习算法在表达非线性表征上的卓越能力,它非常适合完成输入到有标签的数据集输出的映射。这种任务叫做分类。它需要有人对数据进行标注。无论是对 X 光图像还是...

60520
来自专栏PPV课数据科学社区

机器学习系列:(四)从线性回归到逻辑回归---续篇

欢迎小伙伴们回来继续学习,本篇内容是连着上一篇 “机器学习系列:(四)从线性回归到逻辑回归”文章。 多类分类 现实中有很多问题不只是分成两类,许多问题都需要分成...

31860
来自专栏企鹅号快讯

详解各种随机算法

转自:JarvisChu 之前将的算法都是确定的,即对于相同的输入总对应着相同的输出。但实际中也常常用到不确定的算法,比如随机数生成算法,算法的结果是不确定的,...

63690
来自专栏Petrichor的专栏

深度学习: Softmax 函数

该函数 是重要的 深度学习目标函数,也是 Sigmoid函数 的一种 推广。可转换为交叉熵误差 (CE) 。

30320
来自专栏机器学习、深度学习

统计学习导论 Chapter3--Linear Regression

Book: An Introduction to Statistical Learning with Applications in R http:...

25170
来自专栏机器学习算法工程师

你必须要知道CNN模型:ResNet

作者:叶 虎 编辑:张 欢 PART 01 ResNet简介 引言 深度残差网络(Deep residual network, ResNet)的提出是CNN...

79570
来自专栏人工智能头条

互联网广告CTR预估新算法:基于神经网络的DeepFM原理解读

CTR(Click-Through-Rate)即点击通过率,是互联网广告常用的术语,指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击到达...

33420
来自专栏机器学习和数学

[高大上的DL] Activation function (激活函数)的初步认识

今天简单认识一下什么激活函数以及都有那些激活函数。说到激活函数这里有几个比较容易混淆的概念,比如Pooling池化和Sampling采样,loss functi...

34180
来自专栏专知

【干货】深入理解变分自编码器

【导读】自编码器是一种非常直观的无监督神经网络方法,由编码器和解码器两部分构成,自编码器近年来很受研究人员的欢迎。本文是机器学习工程师Jeremy撰写的一篇非常...

51350

扫码关注云+社区

领取腾讯云代金券