HANA サポートベクタマシン

HANA Support Vector Machine アルゴリズム用に設定できるプロパティです。

構文

サポートベクタマシン (SVM) は、サポートベクタのコンセプトを使用する教師あり学習モデルのファミリを指します。ほかの多くの教師あり学習モデルと比較すると、SVM には、SVM によって作成されたモデルは線形も非線形も可能であるというメリットがあります。非線形のモデルはカーネルトリックと呼ばれるテクニックによって実現します。

ほとんどの教師ありモデルのように、SVM にはトレーニングおよびテストフェーズがあります。トレーニングフェーズでは、サンプルをターゲット上にマッピングする関数 f(x):->y (f(∙) は関数、非線形も可能) が学習されます。トレーニングセットは {xi, yi} によって示されるペアで構成されます。x は複数の属性によって表されるサンプルを示し、y はターゲット (教師情報) を示します。テストフェーズでは、学習された f(∙) を使用して、未知のターゲットを含むサンプルを予測されたターゲットにマッピングします。

PAL の最新の実装では、SVM を以下の 3 つのタスクで使用することができます。
  • サポートベクタ分類 (SVC)

    分類は、機械学習、データマイニング、コンピュータビジョン、ビジネスデータ分析などの多くの分野で最も頻繁に使用されているタスクです。ロジスティクス回帰のような線形分類器と比較すると、SVC は非線形の決定境界を作成することができるため、現実のデータセットに対する精度が向上します。分類シナリオにおいて、f(∙) は決定関数を示し、ターゲットは実際の番号によって表される "ラベル" を示します。

  • サポートベクタ回帰 (SVR)

    SVR は回帰分析のもう 1 つの手法です。最小二乗回帰などの従来の線形回帰の手法と比較すると、SVR の回帰関数は非線形であることも可能です。回帰シナリオにおいて、f(∙) は回帰関数を示し、ターゲットは実際の番号によって表される "応答" を示します。

  • サポートベクタランキング

    これは、順位付けされたサンプルの複数のセット (クエリ ID によって区別されます) からランキング関数を学習する、ペアワイズ "順位付け学習" アルゴリズムを実装します。ランキングのシナリオでは、f(∙) はランキング関数を示し、ターゲットは、最終ランキングが行われたスコアを示します。ペアワイズランキングの場合、各セット内のサンプルの順位を表す対関係が考慮されるように、f(∙) が学習されます。

非線形性はカーネルトリックによって実現されるため、データセット以外に、カーネルタイプとパラメータも指定する必要があります。

HANA サポートベクタマシンのプロパティ
表 1: アルゴリズムプロパティ
プロパティ 説明
アルゴリズムタイプ アルゴリズムで実行する必要のある分析のタイプを選択します。
  • 分類
  • 回帰
  • ランキング
出力モード このアルゴリズムの出力に使用するモードを選択します。
機能 分析の実行で使用する入力列を選択します。
ターゲット変数 分析を実行するターゲット列を選択します。
クエリ ID 順位用のクエリ ID 列を選択します。
欠落値 欠落値の処理方法を選択します。
指定できる値:
  • 無視: 非依存列または依存列に欠落値のあるレコードがアルゴリズムでスキップされます。
  • 保持: 計算中は欠落値のあるレコードがアルゴリズムで保持されます。
カーネルタイプ カーネルタイプを選択します。
ガンマ RBF カーネルのガンマ係数を入力します。
最大マージン トレーニングエラーとマージンの間で考慮するトレードオフ値を入力します。
多項式カーネルの次数を入力します。デフォルト値は 3 です。
線形係数 線形係数の値を入力します。
係数定数 係数定数の値を入力します。
クロス確認 計算でクロス確認を使用するには、このオプションを選択します。
正規化タイプ 正規化のタイプを選択します。
スレッド数 実行時にアルゴリズムが使用するスレッドの数を入力します。デフォルト値は 1 です。
予測列名 予測値が含まれる新規作成列の名前を入力します。