RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

Support Vector Machine (PSO)

概要

この演算子は、最適化のためにParticle Swarm Optimization(PSO)を使用するサポートベクターマシン(SVM)学習器です。 PSOは、与えられた品質の尺度に関して候補ソリューションを改善しようと繰り返し試行することにより、問題を最適化する計算方法です。

詳細

この演算子は、個々の手法の強度を向上させ、互いの弱点を補うために、サポートベクトル分類子と粒子群最適化を組み合わせたハイブリッドアプローチを実装します。粒子群最適化(PSO)は、各潜在的なソリューションが問題空間を飛行する特定の速度を持つ粒子として見られる進化的計算手法です。サポートベクターマシン(SVM)分類は、Mercerの条件を満たすいくつかの定義済みカーネルを使用して、拡張空間で線形分離を実行します。これらのカーネルは、入力ベクトルを非常に高次元の空間にマッピングします。この空間は、場合によっては無限次元であり、線形分離の可能性が高くなります。次に、この空間内の2つのクラス間のマージンを最大化することにより、線形分離ハイパープレーンが見つかります。したがって、分離するハイパープレーンの複雑さは、使用されるカーネルの性質と特性に依存します。

サポートベクターマシン(SVM)

SVMの基本的な説明を次に示します。標準のSVMは入力データのセットを取得し、指定された各入力について、2つの可能なクラスのどちらが入力を構成するかを予測し、SVMを非確率的バイナリ線形分類器にします。 2つのカテゴリのいずれかに属するとマークされたトレーニングサンプルのセットが与えられると、SVMトレーニングアルゴリズムは、新しいサンプルを1つのカテゴリに割り当てるモデルを構築します。 SVMモデルは、空間内のポイントとしての例の表現であり、個別のカテゴリの例ができるだけ広い明確なギャップで分割されるようにマップされます。次に、新しい例が同じスペースにマッピングされ、ギャップのどちら側にあるかに基づいてカテゴリに属する​​と予測されます。 SVMの詳細については、SVMオペレーターの説明をご覧ください。

粒子群最適化(PSO)

粒子群最適化(PSO)は、与えられた品質の尺度に関して候補ソリューションを改善しようと繰り返し試行することにより、問題を最適化する計算方法です。 PSOは、最適化される問題についてほとんどまたはまったく仮定を行わないため、メタヒューリスティックであり、候補ソリューションの非常に大きなスペースを検索できます。ただし、PSOなどのメタヒューリスティックは、最適なソリューションが見つかることを保証しません。より具体的には、PSOは最適化される問題の勾配を使用しません。つまり、PSOは、ほとんどの古典的な最適化方法で要求されるような最適化問題の微分可能性を要求しません。そのため、PSOは、部分的に不規則な、ノイズの多い、経時変化などの最適化問題にも使用できます。

入力

  • トレーニングセット (IOObject)この入力ポートには、ExampleSetが必要です。この演算子はノミナル属性を処理できません。数値属性を持つデータセットに適用できます。さらに、この演算子は、二項ラベルを持つExampleSetにのみ適用できます。

出力

  • モデル(モデル)SVMモデルは、この出力ポートから提供されます。これで、このモデルを非表示のデータセットに適用できます。
  • サンプルセット(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。

パラメーター

  • show_convergence_plotこのパラメーターは、収束プロットのあるダイアログを描画するかどうかを示します。 範囲:ブール
  • 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カーネルパラメータの次数です。これは、 カーネルタイプパラメーターがPolynomialanovaまたはepachnenikovに設定されている場合にのみ使用できます。 範囲:実数
  • kernel_aこれはSVMカーネルパラメータaです。これは、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます 範囲:実数
  • kernel_bこれはSVMカーネルパラメータbです。これは、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます 範囲:実数
  • Cこれは誤分類の許容範囲を設定するSVM複雑度定数であり、Cの値を大きくすると「ソフトな」境界が可能になり、値を低くすると「ハードな」境界が作成されます。大きすぎる複雑度定数は、過剰適合につながる可能性がありますが、小さすぎる値は、過度に一般化される可能性があります。 範囲:実数
  • max_evaluationこれはオプティマイザーのパラメーターです。指定した評価回数の後に評価を停止することを指定します。 範囲:整数
  • generations_without_improvalこのパラメーターは、早期停止の停止基準を指定します。つまり、パフォーマンスを改善せずにn世代後に停止します。 nはこのパラメーターで指定されます。 範囲:整数
  • population_sizeサイズこのパラメータは、母集団のサイズ、つまり世代ごとの個体数を指定します。 範囲:整数
  • inertia_weightこのパラメータは、古い重みの(初期)重みを指定します。 範囲:実数
  • local_best_weightこのパラメーターは、実行中の個人の最高の位置の重みを指定します。 範囲:実数
  • global_best_weightこのパラメーターは、実行中の母集団の最適な位置の重みを指定します。 範囲:実数
  • dynamic_inertia_weightこのパラメーターは、実行中に慣性重量を改善する必要があるかどうかを指定します。 範囲:ブール
  • use_local_random_seedこのパラメーターは、ランダム化にローカルランダムシードを使用する必要があるかどうかを示します。同じ値のローカルランダムシードを使用すると、同じランダム化が生成されます。 範囲:ブール
  • local_random_seedこのパラメータは、 ローカルランダムシードを指定します。このパラメーターは、 ローカルシードの使用パラメーターがtrueに設定されている場合にのみ使用できます。 範囲:整数

チュートリアルプロセス

SVM(PSO)オペレーターの概要

「Ripley-Set」データセットは、Retrieve演算子を使用してロードされます。分割検証演算子は、分類モデルのトレーニングとテストのために適用されます。 SVM(PSO)演算子は、スプリット検証演算子のトレーニングサブプロセスに適用されます。 SVM(PSO)演算子は、すべてのパラメーターのデフォルト値で適用されます。モデルの適用演算子は、SVM(PSO)演算子によって生成されたモデルを適用するためのテストサブプロセスで使用されます。結果のラベル付きExampleSetは、モデルのパフォーマンスを測定するためにパフォーマンス(分類)演算子によって使用されます。分類モデルとそのパフォーマンスベクトルは出力に接続されており、結果ワークスペースで確認できます。このモデルの精度は約85%です。

ほとんどのパラメーターにはデフォルト値が使用されました。より信頼できる結果を得るには、これらの値を慎重に選択する必要があります。通常、相互検証などの手法は、検討中のExampleSetのこれらのパラメーターの最適な値を見つけるために使用されます。

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル