最優方向法(MOD)


算法描述

求解模型:

\[\min\sum\limits_i\|x_i\|_0 \quad \mathrm{s.t.} \; \|Y-DX\|^2_F \leq \varepsilon \]

\[\min\|Y-DX\|^2_F \quad \mathrm{s.t.} \; \sum\limits_i\|x_i\|_0 \leq T_0 \]

MOD(Method of Optimal Direction)是早期的基於樣本學習的字典學習算法. 設目標函數中\(X\)已知,信號的誤差定義如下:

\[\|E\|^2_F = \|Y - DX\|^2_F \]

MOD算法更新字典的策略就是實現表征誤差最小化,所以公式兩端針對\(D\)求偏導,會推到出\((Y - DX)X^{\mathrm{T}} = 0\),整個字典的更新過程如下:

\[D^{n + 1} = Y (X^n)^{\mathrm{T}} \cdot (X^n(X^n)^{\mathrm{T}})^{-1} \]

一般MOD算法需要幾十次迭代即可收斂是一個比較可行的方法。缺點在於運算中需要對矩陣求逆,造成計算量過大.

流程描述

輸入:訓練樣本集\(X = \{x_i\}^N_{i=1}\)

輸出:字典\(D \in \mathbb{R}^{n \times m} (m > n)\)

初始化:隨機構造一個字典初值\(D^{(0)} \in \mathbb{R}^{n \times m}\),並進行列歸一化,迭代次數\(J=1\)

循環直到滿足迭代終止條件

  1. 求解稀疏系數:\(\min\sum\limits_i\|x_i\|_0 \quad \mathrm{s.t.} \; \|Y-DX\|^2_F \leq \varepsilon\)
  2. 更新字典:\(D^{J+1}=\arg\min \|Y - DX\|^2_F = D^{n + 1} = Y (X^n)^{\mathrm{T}} \cdot (X^n(X^n)^{\mathrm{T}})^{-1}\)
  3. \(J=J+1\)

迭代結束


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM