辞書学習アルゴリズム
応用数学において、k -SVDは、特異値分解アプローチを介してスパース表現の辞書を作成する辞書学習アルゴリズムです。k -SVDはk-平均法クラスタリング法の一般化であり、現在の辞書に基づいて入力データをスパースコーディングすることと、辞書内の原子を更新してデータに適合させることを交互に繰り返します。構造的には期待値最大化(EM)アルゴリズムに関連しています。[1] [2] k -SVDは、画像処理、音声処理、生物学、文書分析などのアプリケーションで広く使用されています。
け-SVDアルゴリズム
k -SVDは、次のようにk -meansの一般化の一種です。k - meansクラスタリングは、スパース表現 の手法とも考えられます。つまり、データサンプルを最近傍 で表現するための最適なコードブックを見つけるには、次を解きます。


これはほぼ

これは「重み」を許可する k-means です。
文字 F はフロベニウスノルムを表します。スパース表現項は、k -means アルゴリズムが辞書 内の 1 つの原子 (列) のみを使用するように強制します。この制約を緩和するために、 k -SVD アルゴリズムのターゲットは、信号を 内の原子の線形結合として表現することです。



k -SVD アルゴリズムは、k -means アルゴリズムの構築フローに従います。ただし、 k -meansとは対照的に、 内の原子の線形結合を実現するために、制約のスパース項が緩和され、各列の非ゼロエントリの数は1 より大きく、数 未満になります。



したがって、目的関数は

または他の客観的な形で

k -SVD アルゴリズムでは、まず が固定され、最適な係数行列が検索されます。本当に最適な を見つけるのは難しいため、近似追跡法を使用します。OMP、直交マッチング追跡などのアルゴリズムは、固定された所定の数の非ゼロエントリを持つソリューションを提供できる限り、係数の計算に使用できます。




スパースコーディングタスクの後、次はより良い辞書を探すことです。しかし、辞書全体を一度に見つけることは不可能なので、そのプロセスでは辞書の1列だけを毎回更新し、 を固定します。 -番目の列の更新は、ペナルティ項を次のように書き換えることで行われます
。




ここで、 はXのk番目の行を表します。

乗算を階数 1 の行列の和に分解することで、他の項は固定され、 - 番目は不明のままであると想定できます。このステップの後、特異値分解を使用して項を行列で 近似し、それを使用して更新することで、最小化問題を解決できます。ただし、ベクトルの新しい解がスパースであるとは限りません。








この問題を解決するには、次のように
定義します。

これは、 atom を使用する例を指します( のエントリも非ゼロです)。次に、をサイズ の行列として定義します。この行列では、エントリは 1 で、それ以外は 0 です。 を乗算すると、ゼロ エントリが破棄されて行ベクトルが縮小されます。同様に、乗算は、 atom を使用している現在の例のサブセットです。 でも同じ効果が得られます。











したがって、前述の最小化問題は、

SVD を直接使用して実行できます。SVD はに分解されます。 の解はU の最初の列、係数ベクトルはの最初の列です。辞書全体を更新した後、プロセスは X を反復的に解き、次に D を反復的に解きます。





制限事項
データセットに適切な「辞書」を選択することは非凸問題であり、k -SVDは反復更新によって動作しますが、これはグローバル最適値を見つけることを保証しません。[2]ただし、これはこの目的の他のアルゴリズムに共通しており、k -SVDは実際にはかなりうまく機能します。[2] [より良いソースが必要]
参照
参考文献
- ^ Michal Aharon、Michael Elad、Alfred Bruckstein (2006)、「K-SVD: スパース表現の過剰完全辞書を設計するためのアルゴリズム」(PDF)、IEEE Transactions on Signal Processing、54 (11): 4311–4322、Bibcode :2006ITSP...54.4311A、doi :10.1109/TSP.2006.881199、S2CID 7477309
- ^ abc Rubinstein, R.、Bruckstein, AM、およびElad, M. (2010)、「スパース表現モデリングのための辞書」、Proceedings of the IEEE、98 (6): 1045–1057、CiteSeerX 10.1.1.160.527、doi :10.1109/JPROC.2010.2040551、S2CID 2176046
{{citation}}: CS1 maint: multiple names: authors list (link)