低ランクの分解
特異値分解(SVD)では、低次の基底(最大の特異値を持つ基底)を維持し、高次の基底(最小の特異値を持つ基底)を無視することで、データの最重要な側面を捉えます。
次元数を減らすために、SVDでは低次の基底を維持し、高次の基底を無視します。低次の基底は、その分散に最も影響を与えているデータ特性を保持し、データの最も重要な側面を取得する可能性が高いという考え方が、この方針の背後にある原理です。
データ・セットX (nxm)が指定されると(nは行数でmは属性数)、低ランクSVDはk成分(k <= min(m, n))のみを使用します。SVDの典型的な実装では、k の値は、個々の成分に関連付けられたランク付きの特異値の外観検査を必要とします。Oracle Machine Learning for SQLでは、SVDによって、説明分散での大幅な低下に対応するカットオフ・ポイントが自動的に推定されます。
SVDによって、正規直交基底の2つのセット(UとV)が生成されます。これらの基底のどちらでも新しい座標系として使用できます。Oracle Machine Learning for SQLのSVDでは、Vが新しい座標系で、Uはこの座標系のXの投影を表します。アルゴリズムによって、新しいデータの投影が次のように計算されます。
ここで、X (nxk)は、最初のk個の成分によって定義される、縮約されたデータ空間の投影データで、VkおよびSkは、縮約された成分セットを定義します。