Logistic Regression (SVM)
概要
この演算子はロジスティック回帰学習器です。 Stefan RuepingによるmyKLRの内部Java実装に基づいています。
詳細
この学習者は、Stefan RuepingによるmyKLRの Java実装を使用します。 myKLRはKeerthi et al (2003)のアルゴリズムとmySVMのコードに基づいた大規模なカーネルロジスティック回帰のツールです。互換性の理由から、 myKLRのモデルはKeerthi etal(2003)のモデルとわずかに異なります。 myKLRは mySVMのコードに基づいています。サンプルファイル、パラメータファイル、カーネル定義の形式は同じです。詳細については、SVMオペレーターのドキュメントを参照してください。この学習方法は、回帰と分類の両方に使用でき、多くの学習タスクに高速なアルゴリズムと優れた結果を提供します。 mySVMは、線形または2次、さらには非対称の損失関数でも機能します。
この演算子は、ドット、放射状、多項式、ニューラル、ANOVA、epachnenikov、ガウスの組み合わせとmultiquadric含む様々なカーネルの種類をサポートしています。これらのカーネルタイプの説明は、パラメーターセクションに記載されています。
入力
- トレーニングセット (IOObject)この入力ポートには、ExampleSetが必要です。この演算子はノミナル属性を処理できません。数値属性を持つデータセットに適用できます。したがって、多くの場合、この演算子を適用する前に、Nominal to Numerical演算子を使用する必要があります。
出力
- モデル(モデル)ロジスティック回帰モデルは、この出力ポートから配信されます。これで、このモデルを非表示のデータセットに適用できます。
- 重み(平均ベクトル)このポートは属性の重みを提供します。これは、ドットカーネルタイプが使用されている場合にのみ可能です。他のカーネルタイプでは不可能です。
- サンプルセット(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。
パラメーター
- kernel_typeカーネル関数のタイプは、このパラメーターを介して選択されます。次のカーネルタイプがサポートされています: ドット、ラジアル、多項式、ニューラル、anova、epachnenikov、ガウスの組み合わせ、multiquadric
- dot:ドットカーネルは、k(x、y)= x * yで定義されます。つまり、xとyの内積です。
- radial:ラジアルカーネルはexp(-g || xy || ^ 2)で定義されます。gはガンマで、カーネルガンマパラメーターで指定されます。調整可能なパラメーターガンマは、カーネルのパフォーマンスに大きな役割を果たしており、目前の問題に注意深く調整する必要があります。
- polynomial:多項式カーネルは、k(x、y)=(x * y + 1)^ dで定義されます。dは多項式の次数であり、カーネル次数パラメーターで指定されます。多項式カーネルは、すべてのトレーニングデータが正規化される問題に適しています。
- neural:ニューラルカーネルは、2層のニューラルネットtanh(ax * y + b)によって定義されます。ここで、aはアルファで、bは切片定数です。これらのパラメーターは、カーネルaおよびカーネルbパラメーターを使用して調整できます。アルファの一般的な値は1 / Nです。Nはデータ次元です。 aとbのすべての選択が有効なカーネル関数につながるわけではないことに注意してください。
- anova:anovaカーネルは、exp(-g(xy))の総和の累乗dで定義されます。ここで、gはガンマ、dは度です。ガンマと度は、それぞれカーネルガンマとカーネル度パラメーターによって調整されます。
- epachnenikov:epachnenikovカーネルは、-1〜1のuに対してこの関数(3/4)(1-u2)であり、その範囲外のuに対してゼロです。カーネルsigma1とカーネル次数の2つの調整可能なパラメーターがあります。
- gaussian_combination:これはガウスの組み合わせカーネルです。調整可能なパラメーターkernel sigma1、kernel sigma2、kernel sigma3があります。
- multiquadric:multiquadricカーネルは、|| xy || ^ 2 + c ^ 2の平方根で定義されます。調整可能なパラメーターkernel sigma1およびkernel sigma shiftがあります。
範囲:選択
- kernel_gammaこれは、SVMカーネルパラメーターガンマです。これは、 カーネルタイプパラメーターが放射状またはanovaに設定されている場合にのみ使用可能です。 範囲:実数
- kernel_sigma1これはSVMカーネルパラメータsigma1です。これは、 カーネルタイプパラメーターがepachnenikov 、 ガウスの組み合わせまたはmultiquadricに設定されている場合にのみ使用可能です。 範囲:実数
- kernel_sigma2これはSVMカーネルパラメータsigma2です。これは、 カーネルタイプパラメータがガウスの組み合わせに設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma3これはSVMカーネルパラメータsigma3です。これは、 カーネルタイプパラメータがガウスの組み合わせに設定されている場合にのみ使用できます。 範囲:実数
- kernel_shiftこれは、SVMカーネルパラメーターシフトです。これは、 カーネルタイプパラメーターがmultiquadricに設定されている場合にのみ使用できます。 範囲:実数
- kernel_degreeこれは、SVMカーネルパラメータの次数です。これは、 カーネルタイプパラメーターがPolynomial 、 anovaまたはepachnenikovに設定されている場合にのみ使用可能です。 範囲:実数
- kernel_aこれはSVMカーネルパラメータaです。これは、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます。 範囲:実数
- kernel_bこれはSVMカーネルパラメータbです。これは、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます。 範囲:実数
- kernel_cacheこれはエキスパートパラメータです。カーネル評価用のキャッシュのサイズをメガバイト単位で指定します。 範囲:実数
- Cこれは誤分類の許容範囲を設定するSVM複雑度定数であり、Cの値を大きくすると「ソフトな」境界が可能になり、値を低くすると「ハードな」境界が作成されます。大きすぎる複雑度定数は、過剰適合につながる可能性がありますが、小さすぎる値は、過度に一般化される可能性があります。 範囲:実数
- convergence_epsilonこれはオプティマイザーのパラメーターです。 KKT条件の精度を指定します。 範囲:
- max_iterationsこれはオプティマイザーのパラメーターです。指定された反復回数の後に反復を停止することを指定します。 範囲:整数
- scaleこれはグローバルパラメータです。オンにすると、サンプル値がスケーリングされ、スケーリングセットがテストセット用に保存されます。 範囲:ブール
チュートリアルプロセス
ロジスティック回帰演算子の概要
「ソナー」データセットは、検索演算子を使用してロードされます。 Split Validationオペレーターは、回帰モデルのトレーニングとテストのために適用されます。 Logistic Regressionオペレーターは、Split Validationオペレーターのトレーニングサブプロセスに適用されます。すべてのパラメーターはデフォルト値で使用されます。ロジスティック回帰演算子は、回帰モデルを生成します。モデルの適用演算子は、テストサブプロセスで使用され、このモデルをテストデータセットに適用します。結果のラベルが付いたExampleSetは、モデルのパフォーマンスを測定するためにパフォーマンスオペレーターによって使用されます。回帰モデルとそのパフォーマンスベクトルは出力に接続され、結果ワークスペースで確認できます。