稀疏贝叶斯谱估计及EM算法求解

稀疏贝叶斯

稀疏贝叶斯学习(sparse bayes learning,SBL)最早被提出是作为一种机器学习算法[1]。但是在这里我们主要用它来做谱估计,作为求解稀疏重构问题的方法[2]。稀疏重构还有个更好听的名字叫压缩感知,但我既不知道他哪里压缩了也不明白他怎么个感知法,也有人说这是两回事,在此咱们不纠结,就叫他稀疏重构了。

稀疏重构问题

对于如下问题:

t = Φ w + ϵ \begin{equation} \boldsymbol{t} = \boldsymbol{\Phi}\boldsymbol{w} + \boldsymbol{\epsilon} \tag{1} \end{equation} t=Φw+ϵ(1)

其中 Φ ∈ C N × M \boldsymbol{\Phi} \in \mathbb{C}^{N\times M} ΦCN×M 为过完备字典,即 r a n k ( Φ ) = N   a n d   M > N rank(\boldsymbol{\Phi})=N\ and\ M>N rank(Φ)=N and M>N t ∈ C N × 1 \boldsymbol{t} \in \mathbb{C}^{N \times 1} tCN×1 为观测信号, w ∈ C M × 1 \boldsymbol{w}\in\mathbb{C}^{M \times 1} wCM×1为权重向量, ϵ ∈ C N × 1 \boldsymbol{\epsilon}\in\mathbb{C}^{N\times 1} ϵCN×1为观测噪声,希望求得 w \boldsymbol{w} w满足:

w = arg ⁡ min ⁡ w ∣ ∣ t − Φ w ∣ ∣ 2 2 + λ ∣ ∣ w ∣ ∣ 0 \begin{equation} \boldsymbol{w} = \arg\min_{\boldsymbol{w}}||\boldsymbol{t} - \boldsymbol{\Phi} \boldsymbol{w}||_2^2 + \lambda||\boldsymbol{w}||_0 \tag{2} \end{equation} w=argwmin∣∣tΦw22+λ∣∣w0(2)

其中 ∣ ∣ w ∣ ∣ 0 ||\boldsymbol{w}||_0 ∣∣w0 为0范数,即 w \boldsymbol{w} w中非零元的个数。通俗来讲就是用字典矩阵 Φ \boldsymbol{\Phi} Φ 中最少的向量对 t \boldsymbol{t} t进行表示,所求的 w \boldsymbol{w} w就是求得的权重系数。该问题属于 N P − h a r d NP-hard NPhard问题,无法直接求解,但有许多近似解法,包括LASSO,OMP等,本篇所介绍的SBL也是求解算法之一。

稀疏贝叶斯

式(1)中的噪声 ϵ \boldsymbol{\epsilon} ϵ 通常被认为服从0均值高斯分布,即 ϵ ∼ N ( 0 , σ 2 I ) \epsilon \sim\mathcal{N}(0,\sigma^2\boldsymbol{I}) ϵN(0,σ2I),则 t \boldsymbol{t} t的条件概率密度函数可以写作:

p ( t ∣ w ; σ 2 ) = ( 2 π σ 2 ) − N 2 exp ⁡ ( − 1 2 σ 2 ∣ ∣ t − Φ w ∣ ∣ 2 2 ) \begin{equation} p(\boldsymbol{t}|\boldsymbol{w};\sigma^2)=(2\pi\sigma^2)^{-\frac{N}{2}}\exp(-\frac{1}{2\sigma^2} ||\boldsymbol{t} - \boldsymbol{\Phi} \boldsymbol{w}||_2^2) \tag{3} \end{equation} p(tw;σ2)=(2πσ2)2Nexp(2σ21∣∣tΦw22)(3)

同时假定 w \boldsymbol{w} w的先验服从高斯分布:

p ( w ; Γ ) = ( 2 π ) − M 2 ∣ Γ ∣ − 1 2 exp ⁡ ( − 1 2 w H Γ − 1 w ) \begin{equation} p(\boldsymbol{w};\boldsymbol{\Gamma})=(2\pi)^{-\frac{M}{2}}|\boldsymbol{\Gamma}|^{-\frac{1}{2}}\exp(-\frac{1}{2}\boldsymbol{w}^H{\boldsymbol{\Gamma}^{-1}\boldsymbol{w}}) \tag{4} \end{equation} p(w;Γ)=(2π)2MΓ21exp(21wHΓ1w)(4)

其中 Γ = d i a g ( [ γ 1 , γ 2 , . . . , γ M ] T ) \boldsymbol{\Gamma}=diag([\gamma_1,\gamma_2,...,\gamma_M]^T) Γ=diag([γ1,γ2,...,γM]T)为对角阵,是权重的方差。这里通过式(3)和式(4)可以求得边际概率:

p ( t ; Γ , σ 2 ) = ∫ p ( t ∣ w ; σ 2 ) p ( w ; Γ ) d w = ∫ ( 2 π σ 2 ) − N 2 ( 2 π ) − M 2 ∣ Γ ∣ − 1 2 exp ⁡ ( − 1 2 σ 2 ∣ ∣ t − Φ w ∣ ∣ 2 2 − 1 2 w H Γ − 1 w ) d w \begin{align} p(\boldsymbol{t};\boldsymbol{\Gamma},\boldsymbol{\sigma^2})=&\int p(\boldsymbol{t}|\boldsymbol{w};\sigma^2)p(\boldsymbol{w};\boldsymbol{\Gamma})d\boldsymbol{w}\nonumber \\ =&\int(2\pi\sigma^2)^{-\frac{N}{2}}(2\pi)^{-\frac{M}{2}}|\boldsymbol{\Gamma}|^{-\frac{1}{2}}\exp(-\frac{1}{2\sigma^2} ||\boldsymbol{t} - \boldsymbol{\Phi} \boldsymbol{w}||_2^2-\frac{1}{2}\boldsymbol{w}^H{\boldsymbol{\Gamma}^{-1}\boldsymbol{w}})d\boldsymbol{w} \tag{5} \end{align} p(t;Γ,σ2)==p(tw;σ2)p(w;Γ)dw(2πσ2)2N(2π)2MΓ21exp(2σ21∣∣tΦw2221wHΓ1w)dw(5)

对于上式,先重点看指数里面部分:

− 1 2 σ 2 ∣ ∣ t − Φ w ∣ ∣ 2 2 − 1 2 w H Γ − 1 w = − 1 2 [ σ − 2 t H t − 2 σ − 2 t H Φ w + w H ( σ − 2 Φ H Φ + Γ − 1 ) w ] = − 1 2 [ σ − 2 t H t − 2 σ − 2 t H Φ w + w H Σ w − 1 w ] = − 1 2 ( σ − 2 Σ w Φ H t − w ) H Σ w − 1 ( σ − 2 Σ w Φ H t − w ) − 1 2 [ t H ( I − Φ Σ w Φ H ) t ] \begin{align} &-\frac{1}{2\sigma^2} ||\boldsymbol{t} - \boldsymbol{\Phi} \boldsymbol{w}||_2^2-\frac{1}{2}\boldsymbol{w}^H{\boldsymbol{\Gamma}^{-1}\boldsymbol{w}}\nonumber \\ = &-\frac{1}{2}[\sigma^{-2}\boldsymbol{t}^H\boldsymbol{t}-2\sigma^{-2}\boldsymbol{t}^H\boldsymbol{\Phi} \boldsymbol{w}+\boldsymbol{w}^H(\sigma^{-2}\boldsymbol{\Phi}^H\boldsymbol{\Phi}+\boldsymbol{\Gamma}^{-1})\boldsymbol{w}]\nonumber\\ =&-\frac{1}{2}[\sigma^{-2}\boldsymbol{t}^H\boldsymbol{t}-2\sigma^{-2}\boldsymbol{t}^H\boldsymbol{\Phi} \boldsymbol{w}+\boldsymbol{w}^H\boldsymbol{\Sigma_w}^{-1}\boldsymbol{w}]\nonumber \\ =&-\frac{1}{2}(\sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t}-\boldsymbol{w})^H\boldsymbol{\Sigma_w}^{-1}(\sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t}-\boldsymbol{w})-\frac{1}{2}[\boldsymbol{t}^H(\boldsymbol{I-\boldsymbol{\Phi}\boldsymbol{\Sigma_w}\boldsymbol{\Phi}^H})\boldsymbol{t}] \tag{6} \end{align} ===2σ21∣∣tΦw2221wHΓ1w21[σ2tHt2σ2tHΦw+wH(σ2ΦHΦ+Γ1)w]21[σ2tHt2σ2tHΦw+wHΣw1w]21(σ2ΣwΦHtw)HΣw1(σ2ΣwΦHtw)21[tH(IΦΣwΦH)t](6)

其中 Σ w = ( σ − 2 Φ H Φ + Γ − 1 ) − 1 \boldsymbol{\Sigma_w}=(\sigma^{-2}\boldsymbol{\Phi}^H\boldsymbol{\Phi}+\boldsymbol{\Gamma}^{-1})^{-1} Σw=(σ2ΦHΦ+Γ1)1,并令 ( I − Φ Σ w Φ H ) − 1 = Σ t (\boldsymbol{I-\boldsymbol{\Phi}\boldsymbol{\Sigma_w}\boldsymbol{\Phi}^H})^{-1} = \boldsymbol{\Sigma_t} (IΦΣwΦH)1=Σt,根据矩阵求逆引理可以推导出 Σ t = σ 2 I + Φ Γ Φ H \boldsymbol{\Sigma_t} = \sigma^2\boldsymbol{I}+\boldsymbol{\Phi\Gamma\Phi}^H Σt=σ2I+ΦΓΦH
然后将上述结果带入(5):

p ( t ; Γ , σ 2 ) = ( 2 π σ 2 ) − N 2 ( 2 π ) − M 2 ∣ Γ ∣ − 1 2 exp ⁡ ( − 1 2 t H Σ t − 1 t )    ∫ exp ⁡ [ − 1 2 ( σ − 2 Σ w Φ H t − w ) H Σ w − 1 ( σ − 2 Σ w Φ H t − w ) ] d w \begin{align} &p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)\nonumber \\=&(2\pi\sigma^2)^{-\frac{N}{2}}(2\pi)^{-\frac{M}{2}}|\boldsymbol{\Gamma}|^{-\frac{1}{2}}\exp(-\frac{1}{2}\boldsymbol{t}^H\boldsymbol{\Sigma_t}^{-1}\boldsymbol{t})\nonumber \\ &\ \ \int\exp[-\frac{1}{2}(\sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t}-\boldsymbol{w})^H\boldsymbol{\Sigma_w}^{-1}(\sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t}-\boldsymbol{w})]d\boldsymbol{w} \tag{7} \end{align} =p(t;Γ,σ2)(2πσ2)2N(2π)2MΓ21exp(21tHΣt1t)  exp[21(σ2ΣwΦHtw)HΣw1(σ2ΣwΦHtw)]dw(7)

可以看出指数上凑出了高斯分布的形式,但还差指数外的系数。要凑成完整的高斯分布,注意到 σ − N 2 ∣ Σ w ∣ 1 2 ∣ Γ ∣ − 1 2 = ∣ Σ t ∣ − 1 2 \sigma^{-\frac{N}{2}}|\boldsymbol{\Sigma_w}|^{\frac{1}{2}}|\boldsymbol{\Gamma}|^{-\frac{1}{2}} = |\boldsymbol{\Sigma_t}|^{-\frac{1}{2}} σ2NΣw21Γ21=Σt21,可得:

p ( t ; Γ , σ 2 ) = ( 2 π ) − N 2 ∣ Σ t ∣ − 1 2 exp ⁡ ( − 1 2 t H Σ t − 1 t )    ∫ ( 2 π ) − M 2 ∣ Σ w ∣ − 1 2 exp ⁡ [ − 1 2 ( σ − 2 Σ w Φ H t − w ) H Σ w − 1 ( σ − 2 Σ w Φ H t − w ) ] d w \begin{align} &p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)\nonumber \\ =&(2\pi)^{-\frac{N}{2}}|\boldsymbol{\Sigma_t}|^{-\frac{1}{2}}\exp(-\frac{1}{2}\boldsymbol{t}^H\boldsymbol{\Sigma_t}^{-1}\boldsymbol{t})\nonumber \\ &\ \ \int(2\pi)^{-\frac{M}{2}}|\boldsymbol{\Sigma_w}|^{-\frac{1}{2}}\exp[-\frac{1}{2}(\sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t}-\boldsymbol{w})^H\boldsymbol{\Sigma_w}^{-1}(\sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t}-\boldsymbol{w})]d\boldsymbol{w} \tag{8} \end{align} =p(t;Γ,σ2)(2π)2NΣt21exp(21tHΣt1t)  (2π)2MΣw21exp[21(σ2ΣwΦHtw)HΣw1(σ2ΣwΦHtw)]dw(8)

积分内积完结果为 1 1 1,所以:

p ( t ; Γ , σ 2 ) = ( 2 π ) − N 2 ∣ Σ t ∣ − 1 2 exp ⁡ ( − 1 2 t H Σ t − 1 t ) \begin{align} &p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)=(2\pi)^{-\frac{N}{2}}|\boldsymbol{\Sigma_t}|^{-\frac{1}{2}}\exp(-\frac{1}{2}\boldsymbol{t}^H\boldsymbol{\Sigma_t}^{-1}\boldsymbol{t}) \tag{9} \end{align} p(t;Γ,σ2)=(2π)2NΣt21exp(21tHΣt1t)(9)

另外,积分内积掉的为 w \boldsymbol{w} w的后验分布:

p ( w ∣ t ; Γ , σ 2 ) = ( 2 π ) − M 2 ∣ Σ w ∣ − 1 2 exp ⁡ [ − 1 2 ( σ − 2 Σ w Φ H t − w ) H Σ w − 1 ( σ − 2 Σ w Φ H t − w ) ] = N ( μ w , Σ w ) \begin{align} &p(\boldsymbol{w}|\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)\nonumber\\ =&(2\pi)^{-\frac{M}{2}}|\boldsymbol{\Sigma_w}|^{-\frac{1}{2}}\exp[-\frac{1}{2}(\sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t}-\boldsymbol{w})^H\boldsymbol{\Sigma_w}^{-1}(\sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t}-\boldsymbol{w})]\nonumber\\ =&\mathcal{N}(\boldsymbol{\mu_w},\boldsymbol{\Sigma_w}) \tag{10} \end{align} ==p(wt;Γ,σ2)(2π)2MΣw21exp[21(σ2ΣwΦHtw)HΣw1(σ2ΣwΦHtw)]N(μw,Σw)(10)

其中 μ w = σ − 2 Σ w Φ H t \boldsymbol{\mu_w} = \sigma^{-2}\boldsymbol{\Sigma_w\Phi}^H\boldsymbol{t} μw=σ2ΣwΦHt Σ w = ( σ − 2 Φ H Φ + Γ − 1 ) − 1 \boldsymbol{\Sigma_w}=(\sigma^{-2}\boldsymbol{\Phi}^H\boldsymbol{\Phi}+\boldsymbol{\Gamma}^{-1})^{-1} Σw=(σ2ΦHΦ+Γ1)1。我们可以选择 μ \boldsymbol{\mu} μ作为 w \boldsymbol{w} w的求解结果(均值嘛,合情合理),但是算 μ \boldsymbol{\mu} μ就要知道 σ 2 \sigma^2 σ2 Γ \boldsymbol{\Gamma} Γ,这俩可以通过对 p ( t ; Γ , σ 2 ) p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2) p(t;Γ,σ2)进行最大似然估计求得,但是很不幸,直接求解似然函数是求不出来的(你可以试试,我没算出来,当然参考文献里也没算出来),而且这大概率不是个凸函数,最优解也算不出来,算个次优解意思意思得了。下面介绍下用EM算法求解这个问题。

EM算法

EM算法是怎么回事,什么思想,什么原理网上其他帖子已经讲的很好了[3],这里直接介绍如何求解上述问题。

理论推导

我们的的核心问题还是要对 p ( t ; Γ , σ 2 ) p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2) p(t;Γ,σ2)最大似然求解参数,即:

σ 2 , Γ = arg ⁡ max ⁡ σ 2 , Γ L ( σ 2 , Γ ) L ( σ 2 , Γ ) = log ⁡ [ p ( t ; Γ , σ 2 ) ] \begin{align} \sigma^2,\boldsymbol{\Gamma} =& \arg\max_{\sigma^2,\boldsymbol{\Gamma}}\mathcal{L}{(\sigma^2,\boldsymbol{\Gamma})}\nonumber\\ \mathcal{L}{(\sigma^2,\boldsymbol{\Gamma})} &= \log[p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)] \tag{11} \end{align} σ2,Γ=L(σ2,Γ)argσ2,ΓmaxL(σ2,Γ)=log[p(t;Γ,σ2)](11)

然后引入 w \boldsymbol{w} w,将似然函数写作:

log ⁡ [ p ( t ; Γ , σ 2 ) ] = log ⁡ [ ∫ p ( t , w ; Γ , σ 2 ) d w ] = log ⁡ [ ∫ Q ( w ) Q ( w ) p ( t , w ; Γ , σ 2 ) d w ] \begin{align} \log[p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)]&= \log[\int p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)d\boldsymbol{w}] \nonumber\\ =&\log[\int \frac{Q(\boldsymbol{w})}{Q(\boldsymbol{w})}p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)d\boldsymbol{w}] \tag{12} \end{align} log[p(t;Γ,σ2)]==log[p(t,w;Γ,σ2)dw]log[Q(w)Q(w)p(t,w;Γ,σ2)dw](12)

上式中 Q ( w ) Q(\boldsymbol{w}) Q(w) w \boldsymbol{w} w的一个函数,显然它可以是任意值不为零的函数,此时我们认为它是 w \boldsymbol{w} w的某个分布函数,因此上式的积分可以写作期望形式:

log ⁡ [ p ( t ; Γ , σ 2 ) ] = log ⁡ [ E w ∼ Q ( w ) p ( t , w ; Γ , σ 2 ) Q ( w ) ] \begin{align} \log[p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)] =&\log[\mathbf{E}_{\boldsymbol{w}\sim Q(\boldsymbol{w})} \frac{p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)}{Q(\boldsymbol{w})}] \tag{13} \end{align} log[p(t;Γ,σ2)]=log[EwQ(w)Q(w)p(t,w;Γ,σ2)](13)

对上式进一步操作需要用到Jensen不等式,Jensen不等式网上有详细讲解[4],大概就是对于一个随机变量 X X X 和一个函数 f ( X ) f(X) f(X) ,当 f f f的二阶导小于0(上凸)时 f ( E ( X ) ) ≥ E f ( X ) f(\mathbf{E}(X)) \geq \mathbf{E}f(X) f(E(X))Ef(X),等号成立的条件是 X = E ( X ) X = \mathbf{E}(X) X=E(X)。则式(13)可写为:

log ⁡ [ p ( t ; Γ , σ 2 ) ] = log ⁡ [ E w ∼ Q ( w ) p ( t , w ; Γ , σ 2 ) Q ( w ) ] ≥ E w ∼ Q ( w ) log ⁡ [ p ( t , w ; Γ , σ 2 ) ] − E w ∼ Q ( w ) log ⁡ [ Q ( w ) ] = J ( σ 2 , Γ ) \begin{align} \log[p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)] =&\log[\mathbf{E}_{\boldsymbol{w}\sim Q(\boldsymbol{w})} \frac{p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)}{Q(\boldsymbol{w})}]\nonumber\\ \geq & \mathbf{E}_{\boldsymbol{w}\sim Q(\boldsymbol{w})} \log[p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)]-\mathbf{E}_{\boldsymbol{w}\sim Q(\boldsymbol{w})}\log[Q(\boldsymbol{w})]\nonumber\\ =& \mathcal{J}(\sigma^2,\boldsymbol{\Gamma}) \tag{14} \end{align} log[p(t;Γ,σ2)]==log[EwQ(w)Q(w)p(t,w;Γ,σ2)]EwQ(w)log[p(t,w;Γ,σ2)]EwQ(w)log[Q(w)]J(σ2,Γ)(14)

这里我们得到了 L ( σ 2 , Γ ) \mathcal{L}{(\sigma^2,\boldsymbol{\Gamma})} L(σ2,Γ)的一个下界 J ( σ 2 , Γ ) \mathcal{J}(\sigma^2,\boldsymbol{\Gamma}) J(σ2,Γ),理论上可以通过最大化 J ( σ 2 , Γ ) \mathcal{J}(\sigma^2,\boldsymbol{\Gamma}) J(σ2,Γ)来最大化 L ( σ 2 , Γ ) \mathcal{L}{(\sigma^2,\boldsymbol{\Gamma})} L(σ2,Γ),但是一眼望去 J ( σ 2 , Γ ) \mathcal{J}(\sigma^2,\boldsymbol{\Gamma}) J(σ2,Γ)更布嚎算,至少 Q ( w ) Q(\boldsymbol{w}) Q(w)是啥咱还不知道呢!所以得确定下 Q ( w ) Q(\boldsymbol{w}) Q(w)

首先可以确定的是,在固定 σ 2 \sigma^2 σ2 Γ \boldsymbol{\Gamma} Γ时,根据Jensen不等式取得等号的条件, J ( σ 2 , Γ ) \mathcal{J}(\sigma^2,\boldsymbol{\Gamma}) J(σ2,Γ)能取到的最大值就是 L ( σ 2 , Γ ) \mathcal{L}{(\sigma^2,\boldsymbol{\Gamma})} L(σ2,Γ),取得最大值的条件是期望内的数是个常数(与所求期望的随机变量无关)即 p ( t , w ; Γ , σ 2 ) Q ( w ) \frac{p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)}{Q(\boldsymbol{w})} Q(w)p(t,w;Γ,σ2) w \boldsymbol{w} w无关。不难看出,满足此条件的 Q ( w ) Q(\boldsymbol{w}) Q(w)为:

Q ( w ) = p ( w ∣ t ; Γ , σ 2 ) \begin{align} Q(\boldsymbol{w}) = p(\boldsymbol{w}|\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2) \tag{15} \end{align} Q(w)=p(wt;Γ,σ2)(15)

但是这样直接把 Q ( w ) Q(\boldsymbol{w}) Q(w)代回 J ( σ 2 , Γ ) \mathcal{J}(\sigma^2,\boldsymbol{\Gamma}) J(σ2,Γ)让他等于 L ( σ 2 , Γ ) \mathcal{L}{(\sigma^2,\boldsymbol{\Gamma})} L(σ2,Γ)那不是就又绕回去了,所以不能这么干。聪明的人们想到了两步走的方法:
第一步,用当前现有的 σ ( k ) 2 \sigma^2_{(k)} σ(k)2 Γ ( k ) \boldsymbol{\Gamma}_{(k)} Γ(k),得到 Q ( k ) ( w ) = p ( w ∣ t ; Γ ( k ) , σ ( k ) 2 ) Q_{(k)}(\boldsymbol{w}) = p(\boldsymbol{w}|\boldsymbol{t};\boldsymbol{\Gamma}_{(k)},\sigma^2_{(k)}) Q(k)(w)=p(wt;Γ(k),σ(k)2),并用 Q ( k ) ( w ) Q_{(k)}(\boldsymbol{w}) Q(k)(w)计算出 J ( k ) ( σ 2 , Γ ) = E w ∼ Q ( k ) ( w ) log ⁡ [ p ( t , w ; Γ , σ 2 ) ] − E w ∼ Q ( k ) ( w ) log ⁡ [ Q ( k ) ( w ) ] \mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma})=\mathbf{E}_{\boldsymbol{w}\sim Q_{(k)}(\boldsymbol{w})} \log[p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)]-\mathbf{E}_{\boldsymbol{w}\sim Q_{(k)}(\boldsymbol{w})}\log[Q_{(k)}(\boldsymbol{w})] J(k)(σ2,Γ)=EwQ(k)(w)log[p(t,w;Γ,σ2)]EwQ(k)(w)log[Q(k)(w)] ,这就是EM算法中的E步,这一步是从Jensen不等式的层面对 J ( σ 2 , Γ ) \mathcal{J}(\sigma^2,\boldsymbol{\Gamma}) J(σ2,Γ)进行最大化,使 J ( k ) ( σ 2 , Γ ) \mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma}) J(k)(σ2,Γ)逼近 L ( σ 2 , Γ ) \mathcal{L}{(\sigma^2,\boldsymbol{\Gamma})} L(σ2,Γ)
第二步,固定 Q ( k ) ( w ) Q_{(k)}(\boldsymbol{w}) Q(k)(w)不动,通过最大化 J ( k ) ( σ 2 , Γ ) \mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma}) J(k)(σ2,Γ) σ ( k + 1 ) 2 \sigma^2_{(k+1)} σ(k+1)2 Γ ( k + 1 ) \boldsymbol{\Gamma}_{(k+1)} Γ(k+1)。由于固定 Q ( k ) ( w ) Q_{(k)}(\boldsymbol{w}) Q(k)(w)以后 J ( k ) ( σ 2 , Γ ) \mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma}) J(k)(σ2,Γ)中的 E w ∼ Q ( k ) ( w ) log ⁡ [ Q ( k ) ( w ) ] \mathbf{E}_{\boldsymbol{w}\sim Q_{(k)}(\boldsymbol{w})}\log[Q_{(k)}(\boldsymbol{w})] EwQ(k)(w)log[Q(k)(w)]始终为常数,所以在第一步其实就用不到,直接丢掉。于是乎有:

σ ( k + 1 ) 2 , Γ ( k + 1 ) = arg ⁡ max ⁡ σ 2 , Γ E w ∼ Q ( k ) ( w ) log ⁡ [ p ( t , w ; Γ , σ 2 ) ] \begin{align} \sigma^2_{(k+1)},\boldsymbol{\Gamma}_{(k+1)} =& \arg\max_{\sigma^2,\boldsymbol{\Gamma}}\mathbf{E}_{\boldsymbol{w}\sim Q_{(k)}(\boldsymbol{w})} \log[p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)] \tag{16} \end{align} σ(k+1)2,Γ(k+1)=argσ2,ΓmaxEwQ(k)(w)log[p(t,w;Γ,σ2)](16)

这就是EM算法中的M步,这一步是对逼近 L ( σ 2 , Γ ) \mathcal{L}{(\sigma^2,\boldsymbol{\Gamma})} L(σ2,Γ) J ( k ) ( σ 2 , Γ ) \mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma}) J(k)(σ2,Γ)最大化,让得到的 σ ( k + 1 ) 2 , Γ ( k + 1 ) \sigma^2_{(k+1)},\boldsymbol{\Gamma}_{(k+1)} σ(k+1)2,Γ(k+1)进一步趋近最优解。把M步中算出的 σ ( k + 1 ) 2 , Γ ( k + 1 ) \sigma^2_{(k+1)},\boldsymbol{\Gamma}_{(k+1)} σ(k+1)2,Γ(k+1)再拿回E步,就完成了一次迭代。

目前为止还是理论层面,我们得回到我们的问题,看看 E w ∼ Q ( k ) ( w ) log ⁡ [ p ( t , w ; Γ , σ 2 ) ] \mathbf{E}_{\boldsymbol{w}\sim Q_{(k)}(\boldsymbol{w})} \log[p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)] EwQ(k)(w)log[p(t,w;Γ,σ2)]以及 σ ( k + 1 ) 2 , Γ ( k + 1 ) \sigma^2_{(k+1)},\boldsymbol{\Gamma}_{(k+1)} σ(k+1)2,Γ(k+1)到底怎么算。

EM算法求解SBL

先看 E w ∼ Q ( k ) ( w ) log ⁡ [ p ( t , w ; Γ , σ 2 ) ] \mathbf{E}_{\boldsymbol{w}\sim Q_{(k)}(\boldsymbol{w})} \log[p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)] EwQ(k)(w)log[p(t,w;Γ,σ2)],其中:

p ( t , w ; Γ , σ 2 ) = p ( t ; Γ , σ 2 ) p ( w ∣ t ; Γ , σ 2 ) = p ( t ∣ w ; σ 2 ) p ( w ; Γ ) (17) p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)=p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2)p(\boldsymbol{w}|\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2) =p(\boldsymbol{t}|\boldsymbol{w};\sigma^2)p(\boldsymbol{w};\boldsymbol{\Gamma}) \tag{17} p(t,w;Γ,σ2)=p(t;Γ,σ2)p(wt;Γ,σ2)=p(tw;σ2)p(w;Γ)(17)

p ( t ; Γ , σ 2 ) p(\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2) p(t;Γ,σ2)在式(7), p ( w ∣ t ; Γ , σ 2 ) p(\boldsymbol{w}|\boldsymbol{t};\boldsymbol{\Gamma},\sigma^2) p(wt;Γ,σ2)在式(10), p ( t ∣ w ; σ 2 ) p(\boldsymbol{t}|\boldsymbol{w};\sigma^2) p(tw;σ2)在式(3), p ( w ; Γ ) p(\boldsymbol{w};\boldsymbol{\Gamma}) p(w;Γ)在式(4),随便选一对就能算出 p ( t , w ; Γ , σ 2 ) p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2) p(t,w;Γ,σ2),我这里就不算了。
对计算的结果取对数后得到:

log ⁡ [ p ( t , w ; Γ , σ 2 ) ] = − N 2 l o g ( σ 2 ) − 1 2 l o g ∣ Γ ∣ − 1 2 σ 2 ( t H t + 2 t H Φ w + w H Φ H Φ w ) − 1 2 w H Γ − 1 w + C \begin{align} &\log[p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)] \nonumber\\ =&-\frac{N}{2}log(\sigma^2)-\frac{1}{2}log|\Gamma|-\frac{1}{2\sigma^2}(\boldsymbol{t}^H\boldsymbol{t}+2\boldsymbol{t}^H\boldsymbol{\Phi w}+\boldsymbol{w}^H\boldsymbol{\Phi}^H\boldsymbol{\Phi}\boldsymbol{w})-\frac{1}{2}\boldsymbol{w}^H\boldsymbol{\Gamma}^{-1}\boldsymbol{w}+C \tag{18} \end{align} =log[p(t,w;Γ,σ2)]2Nlog(σ2)21log∣Γ∣2σ21(tHt+2tHΦw+wHΦHΦw)21wHΓ1w+C(18)

然后求期望,为了避免式子冗长,后面把没用的常数 C C C扔了,并将 E w ∼ Q ( k ) ( w ) \mathbf{E}_{\boldsymbol{w}\sim Q_{(k)}(\boldsymbol{w})} EwQ(k)(w)简写为 E ( k ) \mathbf{E}_{(k)} E(k)

E ( k ) log ⁡ [ p ( t , w ; Γ , σ 2 ) ] = − N 2 l o g ( σ 2 ) − 1 2 l o g ∣ Γ ∣ − 1 2 σ 2 ( t H t + 2 E ( k ) [ t H Φ w ] + E ( k ) [ w H Φ H Φ w ] ) − 1 2 E ( k ) [ w H Γ − 1 w ] = J ( k ) ( σ 2 , Γ ) \begin{align} &\mathbf{E}_{(k)}\log[p(\boldsymbol{t},\boldsymbol{w};\boldsymbol{\Gamma},\sigma^2)] \nonumber\\ =&-\frac{N}{2}log(\sigma^2)-\frac{1}{2}log|\boldsymbol{\Gamma}|\nonumber\\ &-\frac{1}{2\sigma^2}(\boldsymbol{t}^H\boldsymbol{t}+2\mathbf{E}_{(k)}[\boldsymbol{t}^H\boldsymbol{\Phi} {w}]+\mathbf{E}_{(k)}[\boldsymbol{w}^H\boldsymbol{\Phi}^H\boldsymbol{\Phi}\boldsymbol{w}])-\frac{1}{2}\mathbf{E}_{(k)}[\boldsymbol{w}^H\boldsymbol{\Gamma}^{-1}\boldsymbol{w}]\nonumber\\ =&\mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma}) \tag{19} \end{align} ==E(k)log[p(t,w;Γ,σ2)]2Nlog(σ2)21logΓ2σ21(tHt+2E(k)[tHΦw]+E(k)[wHΦHΦw])21E(k)[wHΓ1w]J(k)(σ2,Γ)(19)

由于此刻 w ∼ Q ( k ) ( w ) , Q ( k ) ( w ) = p ( w ∣ t ; Γ ( k ) , σ ( k ) 2 ) \boldsymbol{w}\sim Q_{(k)}(\boldsymbol{w}),Q_{(k)}(\boldsymbol{w}) = p(\boldsymbol{w}|\boldsymbol{t};\boldsymbol{\Gamma}_{(k)},\sigma^2_{(k)}) wQ(k)(w),Q(k)(w)=p(wt;Γ(k),σ(k)2),并结合式(10),可得出 E ( k ) [ t H Φ w ] = t H Φ μ ( k ) \mathbf{E}_{(k)}[\boldsymbol{t}^H\boldsymbol{\Phi} {w}]=\boldsymbol{t}^H\boldsymbol{\Phi}{\mu}_{(k)} E(k)[tHΦw]=tHΦμ(k) E ( k ) [ w H Φ H Φ w ] = t r [ Φ H Φ Σ w ( k ) ] + μ ( k ) H Φ H Φ μ ( k ) \mathbf{E}_{(k)}[\boldsymbol{w}^H\boldsymbol{\Phi}^H\boldsymbol{\Phi}\boldsymbol{w}]=tr[\boldsymbol{\Phi}^H\boldsymbol{\Phi\Sigma_w}^{(k)}]+\boldsymbol{\mu}_{(k)}^H\boldsymbol{\Phi}^H\boldsymbol{\Phi}\boldsymbol{\mu}_{(k)} E(k)[wHΦHΦw]=tr[ΦHΦΣw(k)]+μ(k)HΦHΦμ(k) E ( k ) [ w H Γ − 1 w ] = t r [ Γ ( k ) − 1 Σ w ( k ) ] + μ ( k ) H Γ − 1 μ ( k ) \mathbf{E}_{(k)}[\boldsymbol{w}^H\boldsymbol{\Gamma}^{-1}\boldsymbol{w}] = tr[\boldsymbol{\Gamma}^{-1}_{(k)}\boldsymbol{\Sigma_w^{(k)}}]+\boldsymbol{\mu}_{(k)}^H\boldsymbol{\Gamma}^{-1}\boldsymbol{\mu}_{(k)} E(k)[wHΓ1w]=tr[Γ(k)1Σw(k)]+μ(k)HΓ1μ(k),其中 Σ w ( k ) = ( σ ( k ) − 2 Φ H Φ + Γ ( k ) − 1 ) − 1 \boldsymbol{\Sigma_w}^{(k)}=(\sigma_{(k)}^{-2}\boldsymbol{\Phi}^H\boldsymbol{\Phi}+\boldsymbol{\Gamma}_{(k)}^{-1})^{-1} Σw(k)=(σ(k)2ΦHΦ+Γ(k)1)1 μ ( k ) = σ ( k ) − 2 Σ w ( k ) Φ H t \boldsymbol{\mu}_{(k)}= \sigma_{(k)}^{-2}\boldsymbol{\Sigma_w^{(k)}}\boldsymbol{\Phi}^H\boldsymbol{t} μ(k)=σ(k)2Σw(k)ΦHt t r ( ⋅ ) tr(\cdot) tr()为求矩阵的迹,即主对角线元素的和。对于二次型求期望可以参考matrix cookbook[5]。然后有:

J ( k ) ( σ 2 , Γ ) = − N 2 l o g ( σ 2 ) − 1 2 l o g ∣ Γ ∣ − 1 2 σ 2 ( t H t + t H Φ μ ( k ) + t r [ Φ H Φ Σ w ( k ) ] + μ ( k ) H Φ H Φ μ ( k ) ) − 1 2 ( t r [ Γ ( k ) − 1 Σ w ( k ) ] + μ ( k ) H Γ − 1 μ ( k ) ) \begin{align} &\mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma})\nonumber\\ =&-\frac{N}{2}log(\sigma^2)-\frac{1}{2}log|\boldsymbol{\Gamma}|\nonumber\\ &-\frac{1}{2\sigma^2} (\boldsymbol{t}^H\boldsymbol{t} +\boldsymbol{t}^H\boldsymbol{\Phi}{\mu}_{(k)} +tr[\boldsymbol{\Phi}^H\boldsymbol{\Phi\Sigma_w}^{(k)}]+\boldsymbol{\mu}_{(k)}^H\boldsymbol{\Phi}^H\boldsymbol{\Phi}\boldsymbol{\mu}_{(k)})\nonumber\\ &-\frac{1}{2}(tr[\boldsymbol{\Gamma}^{-1}_{(k)}\boldsymbol{\Sigma_w}^{(k)}]+\boldsymbol{\mu}_{(k)}^H\boldsymbol{\Gamma}^{-1}\boldsymbol{\mu}_{(k)}) \tag{20} \end{align} =J(k)(σ2,Γ)2Nlog(σ2)21logΓ2σ21(tHt+tHΦμ(k)+tr[ΦHΦΣw(k)]+μ(k)HΦHΦμ(k))21(tr[Γ(k)1Σw(k)]+μ(k)HΓ1μ(k))(20)

上述部分算是EM算法中的E步,下面看M步,即最大化 J ( k ) ( σ 2 , Γ ) \mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma}) J(k)(σ2,Γ)来求 σ ( k + 1 ) 2 \sigma^2_{(k+1)} σ(k+1)2 Γ ( k + 1 ) \boldsymbol{\Gamma}_{(k+1)} Γ(k+1)。最大化的方式就是求导,导函数为0的点即为最大值。当然,严谨的来讲导函数为0的点是否为最大值还需要经过一些验证,这里就不验证了。求导过程比较简单,也不详细讲了,其中涉及到的矩阵求导可以参考matrix cookbook,这里直接给出结果:

∂ J ( k ) ( σ 2 , Γ ) ∂ γ i = − 1 2 γ i + 1 2 γ i 2 Σ w ( k ) ( i , i ) + 1 2 γ i 2 [ μ ( k ) ( i ) ] 2 \begin{align} \frac{\partial\mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma})}{\partial\gamma_i}= -\frac{1}{2\gamma_i}+\frac{1}{2\gamma_i^2}\boldsymbol{\Sigma_w}^{(k)}(i,i) +\frac{1}{2\gamma_i^2}[\boldsymbol{\mu}_{(k)}(i)]^2 \tag{21} \end{align} γiJ(k)(σ2,Γ)=2γi1+2γi21Σw(k)(i,i)+2γi21[μ(k)(i)]2(21)

其中 γ i \gamma_i γi表示对角阵 Γ \boldsymbol{\Gamma} Γ的第 i i i个元素, Σ w ( k ) ( i , i ) \boldsymbol{\Sigma_{w}}^{(k)}(i,i) Σw(k)(i,i) Σ w ( k ) \boldsymbol{\Sigma_{w}}^{(k)} Σw(k)的主对角线上第 i i i个元素, μ ( k ) ( i ) \boldsymbol{\mu}_{(k)}(i) μ(k)(i) μ ( k ) \boldsymbol{\mu}_{(k)} μ(k)的第 i i i个元素。令式(21)为0可以得到:

γ i ( k + 1 ) = Σ w ( k ) ( i , i ) + [ μ ( k ) ( i ) ] 2 (22) \gamma_i^{(k+1)}=\boldsymbol{\Sigma_{w}}^{(k)}(i,i)+[\boldsymbol{\mu}_{(k)}(i)]^2 \tag{22} γi(k+1)=Σw(k)(i,i)+[μ(k)(i)]2(22)

其中 γ i ( k + 1 ) \gamma_i^{(k+1)} γi(k+1) Γ ( k + 1 ) \boldsymbol{\Gamma}_{(k+1)} Γ(k+1)的第 i i i元素。 σ ( k + 1 ) 2 \sigma^2_{(k+1)} σ(k+1)2同理:

∂ J ( k ) ( σ 2 , Γ ) ∂ σ 2 = − N 2 σ 2 + 1 2 ( σ 2 ) 2 ( ∣ ∣ t − Φ μ ( k ) ∣ ∣ 2 2 + t r [ Φ Φ h Σ w ( k ) ] ) = 0 σ ( k + 1 ) 2 = ∣ ∣ t − Φ μ ( k ) ∣ ∣ 2 2 + t r [ Φ Φ h Σ w ( k ) ] N \begin{align} &\frac{\partial\mathcal{J}_{(k)}(\sigma^2,\boldsymbol{\Gamma})}{\partial\sigma^2}= -\frac{N}{2\sigma^2}+\frac{1}{2(\sigma^2)^2} (||t-\Phi \boldsymbol{\mu}_{(k)}||^2_2 +tr[\boldsymbol{\Phi\Phi}^h\boldsymbol{\Sigma_w}^{(k)}])=0\nonumber\\ &\sigma^2_{(k+1)}=\frac{||t-\Phi \boldsymbol{\mu}_{(k)}||^2_2 +tr[\boldsymbol{\Phi\Phi}^h\boldsymbol{\Sigma_w}^{(k)}]}{N} \tag{23} \end{align} σ2J(k)(σ2,Γ)=2σ2N+2(σ2)21(∣∣tΦμ(k)22+tr[ΦΦhΣw(k)])=0σ(k+1)2=N∣∣tΦμ(k)22+tr[ΦΦhΣw(k)](23)

其中的 t r [ Φ Φ h Σ w ( k ) ] tr[\boldsymbol{\Phi\Phi}^h\boldsymbol{\Sigma_w}^{(k)}] tr[ΦΦhΣw(k)]还可以写作 σ ( k ) 2 t r [ I − Γ ( k ) − 1 Σ w ( k ) ] \sigma^2_{(k)}tr[\boldsymbol{I}-\boldsymbol{\Gamma}_{(k)}^{-1}\boldsymbol{\Sigma_w}^{(k)}] σ(k)2tr[IΓ(k)1Σw(k)],读者自证不难)。
至此我们已经完成了全部推导。

回顾式(17)到式(23)不难发现,实际进行EM算法求解的过程中并不需要真正的去求期望,和最大化损失函数,这些步骤已经蕴含在推导中了,而实际要做的只是根据(10)利用 σ ( k ) 2 \sigma^2_{(k)} σ(k)2 Γ ( k ) \boldsymbol{\Gamma}_{(k)} Γ(k)算出 μ ( k ) \boldsymbol{\mu}_{(k)} μ(k) Σ w ( k ) \boldsymbol{\Sigma_{w}}^{(k)} Σw(k),再根据(22)和(23)算出 σ ( k + 1 ) 2 \sigma^2_{(k+1)} σ(k+1)2 Γ ( k + 1 ) \boldsymbol{\Gamma}_{(k+1)} Γ(k+1)就行了。鉴于这仍然是两步走,所以第一步是实际中的E步,第二步为M步。当迭代一步新算出来的结果和上一步相差很小的时候,就可以认为结果收敛了。

代码及结果

matlab 代码如下

function [w,ii] = sbl(t,Phi,gpu,sigma,Gamma)
% t is the received signal
% Phi is the dictionary
% gpu means if you want to accelerate your code by gpu
% sigma is the initial value of sigma, usually set 1
% Gamma is the initial value of Gamma, usually set eye(M)

    % initial
    [N,M] = size(Phi);
    if(strcmp(gpu,'gpu'))
        t = gpuArray(t);
        Phi = gpuArray(Phi);
        Gamma = gpuArray(Gamma);
        matEyeN = gpuArray(eye(N));
        vecOne = gpuArray(ones(M,1));
    else
        matEyeN = eye(N);
        vecOne = ones(M,1);
    end
    sigmaS = sigma; 
    sigmaP = sigmaS;
    
    GammaP = Gamma;

    ii = 0;
    iterErrNow = 100;

    while((iterErrNow>2e-3)&&(ii<500))
        ii = ii+1;
        % e-step
        Sigmat = sigmaS.*matEyeN + Phi*Gamma*Phi';
        Sigmaw = Gamma-Gamma*Phi'*Sigmat^(-1)*Phi*Gamma;
        mu = sigmaS^(-1).*Sigmaw*(Phi')*t;

        % m-step
        Gamma = diag(abs(diag(Sigmaw)+abs(mu).^2));
        sigmaS = abs((t-Phi*mu)'*(t-Phi*mu)+sigmaS*sum(vecOne-diag(Gamma).^(-1).*diag(Sigmaw)))/N;

        iterErrNow = norm(sigmaP-sigmaS)+norm(diag(GammaP)-diag(Gamma)); % stop when variable's change become small enough

        sigmaP = sigmaS;
        GammaP = Gamma;
        w = mu;
    end
    
end

实验代码

close all

%% parameter
N = 64;
M = 16*N;
fs = 1;
f = 0:1/M:(M-1)/M;
t = 0:N-1;
window = rectwin(N);
Phi = exp(2*pi*1i*t'*f);



%% signal module
% fx = 0.3*rand(1,3);
fx = [0.1,0.2,0.21];
a = 0.3+0.7*rand(3,1);
x = exp(2*pi*1i*t'*fx)*a;
x = x./sqrt(var(x));
SNR = 5;
noise = 2^(-0.5)*(randn(N,1)+1i*randn(N,1));
x = x + 10^(-SNR/20)*noise;
% x = x.*window;
xf = fft(x,M)/N;

fig = figure;
tile = tiledlayout(1,1,"TileSpacing","tight");
nexttile
hold on
plot(0:1/M:(M-1)/M,20*log10(abs(xf)))


%% sbl
tic
[wEst,iterNum] = sbl(x,Phi,'gpu',5,eye(M));
toc

plot(0:1/M:(M-1)/M,20*log10(abs(wEst)))
scatter(fx,20*log10(a))
xlim([0,0.5])
ylim([-60,10])
xlabel(tile,'rad')
ylabel(tile,'dB')
legend('fft','sbl','truth')

figNormalize(fig,'save','sblresult');

结果如下:

参考文献

[1]TIPPING M E. Sparse Bayesian Learning and the Relevance Vector Machine[J]. Journal of Machine Learning Research, 2001, 1(Jun): 211-244
[2]WIPF D P, RAO B D. Sparse Bayesian learning for basis selection[J/OL]. IEEE Transactions on Signal Processing, 2004, 52(8): 2153-2164. DOI:10.1109/TSP.2004.831016
[3]https://zhuanlan.zhihu.com/p/78311644
[4]https://zhuanlan.zhihu.com/p/39315786
[5]https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdf

原创作者: IrregularRhythm 转载于: https://www.cnblogs.com/IrregularRhythm/p/18882385
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值