パブリッククラス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) | |
Huber (Ops tf、文字列名) デルタとして DELTA_DEFAULTを使用し、 REDUCTION_DEFAULTの損失削減を使用してフーバー損失を作成します。 | |
パブリックメソッド
| <T extends TNumber >オペランド<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 です。) |
返品
- 損失