在稀疏编码(Sparse Coding)和字典学习领域,一个核心任务是从数据中学习一组过完备基(dictionary或basis),使得数据样本可以用这些基的稀疏线性组合来表示。传统的字典学习通常交替优化稀疏系数和字典,但计算开销较大。
今天我们要探讨一种高效的字典学习方法:针对固定稀疏系数矩阵S,学习基矩阵B,使得重构误差最小,同时对每个基向量施加L2范数约束。这种方法通过拉格朗日对偶形式转化为凸优化问题,能够快速求解,尤其适用于稀疏编码的字典更新步骤。
问题形式化
给定数据矩阵X(维度L × N,每列是一个样本),以及已知的稀疏系数矩阵S(维度M × N),我们希望学习基矩阵B(维度L × M),最小化以下目标:
[
\min_B \frac{1}{2} |X - B S|_F^2
]
主体到约束:
[
|B(:, j)|_2 \leq c, \quad \forall j = 1, \dots, M
]
其中c是L2范数上界(通常设为1,以实现基向量归一化),| \cdot |_F是Frobenius范数。
这个约束防止基向量范数无限增大(因为如果放大B同时缩小S,可以保持重构不变,但破坏稀疏性)。通过约束基向量L2范数,我们确保了表示的唯一性和稳定性。
直接求解原始问题是可行的,但当基数量M较大时效率不高。该方法巧妙地转向拉格朗日对偶问题,将其转化为一个M维的无约束凸优化问题(实际上是带下界约束),显著降低了计算复杂度。
对偶问题的推导与求解
引入拉格朗日