Question 1000171: 矩阵的转置的逆就是矩阵的逆的转置吗?
数学 线性代数假设对于一个可逆矩阵,它的转置的逆就是矩阵的逆的转置吗?
Answer
是的。
首先确定一点,一个可逆矩阵$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
不一定。特征向量不是唯一的,假如$v$是矩阵$A$的一个特征向量,那么$iv$肯定也是特征向量,$i$是根号负一。
不过不同一般的矩阵,实对称矩阵是一定可以取到实特征向量的,因为实对称矩阵的特征值肯定是实数。
Question 1000176: 对称的实数矩阵的所有特征值都是实数吗
数学 线性代数假设有一个对称矩阵,它的元素都是实数,那这个矩阵的所有特征值都是实数吗?有没有可能是虚数?
Answer
特征值必须是实数,不可能是虚数。
证明如下:
假设$(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
非方矩不存在逆,但是有广义逆或者说伪逆。
对于一个矩阵$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$$
如果A是列满秩就存在左逆元
如果A是行满秩就存在右逆元
两个存在都不是唯一的
如果A既存在左逆元又存在右逆元 那这个矩阵就是方阵,
并且左逆元=右逆=矩阵的逆。
如果既不是列满秩也不是行满秩就可以求广义逆。
Question 1000178: 矩阵A乘以B的秩等于B乘以A的秩吗
数学 线性代数假设两个矩阵A和B,那么rank(AB)和rank(BA)一定相等吗?
Answer
- 它们的秩未必相等。
如果$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
不一定的。举个反例就可以说明。
假设$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矩阵
数学 线性代数 数值计算 最优化Answer
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
它们不是一个回事,但是本质上是一样的。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
如果$A$是可逆矩阵,那么两者等价。
如果不可逆的话,$Ax=b$的解是$A^TAx=A^Tb$的解的真子集。
Question 1001060: 广义逆与svd之间有什么关系?
数学 线性代数如何用广义逆来拟合直线?如何用svd来拟合平面?
两者之间有什么关系?
Answer
可以参考下非方阵的逆是什么
Question 1001095: 两个非齐次线性方程组同解问题
数学 线性代数已知和有相同非空解集
证明:存在可逆阵,使得
Answer
Question 1001198: numpy怎么进行矩阵乘法
数学 线性代数numpy里的两个array,怎么进行矩阵乘法?
Answer
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
说白了,一个矩阵的列空间就是一个矩阵算子的值域。
对于一个$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
向量空间就是线性空间。
我们一般说线性空间的元素是向量,其实不一定。只要是符合定义的空间都是线性空间,元素为向量的线性空间只是一个特例。
线性空间的定义:含有零元,对加法封闭,对常数乘法封闭。
它们是一回事,只是叫法不同而已
Question 1001500: 常说的低秩分解或者低秩逼近是什么意思?
数学 线性代数 数值计算机器学习和矩阵计算中常提到的低秩分解或者低秩逼近是什么意思?
Answer
低秩分解:找到两个矩阵,使得两个矩阵的乘积接近原矩阵,并且两个矩阵的乘积的秩低于原矩阵
低秩逼近:找到一个秩比原矩阵小的矩阵,使得两者接近
Question 1001606: 向量的内积、外积分别是什么意思?
数学 线性代数向量的内积、外积分别是什么意思?
Answer
两个向量的内积(有时候叫做点积),得到的是一个数
$\langle u, v\rangle = u^Tv$,要求$u$和$v$的维数必须是一样的。
两个向量的外积,得到的是一个矩阵
如果把向量写成列向量的形式,那么外积就是$u\circ v=uv^T$
比如$u$是$m\times 1$的向量,$v$是$n\times 1$的向量,那么外积的结果就是$m\times n$的矩阵。
比如说两个向量
$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
不是的,tensor的秩或者rank一般就指的维度,比如一个3x4的tensor,rank是2;3x5x5的tensor,rank就是3.
rank就是tensor里axis的个数。千万不要和矩阵的秩混淆。
上面三个tensor的rank分别为1,2,3.
Question 1002166: 部分主元
数学 线性代数 数值计算高斯消元选主元的时候用到了部分主元(partial pivot),这里部分主元为什么要选一列中最大的数呢?
如果选最小的数,那下面消每一行的时候要乘的是一个整数;
而选最大的数,下面消每一行要乘一个分数;
所以为什么不选最小的数?
Answer
我觉得这个主要是计算机的考虑,因为计算机有浮点误差,如果你选最小的数作为主元,浮点误差就会显得格外明显。
比如一列当中有100,10,0.00001。0.00001最小,但是这个数值当中有多少是因为浮点误差造成的呢,比重就相对很大了。100的话就安全得多了。
Question 1003347: 半正定或者正定矩阵一定要是对称的吗?
数学 线性代数半正定或者正定矩阵一定要是对称的吗?还是说只要特征值非负或者大于0就可以了?
Answer
按照严格定义来说,如果是实矩阵,正定矩阵一定是对称的;如果是复矩阵,正定矩阵一定是埃尔米特的。
Question 1003444: 矩阵分解中的迭代步骤是怎么推导的?
统计/机器学习 线性代数 数值计算 推荐系统把矩阵$V$分解成$WH$两个矩阵的乘积,黄色那部分的迭代公式是怎么得到的?
Answer
原始论文是algorithms-for-non-negative-matrix-factorization。
一般的gradient descent算法下,
其中$\eta_{a\mu}$是步长。
当每个变量步长不同时,
第6等式可变为第4等式
然后论文在数学上证明此方法收敛。
我没有仔细看证明,感觉上是变步长的gradient descent。还不知道(4)和(6)哪个收敛速度更快。
Question 1003646: 怎么求一个超平面的法向量(垂直向量)?
数学 线性代数 几何比如已知一个超平面的向量表达式为aTx+b=0,怎么求这个超平面的法向量(垂直向量)?
Answer
如果一个超平方的方程是$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
@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$是半正定的。
因为拉普拉斯矩阵$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
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
矩阵的二范数是根据向量的二范数的定义引申出来的,矩阵二范数是一种诱导范数(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-范数也就是最大奇异值。
矩阵的范数是根据向量的范数诱导的,所以名字一样,定义不同。
类似的还是1-范数。
Question 1006093: tensorflow矩阵相乘报错module 'tensorflow' has no attribute 'mul'
统计/机器学习 线性代数 TensorFlow代码:product = tf.mul(X, w)
错误:module 'tensorflow' has no attribute 'mul'
以前没遇到过这个问题
Answer
应该是你换过tensorflow的版本了,新版本早就没有tf.mul了,换成tf.multiply了。
Question 1007379: 交替最小二乘法(ALS)一定会收敛吗?
统计/机器学习 线性代数 推荐系统请问一下,这里讨论的ALS算法的收敛性如何?是一定会收敛的吗?
Answer
这取决于问题本身,如果问题本身是凸问题,那么ALS是可以收敛的。如果是非凸的,那么有可能收敛到局部极小值,不能保证收敛到最优值。
来自sofasofa(一个专业的机器学习社区),建议去sofa社区阅读,这里只是记录。防止网站在网络中走失。