多变量优化非凸问题——一种基于Gram矩阵的观测矩阵和稀疏字典的迭代优化算法

对于多变量优化非凸问题:
m i n Φ , Ψ P ( Φ , Ψ ) min_{\Phi,\Psi}P(\Phi,\Psi) minΦ,ΨP(Φ,Ψ)
式中: P ( ∗ ) P(*) P()是损失函数(误差函数)。
观测矩阵 Φ \Phi Φ和稀疏字典 Ψ \Psi Ψ的交替优化方法:
1、初始化 Φ 0 \Phi^0 Φ0为初始观测矩阵(对角线全1),初始化 Ψ 0 \Psi^0 Ψ0为稀疏字典,设定迭代次数 n = 1 n=1 n=1
2、由 Φ 0 \Phi^0 Φ0可以计算观测后的字典的Gram矩阵为:
G 0 = ( Φ 0 Ψ ) T ( Φ 0 Ψ ) = g i j 0 G^0=(\Phi^0\Psi)^T(\Phi^0\Psi)={g_{ij}^0} G0=(Φ0Ψ)T(Φ0Ψ)=gij0
3、使用收缩运算更新字典的Gram矩阵
G 1 = { g i j 0 i ≠ j , ∣ g i j 0 ∣ < ρ s i g n ( g i j 0 ) ρ i ≠ j , ∣ g i j 0 ∣ > ρ 1 i = j G^1=\begin{cases} g_{ij}^0\qquad i\not =j,|g_{ij}^0|<\rho\\ sign(g_{ij}^0)\rho\qquad i\not =j,|g_{ij}^0|>\rho\\ 1\qquad i=j \end{cases} G1=gij0i=jgij0<ρsign(gij0)ρi=jgij0>ρ1i=j
4、利用求得的 G 1 G^1 G1更新字典
Ψ 1 = a r g m i n Ψ 1 P ( Φ 0 , Ψ 1 , G 1 ) = a r g m i n Φ 1 ∣ ∣ G 1 − Ψ 1 T Φ 0 T Φ 0 Ψ 1 ∣ ∣ F 2 \Psi^1=argmin_{\Psi^1}P(\Phi^0,\Psi^1,G^1)=argmin_{\Phi^1}||G^1-\Psi^{1T}\Phi^{0T}\Phi^0\Psi^1||_F^2 Ψ1=argminΨ1P(Φ0,Ψ1,G1)=argminΦ1G1Ψ1TΦ0TΦ0Ψ1F2
展开 Ψ 1 T Φ 0 T Φ 0 Ψ 1 \Psi^{1T}\Phi^{0T}\Phi^0\Psi^1 Ψ1TΦ0TΦ0Ψ1 v 1 2 + v 2 2 + v 3 2 + . . . v_1^2+v_2^2+v_3^2+... v12+v22+v32+...
将原式展开成:
G 1 − v 2 2 − v 3 2 − . . . − v 1 2 = E 1 − v 1 2 G^1-v_2^2-v_3^2-...-v_1^2 =E_1-v_1^2 G1v22v32...v12=E1v12
E 1 E_1 E1进行svd分解, E 1 = u 1 λ 1 u 1 T + u 2 λ 2 u 2 T + . . . E_1=u_1\lambda_1u_1^T+u_2\lambda_2u_2^T+... E1=u1λ1u1T+u2λ2u2T+...
使用 u 1 λ 1 u 1 T u_1\lambda_1u_1^T u1λ1u1T代替 E 1 E_1 E1,更新 v 1 = λ 1 u 1 v_1=\sqrt{\lambda_1u_1} v1=λ1u1 ,更新 v 2 = λ 2 u 2 . . . . . . v_2=\sqrt{\lambda_2u_2}...... v2=λ2u2 ...... v ( v 1 , v 2 , . . . ) v(v^1,v^2,...) v(v1,v2,...)的数量等于观测矩阵中观测点的数量,其数值代表:经过更新后的字典通过观测矩阵进行观测后的观测值。根据目前的观测矩阵 Φ 0 \Phi^0 Φ0 v ( v 1 , v 2 , . . . ) v(v^1,v^2,...) v(v1,v2,...)可以计算字典 Ψ \Psi Ψ
其他方法可以参看
https://blog.csdn.net/asexdcrfvgb/article/details/106671215
5、根据观测条件,生成观测矩阵如下,这种观测矩阵比较容易物理实现,这种观测矩阵的具体信息可以参看论文《基于压缩感知的电力设备状态感知技术》:
观测矩阵 Φ 1 = ( λ 1 0 0 0 0 . . . 0 0 λ 2 0 0 . . . 0 0 0 0 λ 3 . . . ) \Phi^1=\begin{pmatrix}\lambda_1\quad0\quad0\quad0\quad0\quad...\\0\quad0\quad\lambda_2\quad0\quad0\quad...\\0\quad0\quad0\quad0\quad\lambda_3\quad...\end{pmatrix} Φ1=λ10000...00λ200...0000λ3...
Φ 1 = a r g m i n Φ 1 P ( Φ 1 , Ψ 1 , G 1 ) = a r g m i n Φ ∣ ∣ G 1 − Ψ 1 T Φ 1 T Φ 1 Ψ 1 ∣ ∣ F 2 \Phi^1=argmin_{\Phi^1}P(\Phi^1,\Psi^1,G^1)=argmin_{\Phi}||G^1-\Psi^{1T}\Phi^{1T}\Phi^1\Psi^1||_F^2 Φ1=argminΦ1P(Φ1,Ψ1,G1)=argminΦG1Ψ1TΦ1TΦ1Ψ1F2
使用最小二乘法求解 Φ 1 \Phi^1 Φ1
6、重复迭代2,3,4,5步骤,更新Gram矩阵,进而更新字典和观测矩阵
7、如果损失函数小于设定阈值,则迭代停止
部分内容参考自
《基于压缩感知的电力设备状态感知技术》
《压缩感知系统中字典和感知矩阵优化设计》

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值