SquaredHinge

パブリック クラスSquaredHinge

ラベルと予測の間の二乗ヒンジ損失を計算します。

loss = square(maximum(1 - labels * predictions, 0))

labels値は -1 または 1 であることが想定されます。バイナリ (0 または 1) ラベルが指定された場合、それらは -1 または 1 に変換されます。

スタンドアロン使用:

    Operand<TFloat32> labels =
        tf.constant(new float[][] { {0., 1.}, {0., 0.} });
    Operand<TFloat32> predictions =
        tf.constant(new float[][] { {0.6f, 0.4f}, {0.4f, 0.6f} });
    SquaredHinge squaredHinge = new SquaredHinge(tf);
    Operand<TFloat32> result = squaredHinge.call(labels, predictions);
    // produces 1.86f
 

サンプルの重みを指定して呼び出します:

    Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f});
    Operand<TFloat32> result = squaredHinge.call(labels, predictions,
                                                  sampleWeight);
    // produces 0.73f
 

SUMリダクションタイプの使用:

    SquaredHinge squaredHinge = new SquaredHinge(tf, Reduction.SUM);
    Operand<TFloat32> result = squaredHinge.call(labels, predictions);
    // produces 3.72f
 

NONE削減タイプを使用する:

    SquaredHinge squaredHinge = new SquaredHinge(tf, Reduction.NONE);
    Operand<TFloat32> result = squaredHinge.call(labels, predictions);
    // produces [1.46f, 2.26f]
 

継承されたフィールド

パブリックコンストラクター

SquaredHinge (Ops tf)
getSimpleName()を損失名として使用し、 REDUCTION_DEFAULTの損失削減を使用して二乗ヒンジ損失を作成します。
SquaredHinge (Ops tf、 Reduction削減)
getSimpleName()を損失名として使用して、2 乗ヒンジ損失を作成します
SquaredHinge (Ops tf、文字列名、 Reductionリダクション)
四角いヒンジを作成します

パブリックメソッド

<T extends TNumber >オペランド<T>
call (オペランド<? extends TNumber > ラベル、オペランド<T> 予測、オペランド<T> サンプルウェイト)
損失を計算するオペランドを生成します。

継承されたメソッド

パブリックコンストラクター

パブリックSquaredHinge (Ops tf)

getSimpleName()を損失名として使用し、 REDUCTION_DEFAULTの損失削減を使用して二乗ヒンジ損失を作成します。

パラメーター
TF TensorFlow オペレーション

public SquaredHinge (Ops tf、 Reduction削減)

getSimpleName()を損失名として使用して、2 乗ヒンジ損失を作成します

パラメーター
TF TensorFlow オペレーション
削減損失に適用する減額のタイプ。

public SquaredHinge (Ops tf、文字列名、 Reduction削減)

四角いヒンジを作成します

パラメーター
TF TensorFlow オペレーション
名前喪失の名前
削減損失に適用する減額のタイプ。

パブリックメソッド

publicオペランド<T>呼び出し(オペランド<? extends TNumber > ラベル、オペランド<T> 予測、オペランド<T> サンプルウェイト)

損失を計算するオペランドを生成します。

グラフ モードで実行すると、ラベル値がセット [-1., 0., 1.] 内にない場合、計算はTFInvalidArgumentExceptionをスローします。 Eager モードでは、ラベル値がセット [-1., 0., 1.] にない場合、この呼び出しはIllegalArgumentExceptionをスローします。

パラメーター
ラベル真理値またはラベルは、-1、0、または 1 のいずれかである必要があります。値は -1 または 1 であることが予期されます。バイナリ (0 または 1) ラベルが指定された場合、それらは -1 または 1 に変換されます。
予測予測の場合、値は [0. 1.まで]を含みます。
サンプルの重みオプションの SampleWeights は損失の係数として機能します。スカラーが指定されている場合、損失は指定された値によって単純にスケーリングされます。 SampleWeights がサイズ [batch_size] のテンソルの場合、バッチの各サンプルの合計損失は、SampleWeights ベクトルの対応する要素によって再スケーリングされます。 SampleWeights の形状が [batch_size, d0, .. dN-1] の場合 (またはこの形状にブロードキャストできる場合)、予測の各損失要素は、SampleWeights の対応する値によってスケーリングされます。 (dN-1 に関する注意: すべての損失関数は 1 次元ずつ減少します。通常は axis=-1 です。)
戻り値
  • 損失
投げる
IllegalArgumentException予測が範囲 [0.-1.] の外にある場合。