SVD はデータの正規化には使用されませんが、冗長データを取り除くため、つまり次元削減のために使用されます。たとえば、2 つの変数があり、1 つが湿度指数で、もう 1 つが降水確率である場合、それらの相関は非常に高く、2 番目の変数は分類または回帰タスクに役立つ追加情報には寄与しません。SVD の固有値は、どの変数が最も有益で、どの変数がなくてもよいかを判断するのに役立ちます。
仕組みは簡単です。U、S、および V* を取得するために、トレーニング データ (行列 A と呼びます) に対して SVD を実行します。次に、特定の任意のしきい値 (たとえば 0.1) 未満の S のすべての値をゼロに設定し、この新しい行列を S' と呼びます。次に、A' = US'V* を取得し、A' を新しいトレーニング データとして使用します。一部の機能は現在ゼロに設定されており、パフォーマンスの低下なしに削除できます (データと選択したしきい値によって異なります)。これはk切り捨て SVD と呼ばれます。
ただし、SVD はスパース性には役立ちません。機能が冗長な場合にのみ役立ちます。2 つの特徴は、予測タスクにとってまばらで有益な (関連する) 場合があるため、いずれかを削除することはできません。
SVD を使用すると、n 個の機能からk個の機能に移行します。それぞれの機能は、元の の線形結合になりn
ます。これは、特徴選択と同様に、次元削減のステップです。ただし、冗長な特徴が存在する場合、特徴選択アルゴリズムは、データ セットによっては SVD よりも優れた分類パフォーマンスをもたらす場合があります (最大エントロピー特徴選択など)。Wekaにはそれらがたくさん付属しています。
参照: http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Dimensionality_Reduction/Singular_Value_Decomposition
https://stats.stackexchange.com/questions/33142/what-happens-when-you-apply-svd-to-a-collaborative-filtering-problem-what-is-th