Cross Distances
概要
この演算子は、「要求セット」ExampleSetの各例から「参照セット」ExampleSetの各例までの距離を計算します。この演算子は、距離ではなく類似度を計算することもできます。
詳細
Cross Distancesオペレーターは、入力として2つのExampleSet、つまり ‘reference set’および ‘request set’ ExampleSetを受け取ります。これは、「要求セット」ExampleSetの各例と「参照セット」ExampleSetの各例の間の距離を含むExampleSetを作成します。両方の入力ExampleSetが同じ属性を同じ順序で持つ必要があることに注意してください。属性の順序が異なる場合、この演算子は正しく機能しません。この演算子は、距離ではなく類似度を計算することもできます。 類似度の計算パラメータがtrueに設定されている場合、距離ではなく類似度が計算されます。両方の入力ExampleSetにはid属性が必要であることに注意してください。 id属性が存在しない場合、この演算子はそのようなExampleSetのid属性を自動的に作成します。距離の計算に使用するメジャーは、パラメーターを介して指定できます。メジャーには、 混合メジャー 、 名目メジャー 、 数値メジャー 、 ブレグマン発散の 4種類があります。
同じデータを表すことになっているが、列の順序が異なる2つの異なるソースからデータがインポートされた場合、クロス距離演算子は期待どおりに動作しません。 [属性の生成]演算子を使用して、両方のExampleSetsの属性を同じ順序で再作成することにより、これを回避できます。
入力
- 要求セット (IOObject)この入力ポートには、ExampleSetが必要です。このExampleSetは「要求セット」として使用されます。両方の入力ExampleSets(「要求セット」と「参照セット」)が同じ属性を同じ順序で持つ必要があることに注意してください。属性の順序が異なる場合、この演算子は正しく機能しません。また、両方の入力ExampleSetにはid属性が必要であることに注意してください。 id属性が存在しない場合、この演算子はそのようなExampleSetのid属性を自動的に作成します。
- 参照セット (IOObject)この入力ポートには、ExampleSetが必要です。このExampleSetは、「参照セット」として使用されます。両方の入力ExampleSets(「要求セット」と「参照セット」)が同じ属性を同じ順序で持つ必要があることに注意してください。属性の順序が異なる場合、この演算子は正しく機能しません。また、両方の入力ExampleSetにはid属性が必要であることに注意してください。 id属性が存在しない場合、この演算子はそのようなExampleSetのid属性を自動的に作成します。
出力
- 結果セット(IOObject)「リクエストセット」ExampleSetの各例と「リファレンスセット」ExampleSetの各例の間の距離(または類似性の計算パラメーターがtrueに設定されている場合は類似性)を含むExampleSetは、このポートを介して配信されます。
- 要求セット(IOObject)要求セット入力ポートで提供された「要求セット」ExampleSetは、このポートを介して配信されます。入力ExampleSetにid属性がある場合、ExampleSetは変更なしで配信されます。それ以外の場合、id属性が入力ExampleSetに自動的に追加されます。
- 参照セット(IOObject)参照セット入力ポートで提供された「参照セット」ExampleSetは、このポートを介して配信されます。入力ExampleSetにid属性がある場合、ExampleSetは変更なしで配信されます。それ以外の場合、id属性が入力ExampleSetに自動的に追加されます。
パラメーター
- measure_typesこのパラメーターは、距離(または類似度)の計算に使用されるメジャーのタイプを選択するために使用されます。次のオプションを使用できます: 混合メジャー 、 名目メジャー 、 数値メジャー 、およびブレグマン発散 。 範囲:選択
- mixed_measureこのパラメーターは、 メジャータイプパラメーターが「混合メジャー」に設定されている場合に使用できます。使用可能なオプションは「混合ユークリッド距離」 範囲のみです:選択
- nominal_measureこのパラメーターは、 メジャータイプパラメーターが「nominal measure 」に設定されている場合に使用できます。入力ExampleSetに数値属性がある場合、このオプションは適用できません。入力ExampleSetに数値属性がある場合、「数値メジャー」オプションを選択する必要があります。 範囲:選択
- numeric_measureこのパラメーターは、 メジャータイプパラメーターが「数値メジャー」に設定されている場合に使用できます。入力ExampleSetにノミナル属性がある場合、このオプションは適用できません。入力ExampleSetにノミナル属性がある場合、「ノミナル測定」オプションを選択する必要があります。 範囲:選択
- 発散このパラメーターは、 メジャータイプパラメーターが ‘bregman divergences’に設定されている場合に使用できます。 範囲:選択
- kernel_typeこのパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定されている場合にのみ使用できます。カーネル関数のタイプは、このパラメーターを介して選択されます。次のカーネルタイプがサポートされています。
- 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のすべての選択が有効なカーネル関数につながるわけではないことに注意してください。
- sigmoid:これはシグモイドカーネルです。一部のパラメーターでは、シグモイドカーネルが無効であることに注意してください。
- anova:これはanovaカーネルです。ガンマと角度の調整可能なパラメーターがあります。
- epachnenikov:Epanechnikovカーネルは、-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 、 ガウスの組み合わせ、またはマルチクアドリックに設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma2これはSVMカーネルパラメータsigma2です。このパラメーターは、 数値測定パラメーターが ‘Kernel Euclidean Distance’に設定され、 カーネルタイプパラメーターがgaussian combinationに設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma3これはSVMカーネルパラメータsigma3です。このパラメーターは、 数値測定パラメーターが ‘Kernel Euclidean Distance’に設定され、 カーネルタイプパラメーターがgaussian combinationに設定されている場合にのみ使用できます。 範囲:実数
- kernel_shiftこれは、SVMカーネルパラメーターシフトです。このパラメーターは、 数値測定パラメーターが ‘Kernel Euclidean Distance’に設定され、 カーネルタイプパラメーターがmultiquadricに設定されている場合にのみ使用できます。 範囲:実数
- kernel_degreeこれは、SVMカーネルパラメータの次数です。このパラメーターは、 数値測定パラメーターが ‘Kernel Euclidean Distance’に設定され、 カーネルタイプパラメーターがPolynomial 、 anovaまたはepachnenikovに設定されている場合にのみ使用できます。 範囲:実数
- kernel_aこれはSVMカーネルパラメータaです。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます。 範囲:実数
- kernel_bこれはSVMカーネルパラメータbです。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます。 範囲:実数
- only_top_kこのパラメーターは、各リクエスト例に最も近いkのみを計算するかどうかを示します。 範囲:ブール
- kこのパラメーターは、 唯一の上位kパラメーターがtrueに設定されている場合にのみ使用できます。結果に表示される最も近い例の数を決定します。 範囲:整数
- search_forこのパラメーターは、 トップkパラメーターのみがtrueに設定されている場合にのみ使用できます。最も近い距離を選択するか、最も遠い距離を選択するかを決定します。 範囲:選択
- compute_similaritiesこのパラメーターをtrueに設定すると、距離ではなく類似性が計算されます。すべてのメジャーは引き続き使用可能ですが、元々距離ではないメジャーまたはそれぞれの類似度メジャーは、最適化の方向に一致するように変換されます。 範囲:ブール
チュートリアルプロセス
クロス距離演算子の概要
このプロセス例は、サブプロセス演算子で始まります。このサブプロセスは、「リクエストセット」ExampleSetと「リファレンスセット」ExampleSetを生成します。ここにブレークポイントが挿入されるので、クロス距離演算子を適用する前にExampleSetsを見ることができます。 「リクエストセット」のIDが「id_1」の例は1つだけであることがわかります。 「参照セット」には、idが「id_1」と「id_2」の2つの例しかありません。両方のExampleSetには、同じ順序で3つの属性があります。両方のExampleSetが同じ属性を同じ順序で持つことが非常に重要です。そうでない場合、クロス距離演算子は期待どおりに動作しません。 Cross Distances演算子は、これらのExampleSetに適用されます。 「要求セット」ExampleSetの各例と「参照セット」ExampleSetの各例の間の距離を含む結果のExampleSetは、クロス距離演算子によって計算されます。結果のExampleSetは、結果ワークスペースで表示できます。