对于多变量优化非凸问题:
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=j,∣gij0∣<ρsign(gij0)ρi=j,∣gij0∣>ρ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Φ1∣∣G1−Ψ1TΦ0TΦ0Ψ1∣∣F2
展开
Ψ
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
G1−v22−v32−...−v12=E1−v12
将
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Ψ1∣∣F2
使用最小二乘法求解
Φ
1
\Phi^1
Φ1
6、重复迭代2,3,4,5步骤,更新Gram矩阵,进而更新字典和观测矩阵
7、如果损失函数小于设定阈值,则迭代停止
部分内容参考自
《基于压缩感知的电力设备状态感知技术》
《压缩感知系统中字典和感知矩阵优化设计》
多变量优化非凸问题——一种基于Gram矩阵的观测矩阵和稀疏字典的迭代优化算法
最新推荐文章于 2023-06-24 23:15:22 发布