Question 1000171: 矩阵的转置的逆就是矩阵的逆的转置吗?

数学 线性代数

假设对于一个可逆矩阵,它的转置的逆就是矩阵的逆的转置吗?


Answer

Answer 1:

是的。

首先确定一点,一个可逆矩阵$A$,它的转置也是可逆的。这是因为$|A^T|=|A|\neq 0$。

下面我们来推导$A$的逆的转置就是$A$的转置的逆。

第一步,显然$AA^{-1}=I$。

等式两边同时转置,$(AA^{-1})^T=I^T$,也就是$(A^{-1})^TA^T=I$。

因为$A^T$可逆,等式两边同时乘以$(A^T)^{-1}$,我们得到$(A^{-1})^TA^T(A^T)^{-1}=(A^{-1})^T=(A^T)^{-1}$

所以转置的逆就是逆的转置。


Question 1000175: 实对称矩阵的特征向量是实向量吗?

数学 线性代数

一个对称矩阵,元素都是实数,那它的特征向量都是实向量吗?


Answer

Answer 1:

不一定。特征向量不是唯一的,假如$v$是矩阵$A$的一个特征向量,那么$iv$肯定也是特征向量,$i$是根号负一。

不过不同一般的矩阵,实对称矩阵是一定可以取到实特征向量的,因为实对称矩阵的特征值肯定是实数


Question 1000176: 对称的实数矩阵的所有特征值都是实数吗

数学 线性代数

假设有一个对称矩阵,它的元素都是实数,那这个矩阵的所有特征值都是实数吗?有没有可能是虚数?


Answer

Answer 1:

特征值必须是实数,不可能是虚数。


证明如下:

假设$(v,\lambda)$是矩阵$A$的特征对,也就是$Av=\lambda v$。

然后我们对上式两边同时取共轭,得$\overline{Av}=\overline{\lambda v}$,也就是$\bar{A} \bar{v}=\bar{\lambda} \bar{v}$。

因为$A$是实矩阵,所以$A$的共轭就是$A$本身,$A \bar{v}=\bar{\lambda} \bar{v}$。

接着对上式两边同时取转置,可得$\bar{v}^TA^T=\bar{\lambda} \bar{v}^T$。

又因为$A$是对称的,也就是$A=A^T$,所以,$\bar{v}^TA=\bar{\lambda} \bar{v}^T$。

最后,用特征向量$v$右乘等式两边,可得$\bar{v}^TAv=\bar{\lambda} \bar{v}^Tv$,也就是$\lambda\bar{v}^Tv=\bar{\lambda}\bar{v}^Tv$。因为特征向量不能是零向量,所以$\bar{v}^Tv\neq 0$,所以$\lambda = \bar{\lambda}$,所以所有特征值必须为实数。


Question 1000177: 非方阵的逆是什么

数学 线性代数

一个非正方形的矩阵也有逆吗?


Answer

Answer 1:

非方矩不存在逆,但是有广义逆或者说伪逆

对于一个矩阵$A$,如果存在一个矩阵$B$使得

$$ABA=A, ~BAB=B, ~(AB)^T=AB, ~(BA)^T=BA$$

那么我们就称$B$为广义逆。

满足上面四个式子的广义逆其实是唯一的。假设$A$有以下奇异分解

$$A=U\begin{pmatrix}\Sigma & 0\\\ 0 & 0\end{pmatrix}V^T,$$

其中$\Sigma$是对角阵,对角元素为奇异值。那么$A$的广义逆$B$就可以写成

$$B=V\begin{pmatrix}\Sigma^{-1} & 0\\\ 0 & 0\end{pmatrix}U^T$$


Answer 2:

如果A是列满秩就存在左逆元

如果A是行满秩就存在右逆元

两个存在都不是唯一的

如果A既存在左逆元又存在右逆元 那这个矩阵就是方阵,

并且左逆元=右逆=矩阵的逆。

如果既不是列满秩也不是行满秩就可以求广义逆。



Question 1000178: 矩阵A乘以B的秩等于B乘以A的秩吗

数学 线性代数

假设两个矩阵A和B,那么rank(AB)和rank(BA)一定相等吗?


Answer

Answer 1:
  • 它们的秩未必相等。

如果$A$和$B$都是方阵,$A$是可逆的,那么$Rank(AB)=Rank(BA)$。

当然还有很多情况,它们的秩是不等的,比如说矩阵

$$ A = \left[ \begin{matrix} 1 & 1 & 1\\ 0 & 0 & 0\\ \end{matrix} \right] $$

$$ B = \left[ \begin{matrix} -1 & -1\\ 0 & -1\\ 1 & 0\\ \end{matrix} \right] $$

做一做乘法,我们可以发现

$$ AB = \left[ \begin{matrix} 0 & 0\\ 0 & 0\\ \end{matrix} \right] $$

然而

$$ BA = \left[ \begin{matrix} -1 & -1 & -1\\ 0 & 0 & 0\\ 1& 1& 1\\ \end{matrix} \right]$$

很明显,$Rank(AB)=0\neq Rank(BA)=1$。



Question 1000183: 两个线性空间的并集一定是一个线性空间吗

数学 线性代数

比如说我们有两个线性空间$A$和$B$,那么它们的并集$A\cup B$也一定是个线性空间吗?


Answer

Answer 1:

不一定的。举个反例就可以说明。

假设$A=\{(x,0)|\forall x \in\mathbb{R}\}$,$B=\{(y,0)|\forall y \in\mathbb{R}\}$。也就是说,$A$是平面坐标系中的$x$轴上的任意点组成的集合,$B$是平面坐标系中的$y$轴上任意点组成的集合。那么,$A\cup B$就是$x$轴和$y$轴上所有点的集合。

显然$A$和$B$都线性空间。假如$A\cup B$也是线性空间,那么对于任意的$a,b\in A\cup B$,$a+b$应该依然是$A\cup B$中的元素。我们可以取$a=(1,0)\in A$,$b=(0,1)\in B$,显然$a,b\in A\cup B$,但是$a+b=(1,1)\notin A\cup B$。这违背了线性空间的定义。所以两个线性空间的并集未必是线性空间。



Question 1000453: 什么是Hessian矩阵和Jacobian矩阵

数学 线性代数 数值计算 最优化

在学机器学习和深度学习的课程,最后往往是要计算Hessian矩阵或者Jacobian矩阵。我数学不扎实,请问这两个矩阵分别是什么意思?


Answer

Answer 1:

Jacobian矩阵可以看作是函数一阶导数的推广

假如一个函数$f:\mathbb{R}^n\rightarrow \mathbb{R}^m$,那$f$的Jacobian矩阵就是

$$J=\begin{pmatrix}\frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n}\\ \vdots & \ddots & \vdots \\ \frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n} \end{pmatrix}$$

Hessian矩阵可以看作是函数二阶矩阵的推广

假如一个函数$f:\mathbb{R}^n\rightarrow \mathbb{R}$,那$f$的Hessian矩阵就是

$$H=\left[\frac{\partial^2 f}{\partial x_i x_j}\right]_{i,j}=\begin{pmatrix}\frac{\partial^2 f}{\partial x_1\partial x_1} & \frac{\partial^2 f}{\partial x_1\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1x_n}\\ \frac{\partial^2 f}{\partial x_2\partial x_1} & \frac{\partial^2 f}{\partial x_2\partial x_2}  & \cdots & \frac{\partial^2 f}{\partial x_2x_n}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^2 f}{\partial x_n x_1} &  \frac{\partial^2 f}{\partial x_n x_2} & \cdots & \frac{\partial^2 f}{\partial x_n x_n} \end{pmatrix}$$


Question 1000884: PCA和SVD是一回事吗?

数学 线性代数 数值计算 最优化

大概我明白,是做矩阵分解、降维的。但是这两个概念我有点混淆,它们是一个概念吗?有区别吗?多谢多谢!比心!



Answer

Answer 1:

它们不是一个回事,但是本质上是一样的。PCA的理论基础是SVD。所以是可以看作是一回事。

假设数据集是矩阵$X$,$n$行$p$列。

简单来说,SVD可以把$X$分解成如下形式:

$$X=\sum_{i=1}^r \sigma_iu_iv_i^T$$

这里的$r$是矩阵$X$的秩,$\sigma_i$是奇异值(为了方便,通常从$\sigma_1$到$\sigma_r$按照从大到小排列),$u_i$是高度为$n$的列向量,$v_i$是高度为$p$的列向量。$X$被表示为了$r$个成分的和。


SVD的工作完成后,就轮到PCA出场了。PCA的中文是主成分分析。假设我们想将$X$降为到$k$维,我们就选择最大的$k$个奇异值和它对应的$u_i, v_i$,也就是前$k$个主要成分。假设$\sigma_i$按照从大到小排列,那么$X$降为到$k$维之后应该是这样的

$$\sum_{i=1}^k\sigma_iu_iv_i^T$$

上面这个矩阵就是$k\times p$的矩阵。

如果想知道上面这个矩阵解释了原矩阵$X$方差的百分比,只需要计算

$$\frac{\sum_{i=1}^k \sigma_i^2}{\sum_{j=1}^r\sigma_j^2}$$

通常来说,在用PCA降维时,我们保留90%或者95%的方差。也就是上面的分式至少要大于0.9。



Question 1001059: 两个方程组解之间的关系

数学 线性代数

两者的解的关系是什么?在不一定是单射的时候。

如果无解,

那么的解是的解吗?

P是往的正交投影。





Answer

Answer 1:

如果$A$是可逆矩阵,那么两者等价。

如果不可逆的话,$Ax=b$的解是$A^TAx=A^Tb$的解的真子集。



Question 1001060: 广义逆与svd之间有什么关系?

数学 线性代数

如何用广义逆来拟合直线?如何用svd来拟合平面?

两者之间有什么关系?


Answer

Answer 1:

Question 1001095: 两个非齐次线性方程组同解问题

数学 线性代数

已知有相同非空解集

证明:存在可逆阵,使得


Answer


Question 1001198: numpy怎么进行矩阵乘法

数学 线性代数

numpy里的两个array,怎么进行矩阵乘法?


Answer

Answer 1:

numpy.dot或者numpy.matmul都可以

>>> a

array([[1, 2],

       [3, 4]])

>>> b

array([[1, 2, 3],

       [1, 2, 1]])

# numpy.dot

>>> np.dot(a, b)

array([[ 3,  6,  5],

       [ 7, 14, 13]])

# numpy.matmul

>>> np.matmul(a, b)

array([[ 3,  6,  5],

       [ 7, 14, 13]])



Question 1001368: 矩阵的列空间什么意思?

数学 线性代数

矩阵的列空间是什么意思?

主要是下面红框里的这句话没有理解。


谢谢!



Answer

Answer 1:

说白了,一个矩阵的列空间就是一个矩阵算子的值域。

对于一个$n\times m$的矩阵$A$,它的值域就是,对于所有向量$x\in\mathbb R^{m\times 1}$,矩阵乘积$Ax$组成的集合。

再直白点,就是$A$中列向量的所有线性组合。

你发的图的红框里面,$A$的列向量是$a_1,a_2$,这两个向量所有的线性组合就是$a_1,a_2$所在的这个平面。



Question 1001494: 线性空间和向量空间是一回事吗?

数学 线性代数

在补习线代方面的知识,发现有的资料上写的是线性空间,有的写的是向量空间,它们是一回事么?

线性空间和向量空间是等价的吗?有什么关系?



Answer

Answer 1:

向量空间就是线性空间。

我们一般说线性空间的元素是向量,其实不一定。只要是符合定义的空间都是线性空间,元素为向量的线性空间只是一个特例。

线性空间的定义:含有零元,对加法封闭,对常数乘法封闭。


Answer 2:

它们是一回事,只是叫法不同而已



Question 1001500: 常说的低秩分解或者低秩逼近是什么意思?

数学 线性代数 数值计算

机器学习和矩阵计算中常提到的低秩分解或者低秩逼近是什么意思?



Answer

Answer 1:

低秩分解:找到两个矩阵,使得两个矩阵的乘积接近原矩阵,并且两个矩阵的乘积的秩低于原矩阵

低秩逼近:找到一个秩比原矩阵小的矩阵,使得两者接近




Question 1001606: 向量的内积、外积分别是什么意思?

数学 线性代数

向量的内积、外积分别是什么意思?



Answer

Answer 1:

两个向量的内积(有时候叫做点积),得到的是一个

$\langle u, v\rangle = u^Tv$,要求$u$和$v$的维数必须是一样的。


两个向量的外积,得到的是一个矩阵

如果把向量写成列向量的形式,那么外积就是$u\circ v=uv^T$

比如$u$是$m\times 1$的向量,$v$是$n\times 1$的向量,那么外积的结果就是$m\times n$的矩阵。


Answer 2:

比如说两个向量

$x=(1, 2)$, $y=(3, 4)$

它们的内积是

$$1\times 3 + 2\times 4=11$$

它们的外积是

$$\begin{pmatrix}1\times 3 & 1\times 4 \\ 2 \times 3 & 2\times 4\end{pmatrix}=\begin{pmatrix}3 & 4 \\ 6 & 8\end{pmatrix}$$



Question 1001976: tensor的rank是什么意思

数学 线性代数

tensor的rank是什么意思?和矩阵的rank是一回事吗?



Answer

Answer 1:

不是的,tensor的秩或者rank一般就指的维度,比如一个3x4的tensor,rank是2;3x5x5的tensor,rank就是3.


Answer 2:

rank就是tensor里axis的个数。千万不要和矩阵的秩混淆。

上面三个tensor的rank分别为1,2,3.



Question 1002166: 部分主元

数学 线性代数 数值计算

高斯消元选主元的时候用到了部分主元(partial pivot),这里部分主元为什么要选一列中最大的数呢?

如果选最小的数,那下面消每一行的时候要乘的是一个整数;

而选最大的数,下面消每一行要乘一个分数;

所以为什么不选最小的数?


Answer

Answer 1:

我觉得这个主要是计算机的考虑,因为计算机有浮点误差,如果你选最小的数作为主元,浮点误差就会显得格外明显。

比如一列当中有100,10,0.00001。0.00001最小,但是这个数值当中有多少是因为浮点误差造成的呢,比重就相对很大了。100的话就安全得多了。



Question 1003347: 半正定或者正定矩阵一定要是对称的吗?

数学 线性代数

半正定或者正定矩阵一定要是对称的吗?还是说只要特征值非负或者大于0就可以了?


Answer

Answer 1:

按照严格定义来说,如果是实矩阵,正定矩阵一定是对称的;如果是复矩阵,正定矩阵一定是埃尔米特的。



Question 1003444: 矩阵分解中的迭代步骤是怎么推导的?

统计/机器学习 线性代数 数值计算 推荐系统

把矩阵$V$分解成$WH$两个矩阵的乘积,黄色那部分的迭代公式是怎么得到的?



Answer

Answer 1:

原始论文是algorithms-for-non-negative-matrix-factorization

一般的gradient descent算法下,


其中$\eta_{a\mu}$是步长。

当每个变量步长不同时,


第6等式可变为第4等式


然后论文在数学上证明此方法收敛。

我没有仔细看证明,感觉上是变步长的gradient descent。还不知道(4)和(6)哪个收敛速度更快。


Question 1003646: 怎么求一个超平面的法向量(垂直向量)?

数学 线性代数 几何

比如已知一个超平面的向量表达式为aTx+b=0,怎么求这个超平面的法向量(垂直向量)?


Answer

Answer 1:

如果一个超平方的方程是$a^Tx+b=0$,那么法向量$v$就必须垂直于这个超平面内的任意一个向量。

假设$x_1,x_2$是超平面上的任意两点,那么它们满足

$$a^Tx_1+b=0,~a^Tx_2+b=0$$

$x_1$和$x_2$构成的向量是$x_1-x_2$。根据上面的式子,我们也知道$a^T(x_1-x_2)$。

所以$a$向量就是始终和超平面内任意一个向量垂直的向量,所以法向量$v$就等于$a$。


Question 1004484: 为什么图的拉普拉斯矩阵的最小特征值一定是0?

数学 线性代数 离散数学

我有一个关于拉普拉斯矩阵的疑惑。我们知道我们可以用拉普拉斯矩阵来表示一个图,那么为什么拉普拉斯矩阵的最小特征值一定是0呢?怎么证明呢?


Answer

Answer 1:

@Zealing 提到了拉普拉斯矩阵$L_G$一定存在0特征值,因为$(1,1,\cdots,1)^T$就是0特征值对应的特征向量。

要证明最小特征值是0,我们还需要证明$L_G$是半正定的。

首先我们回顾一下拉普拉斯矩阵的定义。假设$\{e_i\}$是标准基,也就是$e_i$是第$i$个元素为1其他元素为0的向量。那么图$G$的拉普拉斯矩阵

$$L_G=\sum_{(i,j)\in E_G}w_{i,j}(e_i-e_j)(e_i-e_j)^T$$

$E_G$是图$G$中所有的边,$w_{i,j}$是边$(i,j)$的权重。

对于任意非零列向量$x$,

\begin{eqnarray*}x^TL_Gx&=&x^T\left(\sum_{(i,j)\in E_G}w_{i,j}(e_i-e_j)(e_i-e_j)^T\right)x\\&=&\sum_{(i,j)\in E_G}w_{i,j}x^T(e_i-e_j)(e_i-e_j)^Tx\\&=&\sum_{(i,j)\in E_G}w_{i,j}(x^T(e_i-e_j))^2\end{eqnarray*}

图里的边的权重是非负的,所以上面二次型就是非负的,所以$L_G$是半正定的。

Answer 2:

因为拉普拉斯矩阵$L$每一行的和为0,全1向量$v_0=[1,1,...,1]^T$满足$Lv_0=0=0v_0$,所以最小特征值为0。

如果图中有k个子图(connected component),就有k个0特征值。因为至少有一个子图,所有至少有一个0特征值。

详细数学证明可以看这里


Question 1005470: 推荐系统里的FunkSVD是什么?

统计/机器学习 线性代数 推荐系统

推荐系统里的FunkSVD是什么?和正常的SVD有区别么?


Answer

Answer 1:

Funk SVD并不是真正的SVD,因为它不会去寻找奇异分解。

Funk SVD是用来解决缺失值的问题。在推荐系统中,用户评分矩阵$M$常常存在大量的空缺值,无法直接进行SVD。Funk SVD是要寻找两个矩阵$U$和$V$,使得

$$M\approx U V$$

在求解$U$和$V$的时候,我们只要对非空缺值进行优化,所以损失函数针对$M_{i,j}$非空缺

$$\sum_{i,j}\|M_{i,j} - U_{i,:}V_{:,j}\|$$



Question 1005827: 为什么矩阵的二范数和向量的二范数的定义不同?

数学 线性代数

矩阵的二范数是最大的singular value,而向量的二范数是元素的平方和的根(就是ridge里的惩罚项),为什么矩阵的二范数和向量的二范数的定义完全不同?名字为什么又一样呢?


Answer

Answer 1:

矩阵的二范数是根据向量的二范数的定义引申出来的,矩阵二范数是一种诱导范数(induced norm)。

长度为$n$向量的$p$-范数的定义是

$$\|v\|_p=\left(\sum_{i=1}^n|v_i|^p\right)^{\frac{1}{p}}$$

所以常见的2-范数就是平方和的根,1-范数就是绝对值的和。

一个$m\times n$的矩阵的$p$-范数是根据向量的$p$-范数诱导而来,定义如下

$$\|A\|_p := \max_{v\in \mathbb R^n}\frac{\|Av\|_p}{\|v\|_p}=\max_{\|v\|_p=1}\|Av\|_p$$

上面式子里$\|A\|_p$是矩阵范数,后面的都是向量范数。

具体来说,对于矩阵2-范数,

$$\|A\|_2 =\max_{\|v\|_2=1}\|Av\|_2$$

我们对$A$进行奇异分解,得到$A=U\Sigma V^T$,因为$U$和$V$都是酉阵,所以根据向量2-范数的定义,我们有

$$\|Av\|_2^2=\|U\Sigma V^Tv\|_2^2=v^TV\Sigma^TU^TU\Sigma V^Tv=v^TV\Sigma^T\Sigma V^Tv$$

把$V^Tv$替换为$u$,得到

$$\|Av||_2=\|\Sigma u\|_2$$

$u$的向量2-范数显然也是等于1,因为$\|u\|_2^2=\|V^Tv\|_2^2=v^TVV^Tv=\|v\|_2^2=1$。

所以$$\|A|_2=\max_{\|u\|_2=1}\|\Sigma u\|_2$$

$\Sigma$是对角线为奇异值的对角阵,为了使乘积后的二范数最大,只能让$u$为独热向量,唯一的1对应着最大的奇异值。矩阵的2-范数也就是最大奇异值。


Answer 2:

矩阵的范数是根据向量的范数诱导的,所以名字一样,定义不同。

类似的还是1-范数。


Question 1006093: tensorflow矩阵相乘报错module 'tensorflow' has no attribute 'mul'

统计/机器学习 线性代数 TensorFlow


代码:product = tf.mul(X, w)

错误:module 'tensorflow' has no attribute 'mul'

以前没遇到过这个问题


Answer

Answer 1:

应该是你换过tensorflow的版本了,新版本早就没有tf.mul了,换成tf.multiply了。


Question 1007379: 交替最小二乘法(ALS)一定会收敛吗?

统计/机器学习 线性代数 推荐系统

请问一下,这里讨论的ALS算法的收敛性如何?是一定会收敛的吗?


Answer

Answer 1:

这取决于问题本身,如果问题本身是凸问题,那么ALS是可以收敛的。如果是非凸的,那么有可能收敛到局部极小值,不能保证收敛到最优值。


来自sofasofa(一个专业的机器学习社区),建议去sofa社区阅读,这里只是记录。防止网站在网络中走失。