md_files/科研/颜佳佳论文.md

131 lines
5.0 KiB
Markdown
Raw Normal View History

2025-03-18 12:46:59 +08:00
## 颜佳佳论文
### 网络结构优化
**直接SNMF分解无优化**
- 输入矩阵:原始动态网络邻接矩阵 $A$(可能稠密或高秩)
- 处理流程:
- 直接对称非负矩阵分解:$A \approx UU^T$
- 通过迭代调整$U$和旋转矩阵$Q$逼近目标
- 存在问题:
- 高秩矩阵需要保留更多特征值($\kappa$较大)
- 非稀疏矩阵计算效率低
**先优化再SNMF论文方法**
- 优化阶段ADMM
- 目标函数:$\min_{A_{\text{opt}}} (1-\alpha)\|A_{\text{opt}}\|_* + \alpha\|A_{\text{opt}}\|_1$
- 输出优化矩阵$A_{\text{opt}}$
- SNMF阶段
- 输入变为优化后的$A_{\text{opt}}$
- 保持相同分解流程但效率更高
#### 网络优化中的邻接矩阵重构问题建模与优化
**可行解集合定义公式4-4**
$$
\Omega = \left\{ A \middle| A^T = A,\, A \odot P = A_{\text{pre}} \odot P,\, A \odot A_{\max}' = 0 \right\}
$$
- **$A^T = A$**:确保邻接矩阵对称
- **$A \odot P = A_{\text{pre}} \odot P$**:掩码矩阵$P$ ,指定位置的原始值($\odot$为Hadamard积
- **$A \odot A_{\max}' = 0$**:功率约束矩阵$\ A_{\max}'$ 禁止在原本无连接的节点间新增边
**限制矩阵$A_{\max}'$的定义公式4-5**
$$
A'_{\max, ij} =
\begin{cases}
0, & \text{若 } A_{\max, ij} \ne 0 \\
1, & \text{若 } A_{\max, ij} = 0
\end{cases}
$$
- 通过$A_{\max}'$​标记禁止修改的零元素位置
**原始优化目标公式4-6**
$$
\min_{A} \, (1-\alpha)\, \text{rank}(A) + \alpha \|A\|_0
$$
$\|A\|_0$ 表示矩阵 $A$ 中非零元素的个数
- **目标**:平衡低秩性($\text{rank}(A)$)与稀疏性($\|A\|_0$
- **问题**:非凸、不可导,难以直接优化
**凸松弛后的目标公式4-7**
$$
\min_{A} \, (1-\alpha)\, \|A\|_* + \alpha \|A\|_1
$$
- **核范数$\|A\|_*$**:奇异值之和,替代$\text{rank}(A)$
- **L1范数$\|A\|_1$**:元素绝对值和,替代$\|A\|_0$
- **性质**:凸优化问题,存在全局最优解
**求解方法**
- **传统方法**
可转化为**半定规划SDP**问题,使用内点法等求解器。但缺点是计算效率低,尤其当矩阵规模大(如多智能体网络节点数 $n$ 很大)时不可行。
- **改进方法**
采用**ADMM交替方向乘子法**结合**投影**和**对偶上升**的方法,适用于动态网络(矩阵频繁变化的情况)。
#### ADMM核心算法
##### **变量定义与作用**
- **输入变量**
- $A_{pre}$:初始邻接矩阵(优化前的网络拓扑)。
- $P$对称的0-1矩阵用于标记 $A_{pre}$ 中非零元素的位置(保持已有边不变)。
- $A'_{max}$:功率最大时的邻接矩阵的补集($A'_{maxij} = 1$ 表示 $A_{maxij} = 0$,即不允许新增边)。
- $\alpha$:权衡稀疏性($L_1$ 范数)和低秩性(核范数)的系数。
- **iters**ADMM迭代次数。
<img src="https://pic.bitday.top/i/2025/04/03/ouy27i-0.png" alt="image-20250403150317427" style="zoom:80%;" />
##### **算法步骤详解**
**(S.1) 更新原始变量 $A$对应ADMM的$x$步)**
- **代码行4-17**:通过内层循环(投影和对偶上升)更新 $A$。
- **行4-11**:将 $A$ 投影到约束 $A \odot P = A_{\text{pre}} \odot P$ 的集合。
- 通过内层循环行8-11迭代更新 $R$,本质是**梯度投影法**
- $temp_R^{k+1} = M - X^k \odot A_{\text{pre}}$(计算残差)。
- $X^{k+1} = X^k + \beta(A_{\text{pre}} \odot temp_R^{k+1})$(梯度上升步,$\beta$ 为步长)。
- **本质**:通过迭代强制 $A$ 在 $P$ 标记的位置与 $A_{pre}$ 一致。
- **行13-17**:将 $A$ 投影到 $A \odot A'_{\text{max}} = 0$ 的集合。
- 类似地通过内层循环行14-17更新 $Y$
- $temp_A^{k+1} = D_2 - Y^k \odot A'_{\text{max}}$(残差计算)。
- $Y^{k+1} = Y^k + \gamma(A'_{\text{max}} \odot temp_A^{k+1})$(对偶变量更新)。
**(S.2) 更新辅助变量 $Z_1, Z_2$对应ADMM的$z$步)**
通过阈值操作分离目标函数的两部分:
- **行18-19**:分别对核范数和 $L_1$ 范数进行阈值操作:
- $Z_1^{t+1} = T_r(A^{t+1} + U_1^t)$
$T_r(\cdot)$ 是**奇异值阈值算子**(核范数投影),对$A + U1$ 做SVD分解保留前 $r$ 个奇异值。**作用**:把自己变成低秩矩阵=》强制 $A$ 低秩。
- $Z_2^{t+1} = S_{\alpha}(A^{t+1} + U_2^t)$
$S_{\alpha}(\cdot)$ 是**软阈值算子**$L_1$ 范数投影),将小于 $\alpha$ 的元素置零。把自己变成稀疏矩阵=》促进 $A$ 的稀疏性。
**(S.3) 更新 拉格朗日乘子$U_1, U_2$对应ADMM的对偶上升**
- **行20-21**:通过残差 $(A - Z)$ 调整拉格朗日乘子 $U_1, U_2$
- $U_1^{t+1} = U_1^t + A^{t+1} - Z_1^{t+1}$(核范数约束的乘子更新)。
- $U_2^{t+1} = U_2^t + A^{t+1} - Z_2^{t+1}$$L_1$ 范数约束的乘子更新)。
- **作用**:惩罚 $A$ 与辅助变量 $Z1, Z2$ 的偏差(迫使$A$更贴近$Z$),推动收敛。