Huber

パブリッククラスHuber

ラベルと予測の間のフーバー損失を計算します。

各値 x のerror = labels - predictions :

     loss = 0.5 * x^2                  if |x| <= d
     loss = 0.5 * d^2 + d * (|x| - d)  if |x| > d
 

ここで、d はデルタです。

スタンドアロン使用:

    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} });
    Huber huberLoss = new Huber(tf);
    Operand<TFloat32> result = huberLoss.call(labels, predictions);
    // produces 0.155
 

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

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

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

    Huber huberLoss = new Huber(tf, Reduction.SUM);
    Operand<TFloat32> result = huberLoss.call(labels, predictions);
    // produces 0.32f
 

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

    Huber huberLoss = new Huber(tf, Reduction.NONE);
    Operand<TFloat32> result = huberLoss.call(labels, predictions);
    // produces [0.18f, 0.13f]
 

定数

浮くDELTA_DEFAULT

継承されたフィールド

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

フーバー(Ops TF)
getSimpleName()を損失名として、 DELTA_DEFAULTをデルタとして、 REDUCTION_DEFAULTの損失削減を使用して、Huber 損失を作成します。
Huber (Ops tf、文字列名)
デルタとしてDELTA_DEFAULTを使用し、 REDUCTION_DEFAULTの損失削減を使用してフーバー損失を作成します。
Huber (Ops tf、削減削減)
getSimpleName()損失名として、 DELTA_DEFAULTデルタとして使用して、Huber 損失を作成します。
Huber (Ops tf、文字列名、 Reduction削減)
デルタとしてDELTA_DEFAULTを使用してフーバー損失を作成します
Huber (Ops tf、文字列名、float デルタ、 Reduction削減)
ヒューバー損失を生み出す

パブリックメソッド

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

継承されたメソッド

定数

パブリック静的最終フロートDELTA_DEFAULT

定数値: 1.0

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

パブリックフーバー(Ops tf)

getSimpleName()を損失名として、 DELTA_DEFAULTをデルタとして、 REDUCTION_DEFAULTの損失削減を使用して、Huber 損失を作成します。

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

public Huber (Ops tf、文字列名)

デルタとしてDELTA_DEFAULTを使用し、 REDUCTION_DEFAULTの損失削減を使用してフーバー損失を作成します。

パラメーター
TF TensorFlow オペレーション
名前損失の名前。null の場合はgetSimpleName()が使用されます。

public Huber (Ops tf、 Reduction削減)

getSimpleName()損失名として、 DELTA_DEFAULTデルタとして使用して、Huber 損失を作成します。

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

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

デルタとしてDELTA_DEFAULTを使用してフーバー損失を作成します

パラメーター
TF TensorFlow オペレーション
名前損失の名前。null の場合はgetSimpleName()が使用されます。
削減損失に適用する減額のタイプ。

public Huber (Ops tf、文字列名、float デルタ、 Reduction削減)

ヒューバー損失を生み出す

パラメーター
TF TensorFlow オペレーション
名前損失の名前。null の場合はgetSimpleName()が使用されます。
デルタフーバー損失関数が二次関数から線形関数に変化する点。
削減損失に適用する減額のタイプ。

パブリックメソッド

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

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

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