Hinge

パブリッククラスヒンジ

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

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

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

スタンドアロン使用:

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

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

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

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

    Hinge hingeLoss = new Hinge(tf, Reduction.SUM);
    Operand<TFloat32> result = hingeLoss.call(labels, predictions);
    // produces 2.6f
 

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

    Hinge hingeLoss = new Hinge(tf, Reduction.NONE);
    Operand<TFloat32> result = hingeLoss.call(labels, predictions);
    // produces [1.1f, 1.5f]
 

継承されたフィールド

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

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

パブリックメソッド

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

継承されたメソッド

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

パブリックヒンジ(Ops tf)

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

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

パブリックヒンジ(Ops tf、 Reduction削減)

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

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

public Hinge (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.] の外にある場合。