机器学习与线性代数
目录索引
- 一 矩阵
- 1.线性代数的应用(以SVD为例)
- 2.方阵的行列式
- (1)方阵的行列式
- (2)代数余子式
- (3)行列式计算
- (4)范德蒙行列式
- 3.矩阵乘法和状态转移矩阵
- (1)矩阵乘法
- (2)概率转移矩阵
- (3)矩阵和向量的乘法
- 二 特征值和特征向量
- 1.对称阵,正交阵和正定阵
- (1)正交阵
- (2)特征值和特征向量
- (3)正定阵
- 三 矩阵求导
一 矩阵
1.线性代数的应用(以SVD为例)
SVD是在机器学习中广泛使用的算法,不光可以用于降维算法的特征分解,也可以用于推荐系统,以及自然语言处理等领域,是很多机器学习算法的基石。
奇异值分解是一种重要的矩阵分解方法,可以看作方阵在任意矩阵上的推广。
假设A是一个 m × n m\times n m×n阶实矩阵,则存在一个分解使得
A m × n = U m × m ∑ m × n V n × n T A_{m\times n}=U_{m\times m}\sum_{m\times n}V_{n\times n}^{T} Am×n=Um×mm×n∑Vn×nT
求解如下 ( A T ⋅ A ) ν i = λ i ν i ⇒ { δ i = λ i μ i = 1 δ i A ⋅ ν i (A^T\cdot A)\nu_i=\lambda_i\nu_i\Rightarrow \begin{cases} \delta_i=\sqrt{\lambda_i} \\ \mu_i=\frac{1}{\delta_i}A\cdot \nu_i \end{cases} (AT⋅A)νi=λiνi⇒{δi=λiμi=δi1A⋅νi
其中, ∑ \sum ∑对角线上的元素称为矩阵A的奇异值
U U U的第 i i i列称为A的关于 δ i \delta_i δi的右奇异向量
V V V的第 i i i列称为A的关于 δ i \delta_i δi的左奇异向量
2.方阵的行列式
(1)方阵的行列式
一阶方阵的行列式为元素的本身;
n n n阶方阵的行列式等于它的任一行(或列)的各元素与其对应的代数余子式和。
(2)代数余子式
任一个 n n n阶行列式A中,把 ( i , j ) (i,j) (i,j)元素 a i j a_{ij} aij所在的第i行和第j列划去后,留下的n-1阶方阵的行列式叫做 a i j a_{ij} aij的余子式,记作 M i j M_{ij} Mij,代数余子式为 A i j = ( − 1 ) i + j M i j A_{ij}=(-1)^{i+j}M_{ij} Aij=(−1)i+jMij。
(3)行列式计算
∀ 1 ≤ i ≤ n , ∣ A ∣ = ∑ j = 1 n a i j ⋅ ( − 1 ) i + j M i j \forall 1 \le i \le n, |A|=\sum_{j=1}^{n}a_{ij}\cdot (-1)^{i+j}M_{ij} ∀1≤i≤n,∣A∣=j=1∑naij⋅(−1)i+jMij
∀ 1 ≤ j ≤ n , ∣ A ∣ = ∑ i = 1 n a i j ⋅ ( − 1 ) i + j M i j \forall 1 \le j \le n, |A|=\sum_{i=1}^{n}a_{ij}\cdot (-1)^{i+j}M_{ij} ∀1≤j≤n,∣A∣=i=1∑naij⋅(−1)i+jMij
(4)范德蒙行列式
D n = ∣ 1 1 1 ⋯ 1 x 1 x 2 x 3 ⋯ x n x 1 2 x 2 2 x 3 2 ⋯ x n 2 ⋮ ⋮ ⋮ ⋱ ⋮ x 1 n − 1 x 2 n − 1 x 3 n − 1 ⋯ x n n − 1 ∣ = ∏ i , j ( n ≥ i > j ≥ 1 ) ( x i − x j ) D_n=\begin{vmatrix} 1 & 1 & 1 & \cdots & 1 \\ x_1 & x_2 & x_3 & \cdots & x_n \\ x_1^2 & x_2^2 & x_3^2 & \cdots & x_n^2 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ x_1^{n-1} & x_2^{n-1} & x_3^{n-1} & \cdots & x_n^{n-1} \\ \end{vmatrix}=\prod_{i,j(n\ge i>j \ge 1)}(x_i-x_j) Dn=∣∣∣∣∣∣∣∣∣∣∣1x1x12⋮x1n−11x2x22⋮x2n−11x3x32⋮x3n−1⋯⋯⋯⋱⋯1xnxn2⋮xnn−1∣∣∣∣∣∣∣∣∣∣∣=i,j(n≥i>j≥1)∏(xi−xj)
举例:
D = ∣ 1 1 1 1 1 2 3 4 1 4 9 16 1 8 27 64 ∣ = ( 2 − 1 ) ( 3 − 2 ) ( 3 − 1 ) ( 4 − 3 ) ( 4 − 2 ) ( 4 − 1 ) = 12 D=\begin{vmatrix} 1 & 1 & 1 & 1 \\ 1 & 2 & 3 & 4 \\ 1 & 4 & 9 & 16 \\ 1 & 8 & 27 & 64 \\ \end{vmatrix}=(2-1)(3-2)(3-1)(4-3)(4-2)(4-1)=12 D=∣∣∣∣∣∣∣∣1111124813927141664∣∣∣∣∣∣∣∣=(2−1)(3−2)(3−1)(4−3)(4−2)(4−1)=12
3.矩阵乘法和状态转移矩阵
(1)矩阵乘法
A A A为 m × s m\times s m×s阶矩阵, B B B为 s × n s\times n s×n阶矩阵,那么 C = A × B C=A\times B C=A×B是 m × n m\times n m×n阶矩阵,其中
c i j = ∑ k = 1 s a i k b k j c_{ij}=\sum_{k=1}^{s}a_{ik}b_{kj} cij=k=1∑saikbkj
(2)概率转移矩阵
考虑某随机过程 π \pi π,它的状态有 n n n个,用 1 ∼ n 1\sim n 1∼n表示。记在当前时刻 t t t时位于 i i i状态,它在 t + 1 t+1 t+1时刻位于 j j j状态的概率为 P ( i , j ) = P ( j ∣ i ) P(i,j)=P(j|i) P(i,j)=P(j∣i),即状态转移概率只依赖于前一个概率。

举例,假定按照经济状况将人群分成上、中、下三个阶乘,用1、2、3表示。假定当前处于某阶层只和上一代有关,即:考虑父代为第 i i i阶层,则子代为第 j j j阶层的概率。如果一个人的收入属于下层类别,则它的孩子属于下层收入的概率为0.65,属于中层收入的概率为0.28,属于上层收入的概率为0.07。从父代到子代,有如下转移概率矩阵:

转移状态图为

第 n + 1 n+1 n+1代中处于第 j j j个阶层的概率为
π n + 1 = ∑ i = 1 k π ( X n = i ) ⋅ P ( X n + 1 = j ∣ X n = i ) \pi_{n+1}=\sum_{i=1}^{k}\pi(X_n=i)\cdot P(X_{n+1}=j|X_n=i) πn+1=i=1∑kπ(Xn=i)⋅P(Xn+1=j∣Xn=i)
⇒ π n + 1 = π n ⋅ P \Rightarrow \pi^{n+1}=\pi^{n}\cdot P ⇒πn+1=πn⋅P
因此,矩阵 P P P为(条件)概率转移矩阵,第 i i i行元素表示为在上一个状态为 i i i时的分布概率,即每一行元素概率和为1。
思考:初始概率分布 π \pi π对最终分布的影响?
探索1:初始概率分布为 π = [ 0.21 , 0.68 , 0.1 ] \pi=[0.21,0.68,0.1] π=[0.21,0.68,0.1]迭代结果

探索2:初始概率分布为 π = [ 0.75 , 0.15 , 0.1 ] \pi=[0.75,0.15,0.1] π=[0.75,0.15,0.1]迭代结果

可以看出,初始概率不同,但经过若干次迭代, π \pi π将最终稳定到某个分布上,这是概率转移矩阵的性值,事实上P矩阵的n次幂最终也会收敛。具体原因以及深入的研究会在马尔可夫模型中继续探讨,本次暂不深入探讨。
(3)矩阵和向量的乘法
A为 m × n m \times n m×n的矩阵,x为 n × 1 n \times 1 n×1的列向量,则Ax为 m × 1 m \times 1 m×1的列向量,记为 y ⃗ = A ⋅ x ⃗ \vec{y}=A\cdot \vec{x} y=A⋅x
由于 n n n维向量和 n n n维空间上的点一一对应,上式实际上给出了从n维空间上的点到m维空间上的点的线性变换。特殊地,若 m = n m=n m=n,则Ax完成了n维空间内的线性变换,比如旋转或者平移等。
4.矩阵和向量组
(1)矩阵的秩
设在矩阵A中有一个不等于零的r阶子式D,且所有r+1阶子式(若存在)为0,那么D为矩阵A的最高阶非零子式,r称为矩阵A的秩,记为 R ( A ) = r R(A)=r R(A)=r。
n × n n\times n n×n可逆矩阵秩为n;
可逆矩阵又称为满秩矩阵;
矩阵的秩等于它行(列)向量组的秩。
(2)秩和线性方程组解的关系
{ a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n = b 2 ⋯ ⋯ a m 1 x 1 + a m 2 x 2 + ⋯ + a m n x n = b m ⇒ A x ⃗ = b ⃗ \left\{ \begin{array}{c} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1 \\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2 \\ \cdots \cdots \\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n=b_m \\ \end{array} \right. \Rightarrow A\vec{x}=\vec{b} ⎩⎪⎪⎨⎪⎪⎧a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2⋯⋯am1x1+am2x2+⋯+amnxn=bm⇒Ax=b
无解的充要条件是: R ( A ) < R ( A , b ) R(A)
有唯一解的充要条件是: R ( A ) = R ( A , b ) = n R(A)=R(A,b)=n R(A)=R(A,b)=n;
有无穷多解的充要条件是: R ( A ) = R ( A , b ) < n R(A)=R(A,b)
A x ⃗ = 0 A\vec{x}=0 Ax=0有非零解的充要条件是 R ( A ) < n R(A)
(3)向量组等价
向量 b ⃗ \vec{b} b可由向量组: a 1 ⃗ , a 2 ⃗ , ⋯ , a m ⃗ \vec{a_1},\vec{a_2},\cdots,\vec{a_m} a1,a2,⋯,am线性表出的充要条件是矩阵 A = ( a 1 ⃗ , a 2 ⃗ , ⋯ , a m ⃗ ) A=(\vec{a_1},\vec{a_2},\cdots,\vec{a_m}) A=(a1,a2,⋯,am)的秩等于矩阵 B = ( a 1 ⃗ , a 2 ⃗ , ⋯ , a m ⃗ , b ⃗ ) B=(\vec{a_1},\vec{a_2},\cdots,\vec{a_m},\vec{b}) B=(a1,a2,⋯,am,b)的秩。
设有两个向量组 A : a 1 ⃗ , a 2 ⃗ , ⋯ , a m ⃗ A:\vec{a_1},\vec{a_2},\cdots,\vec{a_m} A:a1,a2,⋯,am和 B : b 1 ⃗ , b 2 ⃗ , ⋯ , b n ⃗ B:\vec{b_1},\vec{b_2},\cdots,\vec{b_n} B:b1,b2,⋯,bn,若向量组A和向量组B能够相互表出,则称向量组A和向量组B等价。
若向量组B可以由向量组A线性表出,则对于每个向量 b j ⃗ \vec{b_j} bj,存在 k 1 j , k 2 j , ⋯ , k m j k_{1j},k_{2j},\cdots,k_{mj} k1j,k2j,⋯,kmj,使得
b j ⃗ = k 1 j a 1 ⃗ + k 2 j a 2 ⃗ + ⋯ + k m j a m ⃗ = ( a 1 ⃗ , a 2 ⃗ , ⋯ , a m ⃗ ) { k 1 j k 2 j ⋯ k m j } \vec{b_j}=k_{1j}\vec{a_1}+k_{2j}\vec{a_2}+\cdots+k_{mj}\vec{a_m}=(\vec{a_1},\vec{a_2},\cdots,\vec{a_m})\begin{Bmatrix} k_{1j} \\ k_{2j} \\ \cdots \\ k_{mj} \\ \end{Bmatrix} bj=k1ja1+k2ja2+⋯+kmjam=(a1,a2,⋯,am)⎩⎪⎪⎨⎪⎪⎧k1jk2j⋯kmj⎭⎪⎪⎬⎪⎪⎫
从而得到系数矩阵K
( b 1 ⃗ b 2 ⃗ ⋯ b n ⃗ ) = ( a 1 ⃗ a 2 ⃗ ⋯ a m ⃗ ) ( k 11 ⃗ k 12 ⃗ ⋯ k 1 n ⃗ k 21 ⃗ k 22 ⃗ ⋯ k 2 n ⃗ ⋮ ⋮ ⋱ ⋮ k m 1 ⃗ k m 2 ⃗ ⋯ k m n ⃗ ) \begin{pmatrix}\vec{b_1}&\vec{b_2}& \cdots &\vec{b_n} \end{pmatrix}=\begin{pmatrix}\vec{a_1}&\vec{a_2}& \cdots &\vec{a_m} \end{pmatrix}\begin{pmatrix}\vec{k_{11}}&\vec{k_{12}}& \cdots &\vec{k_{1n}} \\ \vec{k_{21}}&\vec{k_{22}}& \cdots &\vec{k_{2n}}\\ \vdots&\vdots& \ddots &\vdots\\ \vec{k_{m1}}&\vec{k_{m2}}& \cdots &\vec{k_{mn}}\\ \end{pmatrix} (b1b2⋯bn)=(a1a2⋯am)⎝⎜⎜⎜⎛k11k21⋮km1k12k22⋮km2⋯⋯⋱⋯k1nk2n⋮kmn⎠⎟⎟⎟⎞
二 特征值和特征向量
1.对称阵,正交阵和正定阵
(1)正交阵
若 n n n阶矩阵 A A A满足 A T A = I A^T A=I ATA=I,则称A为正交矩阵,简称为正交阵。A是正交阵的充要条件是A的列(行)向量都是单位向量,且两两正交。若A为正交阵,则 A x ⃗ A\vec{x} Ax为正交变换,正交变换不改变向量长度。
(2)特征值和特征向量
A A A是 n n n阶矩阵,若数 λ \lambda λ和 n n n维非0列向量 x ⃗ \vec{x} x满足 A x ⃗ = λ x ⃗ A\vec{x}=\lambda \vec{x} Ax=λx,则称 λ \lambda λ为A的特征值, x ⃗ \vec{x} x为A的对应于特征值 λ \lambda λ的特征向量。
根据定义,立刻可以得到 ( A − λ I ) x ⃗ = 0 (A-\lambda I)\vec{x}=0 (A−λI)x=0,令关于 λ \lambda λ的多项式 ∣ A − λ I ∣ |A-\lambda I| ∣A−λI∣为0,方程 ∣ A − λ I ∣ = 0 |A-\lambda I|=0 ∣A−λI∣=0的根是特征值;将根 λ 0 \lambda_0 λ0带入方程组 ( A − λ I ) x ⃗ = 0 (A-\lambda I)\vec{x}=0 (A−λI)x=0求解到的非零解,即 λ 0 \lambda_0 λ0对应的特征向量。
特征值的性质:
设n阶矩阵 A = ( a i j ) A=(a_{ij}) A=(aij)的特征值为 λ 1 , λ 1 , ⋯ , λ n \lambda1,\lambda1,\cdots,\lambda_n λ1,λ1,⋯,λn,则有
λ 1 + λ 2 + ⋯ + λ n = a 11 + a 22 + ⋯ + a n n \lambda_1+\lambda_2+\cdots+\lambda_n=a_{11}+a_{22}+\cdots +a_{nn} λ1+λ2+⋯+λn=a11+a22+⋯+ann;
λ 1 ⋅ λ 2 ⋯ λ n = ∣ A ∣ \lambda_1 \cdot \lambda_2 \cdots \lambda_n=|A| λ1⋅λ2⋯λn=∣A∣。
另外,已知 λ \lambda λ是方阵A的特征值,则有
λ 2 \lambda^2 λ2是 A 2 A^2 A2的特征值;
A可逆时, λ − 1 \lambda^{-1} λ−1是 A − 1 A^{-1} A−1的特征值(定义很容易证明)。
不同特征值对应的特征向量性质:
设 λ 1 , λ 2 , ⋯ , λ m \lambda_1,\lambda_2,\cdots,\lambda_m λ1,λ2,⋯,λm是方阵A的特征值, p 1 , p 2 , ⋯ , p m p_1,p_2,\cdots,p_m p1,p2,⋯,pm是依次与之对应的特征向量,若 λ 1 , λ 2 , ⋯ , λ m \lambda_1,\lambda_2,\cdots,\lambda_m λ1,λ2,⋯,λm各不相等,则 p 1 , p 2 , ⋯ , p m p_1,p_2,\cdots,p_m p1,p2,⋯,pm线性无关。
实对称矩阵引理:
实对称矩阵的特征值是实数;
实对称矩阵的特征向量可以取实向量;
实对称矩阵不同特征值的特征向量正交
结果证明:令实对称矩阵为A,其两个不同特征值分别 λ 1 , λ 2 \lambda_1,\lambda_2 λ1,λ2,对应的特征向量分别为 μ 1 , μ 2 \mu_1,\mu_2 μ1,μ2
{ A μ 1 = λ 1 μ 1 A μ 2 = λ 2 μ 2 ⇒ μ 1 T A μ 2 ‾ = μ 1 T λ 2 μ 2 ‾ \begin{cases} A\mu_1=\lambda_1 \mu_1\\ A\mu_2=\lambda_2 \mu_2 \Rightarrow \mu_1^T\underline{A\mu_2}= \mu_1^T\underline{\lambda_2\mu_2} \\ \end{cases} {Aμ1=λ1μ1Aμ2=λ2μ2⇒μ1TAμ2=μ1Tλ2μ2
⇒ ( A T μ 1 ) T μ 2 = λ 2 μ 1 T μ 2 ⇒ ( A μ 1 ) T μ 2 = λ 2 μ 1 T μ 2 \Rightarrow (A^T\mu_1)^T\mu_2=\lambda_2\mu_1^T\mu_2 \Rightarrow (A\mu_1)^T\mu_2=\lambda_2\mu_1^T\mu_2 ⇒(ATμ1)Tμ2=λ2μ1Tμ2⇒(Aμ1)Tμ2=λ2μ1Tμ2
⇒ ( λ 1 μ 1 ) T μ 2 = λ 2 μ 1 T μ 2 ⇒ λ 1 μ 1 T μ 2 = λ 2 μ 1 T μ 2 \Rightarrow (\lambda_1\mu_1)^T\mu_2=\lambda_2\mu_1^T\mu_2 \Rightarrow \lambda_1\mu_1^T\mu_2=\lambda_2\mu_1^T\mu_2 ⇒(λ1μ1)Tμ2=λ2μ1Tμ2⇒λ1μ1Tμ2=λ2μ1Tμ2
λ 1 ≠ λ 2 → μ 1 T μ 2 = 0 \underrightarrow{\lambda_1\neq\lambda_2} \mu_1^T\mu_2=0 λ1=λ2μ1Tμ2=0
得证。
最终结论:设A为实对称n阶矩阵,则必有正交阵P使得
P − 1 A P = P T A P = Λ P^{-1}AP=P^{T}AP=\Lambda P−1AP=PTAP=Λ
其中, Λ \Lambda Λ是以A的特征值为对角元的对角阵,该变换也成为合同变换,A和 Λ \Lambda Λ互为合同矩阵。
(3)正定阵
对于n阶方阵A,若任意n阶向量 x ⃗ \vec{x} x都有 x T A x > 0 x^TAx>0 xTAx>0,则称矩阵A为正定矩阵。若条件改为 x T A x ≥ 0 x^TAx\geq0 xTAx≥0,则称A为半正定。任意给定 A T A A^TA ATA,一定是半正定矩阵。
正定判定:
对称阵A为正定阵;
A的特征值都为正;
A的顺序主子式都大于0;
以上三命题等价。
4.QR分解
对于 m × n m \times n m×n列满秩矩阵,必有 A m n = Q m n × R n n A_{mn}=Q_{mn}\times R_{nn} Amn=Qmn×Rnn
其中, Q T Q = I Q^TQ=I QTQ=I,即列正交矩阵,R为非奇异上三角矩阵。当要求R的对角元素为正时,该分解唯一。可用于求解A的逆矩阵以及A的特征值。
QR分解计算特征值(A为n阶方阵)
A = Q R ⇒ A 1 = Q T A Q = R Q A=QR \Rightarrow A_1=Q^TAQ=RQ A=QR⇒A1=QTAQ=RQ
⋯ \cdots ⋯
A k = Q k R k ⇒ A k + 1 = R k Q k A_k=Q_kR_k \Rightarrow A_{k+1}=R_kQ_k Ak=QkRk⇒Ak+1=RkQk
⋯ \cdots ⋯
A k → d i a g ( λ 1 , λ 1 , ⋯ , λ n ) A_k\rightarrow diag(\lambda_1,\lambda_1,\cdots,\lambda_n) Ak→diag(λ1,λ1,⋯,λn)
三 矩阵求导
1.向量对向量求导
A为 m × n m\times n m×n矩阵, x ⃗ \vec{x} x为 n × 1 n\times 1 n×1的列向量,则 A x ⃗ A\vec{x} Ax为 m × 1 m\times1 m×1的列向量,记 y ⃗ = A ⋅ x ⃗ \vec{y}=A\cdot \vec{x} y=A⋅x,则 ∂ y ⃗ ∂ x ⃗ = A T \frac{\partial{\vec{y}}}{\partial{\vec{x}}}=A^T ∂x∂y=AT
公式推导
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋯ ⋯ ⋯ ⋯ a m 1 a m 2 ⋯ a m n ] x ⃗ = { x 1 x 2 ⋮ x n } A ⋅ x ⃗ = { a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n ⋮ a m 1 x 1 + a m 2 x 2 + ⋯ + a m n x n } A=\begin{bmatrix} a_{11} & a_{12}& \cdots &a_{1n} \\ a_{21} & a_{22}& \cdots &a_{2n} \\ \cdots & \cdots& \cdots& \cdots \\ a_{m1} & a_{m2}& \cdots &a_{mn} \\ \end{bmatrix} \vec{x}=\begin{Bmatrix} x_{1}\\ x_{2}\\ \vdots\\ x_{n}\\ \end{Bmatrix}A\cdot \vec{x}= \begin{Bmatrix} a_{11}x_1+a_{12}x_2+\cdots + a_{1n}x_n\\ a_{21}x_1+a_{22}x_2+\cdots + a_{2n}x_n\\ \vdots \\ a_{m1}x_1+a_{m2}x_2+\cdots + a_{mn}x_n\\ \end{Bmatrix} A=⎣⎢⎢⎡a11a21⋯am1a12a22⋯am2⋯⋯⋯⋯a1na2n⋯amn⎦⎥⎥⎤x=⎩⎪⎪⎪⎨⎪⎪⎪⎧x1x2⋮xn⎭⎪⎪⎪⎬⎪⎪⎪⎫A⋅x=⎩⎪⎪⎪⎨⎪⎪⎪⎧a11x1+a12x2+⋯+a1nxna21x1+a22x2+⋯+a2nxn⋮am1x1+am2x2+⋯+amnxn⎭⎪⎪⎪⎬⎪⎪⎪⎫
∂ y ⃗ ∂ x ⃗ = ∂ A x ⃗ ∂ x ⃗ = { a 11 a 21 ⋯ a m 1 a 12 a 22 ⋯ a m 2 ⋮ ⋮ ⋱ ⋮ a 1 n a 2 n ⋯ m m n } = A T \frac{\partial{\vec{y}}}{\partial{\vec{x}}}=\frac{\partial{A\vec{x}}}{\partial{\vec{x}}}= \begin{Bmatrix} a_{11} & a_{21}& \cdots &a_{m1} \\ a_{12} & a_{22}& \cdots &a_{m2} \\ \vdots & \vdots& \ddots& \vdots \\ a_{1n} & a_{2n}& \cdots &m_{mn} \\ \end{Bmatrix}=A^T ∂x∂y=∂x∂Ax=⎩⎪⎪⎪⎨⎪⎪⎪⎧a11a12⋮a1na21a22⋮a2n⋯⋯⋱⋯am1am2⋮mmn⎭⎪⎪⎪⎬⎪⎪⎪⎫=AT
结论推广: ∂ y ⃗ ∂ x ⃗ T = A \frac{\partial{\vec{y}}}{\partial{\vec{x}^T}}=A ∂xT∂y=A
∂ x ⃗ T A ∂ x ⃗ = A \frac{\partial{\vec{x}^TA}}{\partial{\vec{x}}}=A ∂x∂xTA=A
2.标量对向量求导
A为 m × n m \times n m×n矩阵, x ⃗ \vec{x} x为 n × 1 n \times 1 n×1列向量,记 y = x ⃗ T A x ⃗ y=\vec{x}^TA\vec{x} y=xTAx。
∂ y x ⃗ = ( A T + A ) x ⃗ \frac{\partial{y}}{\vec{x}}=(A^T+A)\vec{x} x∂y=(AT+A)x
公式推导
记 : A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋯ ⋯ ⋯ ⋯ a n 1 a n 2 ⋯ a n n ] x ⃗ = { x 1 x 2 ⋮ x n } 记: A=\begin{bmatrix} a_{11} & a_{12}& \cdots &a_{1n} \\ a_{21} & a_{22}& \cdots &a_{2n} \\ \cdots & \cdots& \cdots& \cdots \\ a_{n1} & a_{n2}& \cdots &a_{nn} \\ \end{bmatrix} \vec{x}=\begin{Bmatrix} x_{1}\\ x_{2}\\ \vdots\\ x_{n}\\ \end{Bmatrix} 记:A=⎣⎢⎢⎡a11a21⋯an1a12a22⋯an2⋯⋯⋯⋯a1na2n⋯ann⎦⎥⎥⎤x=⎩⎪⎪⎪⎨⎪⎪⎪⎧x1x2⋮xn⎭⎪⎪⎪⎬⎪⎪⎪⎫
有 : x ⃗ T A x ⃗ = ( x 1 , x 2 , ⋯ , x n ) ⋅ ( ∑ j = 1 n a 1 j x j ∑ j = 1 n a 2 j x j ⋯ ∑ j = 1 n a n j x j ) T 有:\vec{x}^TA\vec{x}=(x_1,x_2,\cdots,x_n) \cdot \begin{pmatrix} \sum_{j=1}^{n}a_{1j}x_j & \sum_{j=1}^{n}a_{2j}x_j & \cdots & \sum_{j=1}^{n}a_{nj}x_j \end{pmatrix}^T 有:xTAx=(x1,x2,⋯,xn)⋅(∑j=1na1jxj∑j=1na2jxj⋯∑j=1nanjxj)T
= ∑ i = 1 n ( ( ∑ j = 1 n a i j x j ) x i ) = ∑ i = 1 n ∑ j = 1 n a i j x i x j =\sum_{i=1}^{n}((\sum_{j=1}^{n}a_{ij}x_j)x_i)=\sum_{i=1}^{n}\sum_{j=1}^{n}a_{ij}x_ix_j =i=1∑n((j=1∑naijxj)xi)=i=1∑nj=1∑naijxixj
则 : ∂ x ⃗ T A x ⃗ ∂ x i ⃗ = ( ∑ j = 1 n a i j x j ) + ( ∑ i = 1 n a j i x i ) = ∑ j = 1 n ( a i j + a j i ) x j 则:\frac{\partial{\vec{x}^T}A\vec{x}}{\partial{\vec{x_i}}}=\begin{pmatrix} \sum_{j=1}^{n}a_{ij}x_{j} \end{pmatrix}+\begin{pmatrix} \sum_{i=1}^{n}a_{ji}x_{i} \end{pmatrix}=\sum_{j=1}^{n}(a_{ij}+a_{ji})x_j 则:∂xi∂xTAx=(∑j=1naijxj)+(∑i=1najixi)=j=1∑n(aij+aji)xj
若A为对称矩阵,则 ∂ y x ⃗ = 2 A x ⃗ \frac{\partial{y}}{\vec{x}}=2A\vec{x} x∂y=2Ax
3.标量对矩阵求导
A为 n × n n \times n n×n方阵,|A| 为A的行列式,则 ∂ ∣ A ∣ ∂ A = ( A ∗ ) T = ∣ A ∣ ⋅ ( A ) − 1 \frac{\partial|A|}{\partial{A}}=(A^*)^T=|A|\cdot (A)^{-1} ∂A∂∣A∣=(A∗)T=∣A∣⋅(A)−1
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
