Oracle Data Miningで特徴抽出のために使用する監視なしアルゴリズムであるNon-Negative Matrix Factorization(NMF)を使用する方法を学習します。
関連項目:
Non-Negative Matrix Factorizationは、最新の抽出アルゴリズムです。NMFは、多数の属性があるときに、これらの属性があいまいな場合や予測可能性が低い場合に有効です。属性を組み合せることによって、NMFで意味のあるパターン、トピックまたはテーマが生成されます。
NMFによって作成される各特徴は、元の属性セットの一次結合です。各特徴には、特徴の各属性の重みの測度である係数のセットがあります。量的属性ごと、および各質的属性の個別値ごとに別個の係数があります。係数は、すべて非負数です。
Non-Negative Matrix Factorizationでは、多変量分析および線形代数の手法が使用されます。それは、行列Mとしてのデータを2つの下位ランク行列WおよびHの積に分解します。サブ行列WにはNMF基底が、サブ行列Hには関連する係数(重み)が含まれます。
アルゴリズムによって、WとHの値は、その積がMに近づくように繰り返し変更されます。この技術によって、元のデータ構造の大部分が維持され、基底と重みの両方が非負数であることが保証されます。アルゴリズムは、近似誤差が収束するか、反復が指定数に到達すると終了します。
NMFアルゴリズムは、反復の開始点を示すシードで初期化される必要があります。処理空間の高いディメンション性と、大域的最小アルゴリズムが存在しないという事実から、意味のある結果を取得するには適切な初期化が非常に重要になります。Oracle Data Miningでは、一様分布に基づいてWとHの値を初期化するランダム・シードを使用します。このアプローチは、ほとんどのケースで有効です。
Non-Negative Matrix Factorization(NMF)は、分類、回帰、クラスタリングなどのマイニング・タスクでディメンション性を低減するための前処理ステップとして使用できます。NMFモデルのスコアリングによって、新しい特徴空間にデータ投影が生成されます。投影の規模は、レコードが特徴にマップされる強度を示します。
特徴抽出のSQLスコアリング関数では、NMFモデルがサポートされます。関数が分析構文で起動されると、その関数によって一時的NMFモデルが作成および適用されます。特徴抽出関数は、FEATURE_DETAILS
、FEATURE_ID
、FEATURE_SET
およびFEATURE_VALUE
です。
関連項目:
Oracle Data Miningユーザーズ・ガイドの「スコアリングと配置」
Non-Negative Matrix Factorization (NMF)は、テキスト・マイニングに特に適しています。テキスト・ドキュメントでは、同じ言葉が異なる場所で別の意味を持って出現することがあります。たとえば、「hike」という単語は、アウトドア(outdoor)または金利(interest rate)に関連して使用されます。NMFでは、次のように属性を組み合せることによって、説明能力にとって必須であるコンテキストを取り入れます。
"hike" + "mountain" -> "outdoor sports"
"hike" + "interest" -> "interest rates"
関連項目:
『Oracle Data Miningユーザーズ・ガイド』の非構造化テキストのマイニングに関する項
テキスト・マイニングには、非構造化データの情報の抽出が含まれます。通常、テキスト・データは高次元でスパースです。主成分分析(PCA)、特異値分解(SVD)およびNMFなどの監視なしアルゴリズムには、異なる制約に基づく文書単語行列の分解が含まれます。テキスト・マイニングの広く使用されている方法は潜在意味解析です。
NMFはディメンション性の減少に集中しています。高次元の意味空間のテキストの2つの隣接する線分のベクトルを比較することで、NMFは、セグメント間の意味の関係度の特性を示します。NMFはPCAよりも複雑ではなく、スパース・データに適用できます。NMFベースの潜在意味解析は、解の加法的な非負値の性質および計算の複雑さおよびリソース要件の削減のため、SVD手法の魅力的な代替手段です。
Oracle Data Miningでは、Non-Negative Matrix Factorization (NMF)の5つの構成可能なパラメータがサポートされます。それらすべてに、アルゴリズムのほとんどの適用にとって適切なデフォルト値があります。NMFの設定は次のとおりです。
特徴数。デフォルトでは、特徴数はアルゴリズムによって決定されます。
収束許容値。デフォルトは.05です。
反復数。デフォルトは、50です。
ランダム・シード。デフォルトは、-1です。
非負スコアリング。スコアリング結果に負数を許可する必要があるかどうかを指定できます。デフォルトでは、許可されます。
関連項目:
『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定のNon-Negative Matrix Factorizationに関する項
Non-Negative Matrix Factorization (NMF)に対する自動データ準備では、量的属性が正規化されます。
単純な(ネストしていない)データ型の列に欠損値がある場合、NMFではそれらをランダムに欠損した値として解釈します。質的データの欠損値は最頻値に置換され、量的データの欠損値は平均値に置換されます。
ネストした列に欠損値がある場合、NMFではそれらをスパースとして解釈します。スパースな量的データは0 (ゼロ)に置換され、スパースな質的データはゼロ・ベクトルに置換されます。
独自のデータ準備を行う場合、外れ値が存在するとNMFに大きな影響を与える可能性があります。ビニングまたは正規化を行う前に、クリッピング変換を実行してください。NMFでは通常、正規化を行うことによってメリットが得られます。ただし、min-max正規化で外れ値が存在すると、行列因数分解のパフォーマンスが低下します。行列因数分解のパフォーマンスを向上するには、許容誤差を減らす必要があります。しかし、許容誤差を減らすと作成時間が長くなります。
関連項目:
『Oracle Data Miningユーザーズ・ガイド』のデータの準備に関する項
『Oracle Data Miningユーザーズ・ガイド』のデータの変換に関する項