压缩感知是数字化时代的一个重要手段, 它是针对被测信号的稀疏性而提出的, 近年来得到广泛的研究[1].压缩感知主要有三个重要部分: 信号稀疏表示、测量矩阵的构建和重构算法. 其中重构算法是研究压缩感知问题的核心之一, 压缩感知问题在数学上讲就是解决优化问题. 针对这一问题学者们提出了一些优化算法. 例如Bregman迭代算法[2]、原始对偶算法[3,4]、正交匹配追踪算法OMP[5]、截断牛顿内点法、基于交替方向算法、加速迭代收缩阈值算法、可分近似稀疏重建算法[6–8]等. 但是这些方法都具有一定的局限与不足, 因此寻找高效、快速的重构算法具有重要的理论意义.
微分进化[9]是比较新的基于群体的随机优化方法. 它具有简单、快速、鲁棒性好等特点, 它的基本思想是: 对种群中的每个个体
压缩传感的基本问题是对一个信号
$Ax = b$ | (1) |
其中,
在信号处理中一个重要的概念是稀疏性, 它是指信号中零分量在信号总长度中所占的比重, 若把信号
$\left\{ \begin{gathered} \mathop {\min }\limits_{x \in {R^n}} {\left\| x \right\|_0}\; \hfill \\ Ax = b \hfill \\ \end{gathered} \right. $ | (2) |
上述问题是一个组合优化问题[11], 不能使用已有的数学分析工具进行求解, 而且当维数增大时, 问题的复杂度也会增大, 为了更好的解决此类问题, 可以将上述优化问题转化为求解问题:
$\left\{ \begin{gathered} \mathop {\min }\limits_{x \in {R^n}} {\left\| x \right\|_p}\;\;\;\;\;\; \hfill \\ Ax = b \hfill \\ \end{gathered} \right.$ | (3) |
其中,
当
$\left\{ \begin{array}{l}\mathop {\min }\limits_{x \in {R^2}} {\left\| x \right\|_p} = \mathop {\min }\limits_{x \in {R^2}} ({\left| {{x_1}} \right|^p} + {\left| {{x_2}} \right|^p}){}^{\frac{1}{p}}\\a{x_1} + b{x_2} = c\end{array} \right.$ | (4) |
优化问题的目的是在图中所示直线上找到一点使得
求解式(3)实质上是一个优化问题, 本文主要对微分进化算法进行改进, 提出一种带约束的微分算法, 利用此方法求解式(3), 取得了较好的效果.
3 改进的微分算法微分进化算法具有很好地全局优化性,是经典的全局优化算法, 该算法适用于无约束连续变量的全局优化问题, 包括线性规划、非线性规划、非光滑优化[12].但是实际中我们会遇到一些带有约束条件的较复杂的问题, 所以我们采用改进的微分进化算法, 该算法在微分进化算法的基础上加入了对约束条件的处理.
设待求的优化问题如下:
$\left\{ \begin{gathered} \mathop {\min }\limits_{x \in {R^n}} F(x) \hfill \\ {g_k}(x) \leqslant 0\;\;(k = 1,2. \cdots ,m) \hfill \\ \end{gathered} \right.$ | (5) |
其中,
微分进化算法是经过编码和初始化、交叉、变异、选择等操作实现的, 而这些操作过程中参数的选择对微分进化算法的搜索性能有较大的影响, 微分进化算法的种群规模
改进微分进化算法选择的参数为种群的规模
针对上述优化问题(5),
${h_i}(X) = \left\{ \begin{array}{ll}0,&\text{if}\;{g_i}(X) \le 0\\{g_i}(X),& \text{else}\end{array} \right.$ | (6) |
$H(X) = \sum\limits_{i = 1}^m {{h_i}(X)} $ | (7) |
定义逻辑函数如下:
$better({X_1},{X_2}) = \left\{ \begin{array}{ll}\text{REAL},&\text{if}\;H({X_1}) < H({X_2})\\\text{FALSE},&\text{if}\;H({X_1}) > H({X_2})\\\text{REAL},&\text{if}\;(H({X_1}) = H({X_2})) \\ &\wedge (f({X_1}) \le f({X_2}))\\\text{REAL},&\text{if}\;(H({X_1}) = H({X_2})) \\ &\wedge (f({X_1}) > f({X_2}))\end{array} \right.$ | (8) |
对于个体
改进微分进化算法的步骤如下:
Setp 1. (初始化) 输入参数: 种群的规模
Step 2. (个体评价) 将群体按逻辑函数
Step 3. (繁殖) 对种群中的每个个体
$x_j^{i'}(t)=\left\{\begin{aligned}& x_j^{{r_1}}(t)+F\cdot (x_j^{{r_2}}(t)-x_j^{{r_3}}(t)), \\ & \quad\quad{\rm if}\;rand[0,1]< Pc\;{\rm{or}}\; j={j_{rand}}\\& {x_j^i(t),\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\rm else}}\end{aligned} \right.$ | (9) |
通过交叉变异产生的新个体:
$X_i'(t) = \left\{ {x{{_1^{(i)}}'}(t),x_2^{(i)'}(t), \cdots ,x_j^{(i)'}(t), \cdots ,x_n^{(i)'}(t)} \right\}$ | (10) |
Step 4. (选择) 当且仅当新个体的评价函数值更好时才被保留到下一代群体中, 否则, 父代个体仍然保留在群体中, 再一次作为下一代的父向量, 即得到:
$X(t + 1) = \left\{ \begin{array}{l}X_i'(t),\;\;\;\;\text{if}\;f(X_i'(t)) < f({X_i}(t))\\{X_i}(t),\;\;\;\;\;\;\;\;\;\;\;\;\text{else}\end{array} \right.$ | (11) |
Step 5. (终止检验) 如果种群
标准微分进化算法通过这种方式进行改进之后, 可以简单有效的处理等式约束和不等式约束. 具体的判断方法为: 用函数
为了利用改进微分进化算法的求解, 将式(3)转化成求解上述问题:
$\left\{ \begin{array}{l}\mathop {\min }\limits_{x \in {R^n}} f(x) = \mathop {\min }\limits_{x \in {R^n}} {\left\| x \right\|_p}\\\left( {Ax - b} \right) \le 0\\ - \left( {Ax - b} \right) \le 0\end{array} \right.$ | (12) |
以下给出数值模拟:
$\text{模拟}1\quad\left\{ \begin{array}{l}\min \;{(\;{\left| {{x_1}} \right|^p} + {\left| {{x_2}} \right|^p})^{1/p}}\\2{x_1} + 3{x_2} = 5\end{array} \right.$ | (13) |
$\text{模拟}2\quad\left\{ \begin{array}{l}\min \;{(\;{\left| {{x_1}} \right|^p} + {\left| {{x_2}} \right|^p} + {\left| {{x_3}} \right|^p})^{1/p}}\\2{x_1} + 3{x_2} - {x_3} = 5\\{x_1} - {x_2} + {x_3} = 1\end{array} \right.$ | (14) |
$\text{模拟}3\quad\left\{ \begin{array}{l}\min \;\;{({\left| {{x_1}} \right|^p} + {\left| {{x_2}} \right|^p} + {\left| {{x_3}} \right|^p} + {\left| {{x_4}} \right|^p})^{1/p}}\\2{x_1} + 3{x_2} - {x_3} + {x_4} = 5\\{x_1} + 2{x_2} - 4{x_3} + {x_4} = 1\\2{x_1} - {x_2} + {x_3} + 3{x_4} = 6\end{array} \right.$ | (15) |
对上述未知数个数为2、3、4的约束优化问题利用改进微分进化算法进行求解, 主要控制参数选取为: 种群的规模
从表中可以看出当未知数个数为2、3且当
$\text{模拟}4\quad\left\{ \begin{array}{l}\min \;\;\left| {{x_1}} \right| + \left| {{x_2}} \right| + \left| {{x_3}} \right|\\2{x_1} + 3{x_2} - {x_3} = 5\\{x_1} - {x_2} + {x_3} = 1\end{array} \right.$ | (16) |
$\text{模拟}5\quad\left\{ \begin{array}{l}\min \;\;\left| {{x_1}} \right| + \left| {{x_2}} \right| + \left| {{x_3}} \right| + \left| {{x_4}} \right|\\2{x_1} + 3{x_2} - {x_3} + {x_4} = 5\\{x_1} + 2{x_2} - 4{x_3} + {x_4} = 1\\2{x_1} - {x_2} + {x_3} + 3{x_4} = 6\end{array} \right.$ | (17) |
下面将改进微分进化算法(RDE)与截断牛顿内点法(TNIPM)、可变分稀疏重建算法(SpaRSA)、基于交替方向算法的稀疏解(DAIM)、原始对偶内点算法(PDIPA)对比. 结果见表4和表5.
由表4、表5可以看出改进微分算法的稀疏解比其他优化算法的更好,在其它算法中原始对偶算法的稀疏解比截断牛顿内点法和基于交替方向算法的更好, 而可变分稀疏重建算法效果较差. 图2给出了迭代过程中最好、最差以及新个体的迭代图, 图中可以看出随着迭代次数的增加改进微分进化算法的适应值越来越好.
5 结论
本文在微分进化的基础上对其改进, 提出了一种寻优性、稳定性更好的改进微分进化算法, 将其应用到带约束的压缩感知求解中, 并给出了数值模拟, 模拟结果表明在改进微分算法中选择
[1] |
徐立军. 压缩感知重构算法及其应用研究[硕士学位论文]. 太原: 中北大学, 2016.
|
[2] |
Yin WT, Osher S, Goldfarb D, et al. Bregman iterative algorithms for L1-minimization with applications to compressed sensing. SIAM Journal on Imaging Sciences, 2008, 1(1): 143-168. DOI:10.1137/070703983 |
[3] |
Chambolle A, Pock T. A first-order primal-dual algorithm for convex problems with applications to imaging. Journal of Mathematical Imaging and Vision, 2011, 40(1): 120-145. DOI:10.1007/s10851-010-0251-1 |
[4] |
李建华, 李子鹏, 吕显瑞, 等. 带参数扰动的原始对偶内点算法求解一类非线性规划问题. 吉林大学学报(理学版), 2015, 53(6): 1099-1104. |
[5] |
Tropp JA, Gilbert AC. Signal recovery from random measurements via orthogonal matching pursuit. IEEE Transactions on Information Theory, 2007, 53(12): 4655-4666. DOI:10.1109/TIT.2007.909108 |
[6] |
Zhang Z, Xu Y, Yang J, et al. A survey of sparse representation: Algorithms and applications. IEEE Access, 2015, 3: 490-530. DOI:10.1109/ACCESS.2015.2430359 |
[7] |
Sun T, Cheng LZ. Reweighted fast iterative shrinkage thresholding algorithm with restarts for l1-l1 minimisation
. IET Signal Processing, 2016, 10(1): 28-36. DOI:10.1049/iet-spr.2015.0096 |
[8] |
宁矿凤, 王景芳. 压缩感知分组分离语音增强. 计算机工程与应用, 2014, 50(24): 204-208. DOI:10.3778/j.issn.1002-8331.1309-0040 |
[9] |
贾杰. 微分进化算法研究与仿真实现[硕士学位论文]. 大连: 大连理工大学, 2015.
|
[10] |
Liang W, Li XG. Low altitude penetration trajectory planning based on digital map. Flight Dynamics, 2008, 26(4): 81-85. |
[11] |
张敏华. 压缩感知中的信号重构算法研究[硕士学位论文]. 天津: 天津理工大学, 2013.
|
[12] |
Kaelo P, Ali MM. Differential evolution algorithms using hybrid mutation. Computational Optimization and Applications, 2007, 37(2): 231–246.
|