9 特徴抽出
教師なし機能としての特徴抽出を使用して属性の削減を実行する方法を学習します。
Oracle Machine Learning for SQLでは、教師なし機械学習機能として特徴抽出がサポートされています。
- 特徴抽出について
特徴抽出では、元の属性を一次結合に変換して、ディメンション性を減らし、モデルの質を高めます。 - 特徴抽出とスコアリング
データ表現の改善のために特徴抽出を使用して、ターゲットなしで入力データを特徴に変換します。 - 特徴抽出のアルゴリズム
特徴抽出で使用されるアルゴリズムについて説明します。
親トピック: 機械学習手法
9.1 特徴抽出とは
特徴抽出では、元の属性を一次結合に変換して、ディメンション性を減らし、モデルの質を高めます。
特徴抽出は、ディメンション性を低減する手法です。最も重要な属性を選択および保持する特徴選択とは異なり、特徴抽出では実際に属性を変換します。Oracle Machine Learningでは、変換された属性(特徴)は、元の属性の一次結合です。
特徴抽出の手法によって、より小さく上質な属性のセットが生成されます。特徴の最大数は、ユーザーが指定するか、アルゴリズムによって決定されます。デフォルトでは、アルゴリズムによって決定されます。
抽出した特徴で構築されたモデルは、少ない属性の弱い属性で見つかったデータを表すシグナルが集約されるため、質が高くなる可能性があります。ただし、結果として得られる特徴とモデルを解釈することは、より困難になります。
各特徴または属性は、そのような次元の1つとして考えることができます。特徴抽出では、高いディメンション性を持つデータセットを、少数のディメンションに投影します。そのため、特徴抽出はデータ・ビジュアライゼーションに役立ちます(ディメンションを2つまたは3つに削減すると、複雑なデータセットを効果的にビジュアル化できるためです)。
特徴抽出の用途には、潜在意味解析、データ圧縮、データ分解および投影、パターン認識などがあります。特徴抽出は、機械学習アルゴリズムの速度と効率を向上するためにも使用できます。
特徴抽出は、一連のキーワードとその頻度によって表されるドキュメントのまとまりからテーマを抽出する場合に使用できます。各テーマ(特徴)は、キーワードの組合せで表されます。これにより、発見されたテーマで各ドキュメントを表現できるようになります。
親トピック: 特徴抽出
9.2 特徴抽出とスコアリング
データ表現の改善のために特徴抽出を使用して、ターゲットなしで入力データを特徴に変換します。
-
個々の特徴または属性を、他のアルゴリズムへの入力として使用できる列として生成します。
-
複数の次元で構成されるベクトル出力を作成します。各次元は1つの特徴または属性に対応します。
どちらのアプローチでもデータ表現が改善され、ダウンストリームの分析タスクが可能になります。ただし、ベクトル出力には、大規模で密度の高いデータを処理するための追加の利点があります。
OMLの特徴抽出アルゴリズムは、入力データを一連の特徴または次元に変換し、データの表現を改良します。教師なし機械学習手法として、特徴抽出にはターゲットは含まれません。これにより、モデルで入力から意味のある属性を抽出し、後続の分析用にデータを最適化できます。
-
FEATURE_ID
およびFEATURE_VALUE
演算子は、個々の特徴を抽出します。 -
FEATURE_SET
は、特徴IDと値のペアのセットを返します。 -
VECTOR_EMBEDDING
演算子を使用すると、OML特徴抽出モデルをVECTOR
データ型で出力できるようになり、ベクトル化のための統一されたアプローチが容易になります。
FEATURE_SET
演算子は、投影全体の結果を取得します。つまり、可能なかぎり多くのデータの構造と情報を維持しながら、高次元データを低次元空間に変換します。この操作を使用して、すべての特徴IDの特徴値を問い合せることができます。出力表現は、大きい密度の高いデータには理想的ではなく、類似検索などのベクトルベースの操作で使用するには追加の処理が必要です。OMLでは、VECTOR
データ型をSVD、PCA、NMF、ESAなどの特徴抽出モデル(ランダム投影を使用)の表現として出力できるVECTOR_EMBEDDING
演算子の使用がサポートされており、これらのアルゴリズムの使いやすさが向上します。ベクトル出力の利点は次のとおりです:
-
ベクトル出力は、データ表現を最適化して、よりコンパクトな形式を提供し、後続の分析タスクの計算要件を低減します。
-
ベクトル出力を使用すると、リレーショナル・データの類似検索など、ベクトルベースの操作を実行できます。
次のケースは、ベクトル出力の決定方法を示しています:
-
出力ベクトルの次元の決定: 特徴抽出モデルのデータ・ディクショナリ・ビュー
USER/ALL/DBA_MINING_MODEL_ATTRIBUTES
およびUSER/ALL/DBA_MINING_MODEL_XFORMS
には、DTYVECデータ型の新しい属性ORA$VECTOR
があります。次元および記憶域のタイプの詳細は、VECTOR_INFO
列を参照してください。出力ベクトルの次元は、指定する必要な特徴の数に対応します。これを指定しない場合、アルゴリズムはデータに基づいて最適な次元を決定し、説明された差異の大幅な減少などの自然な分割点を探します。
- FLEXディメンション・ベクトルを使用したパーティション化されたモデルの処理: パーティション化されたモデルの場合、データの各パーティションに異なる特性または複雑さのレベルがあり、その結果、パーティションごとに異なる次元を持つ投影が発生する可能性があります。たとえば、あるパーティションでは、意味のある特徴が少なく、次元の投影が低くなる場合があります。別のパーティションでは、データの複雑さが増し、その結果、より高次元の投影となる可能性があります。このような場合は、FLEXディメンション・ベクトルが使用され、様々な次元に対応します。パーティション化されたセットを考慮したOMLパーティション化モデルでは、各パーティションのベクトルを分離して使用し、そのパーティションの特定のデータ特性を活用します。FLEXディメンション・タイプは、ベクトル形式を使用して
VECTOR_INFO
に格納されます。ALL_MINING_MODEL_ATTRIBUTESを参照してください。 - 特殊なケース: 特徴なし: モデルに特徴がまったくない場合は、空のエントリが出力され、
FEATURE_VALUE
演算子の現在の動作との整合性が維持されます。
特徴抽出をVECTOR_EMBEDDING
演算子と組み合せて使用する方法のステップバイステップの例については、OML特徴抽出アルゴリズムを使用したリレーショナル表のベクトル化を参照してください。
ノート:
VECTOR
データ型およびVECTOR_EMBEDDING
演算子は、新しく作成されたモデルにのみ適用されます。古いモデルには必要なベクトル出力メタデータがなく、VECTOR_EMBEDDING
演算子がそれらと使用された場合、演算子がモデルと互換性がないことを示す40290エラーが発生します。
親トピック: 特徴抽出
9.3 特徴抽出のアルゴリズム
特徴抽出に使用するアルゴリズムについて説明します。
Oracle Machine Learning for SQLでは、次の特徴抽出アルゴリズムをサポートしています。
親トピック: 特徴抽出