【机器学习】数学基础——线性代数篇


下面这几篇文章对我理解线性空间和矩阵有着非常大的帮助,有一种想见恨晚的感觉。

一、向量及其运算

维基百科:https://en.wikipedia.org/wiki/Euclidean_vector

向量:有大小(长度)和方向的物理对象,也称为矢量。有行向量和列向量。
a = [ a 1 , a 2 , a 3 ] , b = [ b 1 , b 2 , b 3 ] \textbf{a}=\left [ a_{1},a_{2},a_{3} \right ],\textbf{b}=\left [ b_{1},b_{2},b_{3} \right ] a=[a1,a2,a3],b=[b1,b2,b3]

  • 加减法:满足交换律、分配律和结合律。处于同一坐标系的两个向量可以进行加减法计算,对应元素相加或相减。
    a ± b = [ a 1 ± b 1 , a 2 ± b 2 , a 3 ± b 3 ] \textbf{a} \pm \textbf{b}=\left [ a_{1}\pm b_{1},a_{2}\pm b_{2},a_{3}\pm b_{3} \right ] a±b=[a1±b1,a2±b2,a3±b3]
  • 数乘(Scalar multiplication):向量中的每一个要素都要乘上标量 r ( r ∈ R ) r(r\in \mathbb{R}) r(rR)
    r a = [ r a 1 , r a 2 , r a 3 ] r \textbf{a}=\left [ ra_{1},ra_{2},ra_{3} \right ] ra=[ra1,ra2,ra3]
  • 点乘(Dot product):也称为内积(inner product),结果是标量。
    a ⋅ b = a 1 b 1 + a 2 b 2 + a 3 b 3 \textbf{a} \cdot \textbf{b}=a_{1}b_{1}+a_{2}b_{2}+a_{3}b_{3} ab=a1b1+a2b2+a3b3
  • 叉乘(Cross product):解析几何中也称为外积(outer product),结果是向量。
    a × b = [ a 2 b 3 − a 3 b 2 , a 3 b 1 − a 1 b 3 , a 1 b 2 − a 2 b 1 ] \textbf{a} \times \textbf{b}=[a_{2}b_{3}-a_{3}b_{2},a_{3}b_{1}-a_{1}b_{3},a_{1}b_{2}-a_{2}b_{1}] a×b=[a2b3a3b2,a3b1a1b3,a1b2a2b1]
  • 外积(Outer product):线性代数中的外积,用符号 ∘ \circ 表示,结果是一个矩阵。
    a ∘ b = a T b = [ a 1 b 1 a 1 b 2 a 1 b 3 a 2 b 1 a 2 b 2 a 2 b 3 a 3 b 1 a 3 b 2 a 3 b 3 ] \textbf{a} \circ \textbf{b}=\textbf{a}^T\textbf{b}=\begin{bmatrix} a_1b_1 & a_1b_2 & a_1b_3\\ a_2b_1 & a_2b_2 & a_2b_3\\ a_3b_1 & a_3b_2 & a_3b_3 \end{bmatrix} ab=aTb=a1b1a2b1a3b1a1b2a2b2a3b2a1b3a2b3a3b3
  • (Norm):也称为向量的长度(length),通常用 ∥ a ∥ \left \| \textbf{a} \right \| a表示。
    ∥ a ∥ = a ⋅ a = a 1 2 + a 2 2 + a 3 2 \left \| \textbf{a} \right \|=\sqrt{\textbf{a} \cdot \textbf{a} }=\sqrt{a_{1}^2+a_{2}^2+a_{3}^2} a=aa =a12+a22+a32

二、矩阵及其运算

维基百科:https://en.wikipedia.org/wiki/Matrix_(mathematics)
     https://en.wikipedia.org/wiki/Invertible_matrix (逆矩阵)
     https://en.wikipedia.org/wiki/Adjugate_matrix (伴随矩阵)
     https://en.wikipedia.org/wiki/Generalized_inverse( 广义逆)

矩阵:由数字、符号、表达式,组织成行和列的矩形数组。在应用中,矩阵是具有相同特征和纬度的对象的集合,表现为一张二维数据表。其意义是一个对象表示为矩阵中的一行,一个特征表示为矩阵中的一列,每个特征都有数值型的取值。

  • 矩阵乘法(Matrix multiplication):如果, A A A m × n m\times n m×n 矩阵, B B B n × p n\times p n×p 矩阵,则 A B AB AB m × p m\times p m×p 矩阵。矩阵 A B AB AB的第 i i i j j j列的值是矩阵 A A A的第 i i i行与矩阵 B B B的第 j j j列的向量的点乘结果。矩阵乘法满足结合律和分配律,但不满足交换律。
  • 转置矩阵 m × n m\times n m×n 维的矩阵 A A A,转置后得到的 A T A^{T} AT 的维度是 n × m n\times m n×m ,有 A i j T = A j i A^{T}_{ij}=A_{ji} AijT=Aji
  • 逆矩阵:对于方阵 A A A,如果存在方阵 B B B,使得 A B = B A = I n AB=BA=I_{n} AB=BA=In,其中 I n I_{n} In是单位矩阵,则称矩阵 A A A和矩阵 B B B互为逆矩阵。矩阵 A A A可逆当且仅当它是满秩矩阵。
    A − 1 = A ∗ ∣ A ∣ A^{-1}=\frac{A^*}{\left | A \right |} A1=AA A ∗ = [ A 11 A 21 ⋯ A n 1 A 12 A 22 ⋯ A n 2 ⋮ ⋮ ⋱ ⋮ A 1 n A 2 n ⋯ A n n ] , 是 A 的 伴 随 矩 阵 , 其 中 A i j = ( − 1 ) i + j M i j A^*=\begin{bmatrix} A_{11} & A_{21} & \cdots & A_{n1}\\ A_{12} & A_{22} & \cdots & A_{n2} \\ \vdots & \vdots & \ddots & \vdots \\ A_{1n} & A_{2n} & \cdots & A_{nn} \end{bmatrix},是A的伴随矩阵,其中A_{ij}=(-1)^{i+j}M_{ij} A=A11A12A1nA21A22A2nAn1An2AnnA,Aij=(1)i+jMij M i j 是 将 矩 阵 A 的 元 素 a i j 所 在 的 第 i 行 第 j 列 元 素 划 去 后 , 得 到 的 n − 1 阶 矩 阵 所 确 定 的 行 列 式 M_{ij}是将矩阵A的元素a_{ij}所在的第i行第j列元素划去后,得到的n-1阶矩阵所确定的行列式 MijAaijijn1
  • 广义逆:伪逆矩阵是逆矩阵的广义形式。由于奇异矩阵或非方阵的矩阵不存在逆矩阵,定义一个与 A A A的转置矩阵 A T A^{T} AT 同型的矩阵 X X X。若满足条件1,称矩阵 X X X是矩阵 A A A的广义逆矩阵(generalized inverse);若满足条件1、2,称矩阵 X X X是矩阵 A A A的自反广义逆(reflexive generalized inverse);若同时满足4个条件,,此时称矩阵 X X X是矩阵 A A A的伪逆(pseudoinverse)。
    1. A X A = A ;    2. X A X = X ;    3. ( A X ) ∗ = A X ;    4. ( X A ) ∗ = X A 1.AXA=A;\ \ 2.XAX=X;\ \ 3.(AX)^*=AX;\ \ 4.(XA)^*=XA 1.AXA=A  2.XAX=X  3.(AX)=AX  4.(XA)=XA

  要点:任何广义逆都可以用来确定线性方程组是否有解,如果有,则给出所有解。对于任意有解的 n × m n\times m n×m线性方程组 A x = b A\textbf{x}=b Ax=b,向量 x \textbf{x} x未知,向量 b b b是常量,矩阵 X X X是矩阵 A A A的广义逆, ω \omega ω是任意向量参数,则
x = X b + [ I − X A ] ω \textbf{x}=Xb+[I-XA]\omega x=Xb+[IXA]ω

  由上式可知,线性方程组有解,当且仅当 X b Xb Xb是其中的一个解。

三、张量及其运算

维基百科:https://en.wikipedia.org/wiki/Tensor

张量:几何代数中定义的张量是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量。
A = [ a 1 , 1 a 1 , 2 a 2 , 1 a 2 , 2 a 3 , 1 a 3 , 2 ] , B = [ b 1 , 1 b 1 , 2 b 1 , 3 b 2 , 1 b 2 , 2 b 1 , 3 ] A=\begin{bmatrix} a_{1,1} & a_{1,2}\\ a_{2,1} & a_{2,2}\\ a_{3,1} & a_{3,2} \end{bmatrix},B=\begin{bmatrix} b_{1,1} &b_{1,2} &b_{1,3}\\ b_{2,1} & b_{2,2} &b_{1,3} \end{bmatrix} A=a1,1a2,1a3,1a1,2a2,2a3,2,B=[b1,1b2,1b1,2b2,2b1,3b1,3]

  • 张量积:张量在向量空间里的线性映射,用符号 ⨂ \bigotimes 表示,若张量 A A A v × w v\times w v×w,张量 B B B x × y x\times y x×y,则张量 A ⨂ B A\bigotimes B AB ( v × x ) × ( w × y ) (v\times x)\times (w\times y) (v×x)×(w×y)
    A ⨂ B = [ a 1 , 1 [ b 1 , 1 b 1 , 2 b 1 , 3 b 2 , 1 b 2 , 2 b 2 , 3 ] a 1 , 2 [ b 1 , 1 b 1 , 2 b 1 , 3 b 2 , 1 b 2 , 2 b 2 , 3 ] a 2 , 1 [ b 1 , 1 b 1 , 2 b 1 , 3 b 2 , 1 b 2 , 2 b 2 , 3 ] a 2 , 2 [ b 1 , 1 b 1 , 2 b 1 , 3 b 2 , 1 b 2 , 2 b 2 , 3 ] a 3 , 1 [ b 1 , 1 b 1 , 2 b 1 , 3 b 2 , 1 b 2 , 2 b 2 , 3 ] a 3 , 2 [ b 1 , 1 b 1 , 2 b 1 , 3 b 2 , 1 b 2 , 2 b 2 , 3 ] ] = [ a 1 , 1 b 1 , 1 a 1 , 1 b 1 , 2 a 1 , 1 b 1 , 3 a 1 , 2 b 1 , 1 a 1 , 2 b 1 , 2 a 1 , 2 b 1 , 3 a 1 , 1 b 2 , 1 a 1 , 1 b 2 , 2 a 1 , 1 b 2 , 3 a 1 , 2 b 2 , 1 a 1 , 2 b 2 , 2 a 1 , 2 b 2 , 3 a 2 , 1 b 1 , 1 a 2 , 1 b 1 , 2 a 2 , 1 b 1 , 3 a 2 , 2 b 1 , 1 a 2 , 2 b 1 , 2 a 2 , 2 b 1 , 3 a 2 , 1 b 2 , 1 a 2 , 1 b 2 , 2 a 2 , 1 b 2 , 3 a 2 , 2 b 2 , 1 a 2 , 2 b 2 , 2 a 22 b 2 , 3 a 3 , 1 b 1 , 1 a 3 , 1 b 1 , 2 a 3 , 1 b 1 , 3 a 3 , 2 b 1 , 1 a 3 , 2 b 1 , 2 a 3 , 2 b 1 , 3 a 3 , 1 b 2 , 1 a 3 , 1 b 2 , 2 a 3 , 1 b 2 , 3 a 3 , 2 b 2 , 1 a 3 , 2 b 2 , 2 a 3 , 2 b 2 , 3 ] \begin{aligned} A\bigotimes B &=\begin{bmatrix} a_{1,1}\begin{bmatrix} b_{1,1} &b_{1,2} &b_{1,3}\\ b_{2,1} & b_{2,2} &b_{2,3} \end{bmatrix}& a_{1,2}\begin{bmatrix} b_{1,1} &b_{1,2} &b_{1,3}\\ b_{2,1} & b_{2,2} &b_{2,3} \end{bmatrix}\\ a_{2,1}\begin{bmatrix} b_{1,1} &b_{1,2} &b_{1,3}\\ b_{2,1} & b_{2,2} &b_{2,3} \end{bmatrix} & a_{2,2}\begin{bmatrix} b_{1,1} &b_{1,2} &b_{1,3}\\ b_{2,1} & b_{2,2} &b_{2,3} \end{bmatrix}\\ a_{3,1}\begin{bmatrix} b_{1,1} &b_{1,2} &b_{1,3}\\ b_{2,1} & b_{2,2} &b_{2,3} \end{bmatrix} & a_{3,2}\begin{bmatrix} b_{1,1} &b_{1,2} &b_{1,3}\\ b_{2,1} & b_{2,2} &b_{2,3} \end{bmatrix} \end{bmatrix} \\ & =\begin{bmatrix} a_{1,1}b_{1,1} & a_{1,1}b_{1,2} & a_{1,1}b_{1,3} & a_{1,2}b_{1,1} & a_{1,2}b_{1,2} & a_{1,2}b_{1,3} \\ a_{1,1}b_{2,1} & a_{1,1}b_{2,2} &a_{1,1} b_{2,3} & a_{1,2}b_{2,1} & a_{1,2}b_{2,2} & a_{1,2}b_{2,3} \\ a_{2,1}b_{1,1} & a_{2,1}b_{1,2} & a_{2,1}b_{1,3} & a_{2,2}b_{1,1} & a_{2,2}b_{1,2} & a_{2,2}b_{1,3} \\ a_{2,1}b_{2,1} & a_{2,1}b_{2,2} &a_{2,1} b_{2,3} & a_{2,2}b_{2,1} & a_{2,2}b_{2,2} & a_{22}b_{2,3} \\ a_{3,1}b_{1,1} & a_{3,1}b_{1,2} & a_{3,1}b_{1,3} & a_{3,2}b_{1,1} & a_{3,2}b_{1,2} & a_{3,2}b_{1,3} \\ a_{3,1}b_{2,1} & a_{3,1}b_{2,2} &a_{3,1} b_{2,3} & a_{3,2}b_{2,1} & a_{3,2}b_{2,2} & a_{3,2}b_{2,3} \\ \end{bmatrix}\end{aligned} AB=a1,1[b1,1b2,1b1,2b2,2b1,3b2,3]a2,1[b1,1b2,1b1,2b2,2b1,3b2,3]a3,1[b1,1b2,1b1,2b2,2b1,3b2,3]a1,2[b1,1b2,1b1,2b2,2b1,3b2,3]a2,2[b1,1b2,1b1,2b2,2b1,3b2,3]a3,2[b1,1b2,1b1,2b2,2b1,3b2,3]=a1,1b1,1a1,1b2,1a2,1b1,1a2,1b2,1a3,1b1,1a3,1b2,1a1,1b1,2a1,1b2,2a2,1b1,2a2,1b2,2a3,1b1,2a3,1b2,2a1,1b1,3a1,1b2,3a2,1b1,3a2,1b2,3a3,1b1,3a3,1b2,3a1,2b1,1a1,2b2,1a2,2b1,1a2,2b2,1a3,2b1,1a3,2b2,1a1,2b1,2a1,2b2,2a2,2b1,2a2,2b2,2a3,2b1,2a3,2b2,2a1,2b1,3a1,2b2,3a2,2b1,3a22b2,3a3,2b1,3a3,2b2,3

四、行列式与线性方程组

维基百科:https://en.wikipedia.org/wiki/Determinant
     https://en.wikipedia.org/wiki/System_of_linear_equations
行列式:在线性代数中,行列式是一个标量。方阵 A A A的行列式记为 d e t ( A ) det(A) det(A) d e t A detA detA或者 ∣ A ∣ |A| A
∣ A ∣ = ∣ a b c d ∣ = a d − b c |A|=\begin{vmatrix} a& b\\ c& d \end{vmatrix}=ad-bc A=acbd=adbc ∣ A ∣ = ∣ a b c d e f g h i ∣ = a ∣ □ □ □ □ e f □ h i ∣ − b ∣ □ □ □ d □ f g □ i ∣ + c ∣ □ □ □ d e □ g h □ ∣ = a ∣ e f h i ∣ − b ∣ d f g i ∣ + c ∣ d e g h ∣ = a e i + b f g + c d h − a f h − b d i − c e g \begin{aligned} |A|=\begin{vmatrix} a& b&c\\ d& e&f\\ g& h&i\\ \end{vmatrix}& =a\begin{vmatrix} \square & \square &\square \\ \square & e&f\\ \square & h&i\\ \end{vmatrix}-b\begin{vmatrix} \square & \square &\square \\ d& \square &f\\ g& \square &i\\ \end{vmatrix}+c\begin{vmatrix} \square & \square &\square \\ d& e&\square \\ g& h&\square \\ \end{vmatrix} \\ & =a\begin{vmatrix} e&f\\ h&i\\ \end{vmatrix}-b\begin{vmatrix} d&f\\ g&i\\ \end{vmatrix}+c\begin{vmatrix} d& e\\ g& h\\ \end{vmatrix}\\ & =aei+bfg+cdh-afh-bdi-ceg \end{aligned} A=adgbehcfi=aehfibdgfi+cdgeh=aehfibdgfi+cdgeh=aei+bfg+cdhafhbdiceg

线性方程组:在数学中,一个线性方程组是两个或两个以上的线性方程的集合,包含同一组变量。包含 n n n个变量的 m m m个线性方程组,可记作:
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 \begin{aligned} 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}\\ & \ \ \vdots &\\a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n &= & b_{m}\end{aligned} a11x1+a12x2++a1nxna21x1+a22x2++a2nxnam1x1+am2x2++amnxn==  =b1b2bm 其 中 , x 1 , x 2 , … , x n 是 未 知 量 , a 11 , a 12 , … , a m n 是 方 程 组 的 系 数 , b 1 , b 2 , … , b n 是 常 量 。 其中,x_1,x_2,…,x_n是未知量,a_{11},a_{12},…,a_{mn}是方程组的系数,b_1,b_2,…,b_n是常量。 x1,x2,,xna11,a12,,amnb1,b2,,bn

  矩阵方程式可记成 A x = b A\textbf x=b Ax=b
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 ] , b = [ b 1 b 2 ⋮ b m ] A=\begin{bmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\ a_{21}&a_{22}&\cdots &a_{2n}\\ \vdots&\vdots&\ddots &\vdots \\a_{m1}&a_{m2}&\cdots &a_{mn}\\\end{bmatrix},\textbf x=\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix},b=\begin{bmatrix}b_1\\b_2\\\vdots\\b_m\end{bmatrix} A=a11a21am1a12a22am2a1na2namn,x=x1x2xn,b=b1b2bm

五、二次型与正定性

维基百科:https://en.wikipedia.org/wiki/Quadratic_form
     https://en.wikipedia.org/wiki/Definiteness_of_a_matrix

二次型:多项式中每一项都是二次的,我们把这样的多项式称为二次型。二次型的多项式可写成如下,其中 a i j = a j i , 1 ≤ i , j ≤ n a_{ij}=a_{ji},1\leq i,j\leq n aij=aji,1i,jn
f ( x 1 , x 2 , … , x n ) = a 11 x 1 2 + a 12 x 1 x 2 + ⋯ + a 1 n x 1 x n + a 21 x 2 x 1 + a 22 x 2 2 + ⋯ + a 2 n x 2 x n + ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋅ + a n 1 x n x 1 + a n 2 x n x 2 + ⋯ + a n n x n 2 \begin{aligned} f(x_{1},x_{2},…,x_{n})&=a_{11}x_1^2+a_{12}x_1x_2+\cdots+a_{1n}x_1x_n\\&+a_{21}x_2x_1+a_{22}x_2^2+\cdots+a_{2n}x_2x_n\\& + \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdot \\& + a_{n1}x_nx_1+a_{n2}x_nx_2+\cdots+a_{nn}x_n^2 \end{aligned} f(x1,x2,,xn)=a11x12+a12x1x2++a1nx1xn+a21x2x1+a22x22++a2nx2xn++an1xnx1+an2xnx2++annxn2 令 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}\\ \vdots&\vdots&\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &a_{nn}\\\end{bmatrix},\textbf x=\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}, A=a11a21an1a12a22an2a1na2nann,x=x1x2xn,

  则二次型可以写成如下,称为二次型的矩阵形式,其中 A A A为对称矩阵,且与二次型 f f f有一一对应关系,称 A A A为二次型 f ( x 1 , x 2 , … , x n ) f(x_{1},x_{2},…,x_{n}) f(x1,x2,,xn)的矩阵, f f f也称为对称矩阵 A A A的二次型。
f ( x 1 , x 2 , … , x n ) = X T A X f(x_{1},x_{2},…,x_{n})=X^TAX f(x1,x2,,xn)=XTAX

  要点:二次型的矩阵是唯一的,它的主对角线是平方项的系数, a i j a_{ij} aij x i x j ( i ≠ j ) x_ix_j(i\neq j) xixj(i̸=j)系数的一半。

正定性:设 M M M n n n阶方阵,如果对任何非零向量 z z z,都有 z T M z > 0 z^TMz> 0 zTMz>0,其中 z T z^T zT表示 z z z的转置,就称 M M M为正定矩阵。正定矩阵的定义及性质,详见参考资料,不再赘述。判别对阵矩阵 A A A的正定性有两种方法:
  1.求出A的所有特征值。若 A A A的特征值均为正数,则 A A A是正定的;若 A A A的特征值均为负数,则 A A A为负定的。
  2.计算 A A A的各阶顺序主子式。若 A A A的各阶顺序主子式均大于零,则 A A A是正定的;若 A A A的各阶顺序主子式中,奇数阶主子式为负,偶数阶为正,则 A A A为负定的。

六、矩阵分解

维基百科:https://en.wikipedia.org/wiki/LU_decomposition (LU分解)
     https://en.wikipedia.org/wiki/QR_decomposition (QR分解)
     https://en.wikipedia.org/wiki/Singular_value_decomposition (SVD)

矩阵分解 是将矩阵拆解为数个矩阵的乘积,可分为三角分解、满秩分解、QR分解、Jordan分解和SVD(奇异值)分解等,常见的有三种:1)三角分解 (Lower-upper,LU Decompositon),2)QR 分解法 (QR Decompositon),3)奇异值分解法 (Singular Value Decomposition)。

1)LU 分解:将一个矩阵分解成一个上三角矩阵和一个下三角矩阵的乘积。这种分解法得到的上下三角形矩阵并非唯一。在线性代数中已经证明,如果方阵是非奇异的,即的行列式不为0,LU分解总是存在的。LU分解常用来求解线性方程组求逆矩阵或者计算行列式
  求解过程:首先,对矩阵 A A A通过初等行变换将其变为一个上三角矩阵,然后根据初等变化的初等矩阵求得下三角矩阵,即可。

2)QR分解:是将矩阵分解成一个正交矩阵(orthogonal matrix) Q Q Q与一个上三角形矩阵(upper triangular matrix) R R R。QR分解经常被用来解线性最小二乘问题。
  求解方法:1.Gram–Schmidt正交化法,用正交投影的思想得到一组正交基,易于实现,但容易产生数值误差;2.使用Householder变换,当矩阵 A A A m × n m\times n m×n( m ≥ n m\geq n mn),是数值稳定QR分解算法中最简单的,但算法计算量大;3.Givens rotations方法在只需要将相对较少的非对角元素归零的情况下非常有用,总的来说是最复杂的。

3)SVD:在线性代数中,奇异值分解(SVD)是一个实矩阵或复矩阵的因子分解。它是一个正半定矩阵(例如,一个具有正特征值的对称矩阵)的特征分解推广到任意 m × n m\times n m×n矩阵通过极坐标分解的扩展。它在信号处理和统计中有许多有用的应用。SVD是最可靠的分解法,但是它比QR 分解法要花上近十倍的计算时间。使用SVD分解法的用途是解最小平方误差法和数据压缩。

七、参考资料

  1. 通俗理解张量tensor
  2. 向量、矩阵、张量基础知识
  3. 矩阵的广义逆
  4. 正定矩阵与半正定矩阵定义性质与理解
  5. 常见的几种矩阵分解方式(LU分解、QR分解)
  6. 矩阵分析——QR分解
  7. SVD 详解 与 spark实战
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在信号处理领域,DOA(Direction of Arrival)估计是一项关键技术,主要用于确定多个信号源到达接收阵列的方向。本文将详细探讨三种ESPRIT(Estimation of Signal Parameters via Rotational Invariance Techniques)算法在DOA估计中的实现,以及它们在MATLAB环境中的具体应用。 ESPRIT算法是由Paul Kailath等人于1986年提出的,其核心思想是利用阵列数据的旋转不变性来估计信号源的角度。这种算法相比传统的 MUSIC(Multiple Signal Classification)算法具有较低的计算复杂度,且无需进行特征值分解,因此在实际应用中颇具优势。 1. 普通ESPRIT算法 普通ESPRIT算法分为两个主要步骤:构造等效旋转不变系统和估计角度。通过空间平移(如延时)构建两个子阵列,使得它们之间的关系具有旋转不变性。然后,通过对子阵列数据进行最小二乘拟合,可以得到信号源的角频率估计,进一步转换为DOA估计。 2. 常规ESPRIT算法实现 在描述中提到的`common_esprit_method1.m`和`common_esprit_method2.m`是两种不同的普通ESPRIT算法实现。它们可能在实现细节上略有差异,比如选择子阵列的方式、参数估计的策略等。MATLAB代码通常会包含预处理步骤(如数据归一化)、子阵列构造、旋转不变性矩阵的建立、最小二乘估计等部分。通过运行这两个文件,可以比较它们在估计精度和计算效率上的异同。 3. TLS_ESPRIT算法 TLS(Total Least Squares)ESPRIT是对普通ESPRIT的优化,它考虑了数据噪声的影响,提高了估计的稳健性。在TLS_ESPRIT算法中,不假设数据噪声是高斯白噪声,而是采用总最小二乘准则来拟合数据。这使得算法在噪声环境下表现更优。`TLS_esprit.m`文件应该包含了TLS_ESPRIT算法的完整实现,包括TLS估计的步骤和旋转不变性矩阵的改进处理。 在实际应用中,选择合适的ESPRIT变体取决于系统条件,例如噪声水平、信号质量以及计算资源。通过MATLAB实现,研究者和工程师可以方便地比较不同算法的效果,并根据需要进行调整和优化。同时,这些代码也为教学和学习DOA估计提供了一个直观的平台,有助于深入理解ESPRIT算法的工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值