Hinge
類別keras.losses.Hinge(reduction="sum_over_batch_size", name="hinge", dtype=None)
計算 y_true
和 y_pred
之間的合頁損失。
公式
loss = maximum(1 - y_true * y_pred, 0)
y_true
的值預期為 -1 或 1。如果提供二元 (0 或 1) 標籤,我們會將它們轉換為 -1 或 1。
引數
"sum_over_batch_size"
。支援的選項有 "sum"
、"sum_over_batch_size"
、"mean"
、"mean_with_sample_weight"
或 None
。"sum"
加總損失,"sum_over_batch_size"
和 "mean"
加總損失並除以樣本大小,而 "mean_with_sample_weight"
加總損失並除以樣本權重的總和。"none"
和 None
不執行聚合。預設值為 "sum_over_batch_size"
。None
,表示使用 keras.backend.floatx()
。keras.backend.floatx()
是 "float32"
,除非設定為不同的值 (透過 keras.backend.set_floatx()
)。如果提供 keras.DTypePolicy
,則會使用 compute_dtype
。SquaredHinge
類別keras.losses.SquaredHinge(
reduction="sum_over_batch_size", name="squared_hinge", dtype=None
)
計算 y_true
和 y_pred
之間的平方合頁損失。
公式
loss = square(maximum(1 - y_true * y_pred, 0))
y_true
的值預期為 -1 或 1。如果提供二元 (0 或 1) 標籤,我們會將它們轉換為 -1 或 1。
引數
"sum_over_batch_size"
。支援的選項有 "sum"
、"sum_over_batch_size"
、"mean"
、"mean_with_sample_weight"
或 None
。"sum"
加總損失,"sum_over_batch_size"
和 "mean"
加總損失並除以樣本大小,而 "mean_with_sample_weight"
加總損失並除以樣本權重的總和。"none"
和 None
不執行聚合。預設值為 "sum_over_batch_size"
。None
,表示使用 keras.backend.floatx()
。keras.backend.floatx()
是 "float32"
,除非設定為不同的值 (透過 keras.backend.set_floatx()
)。如果提供 keras.DTypePolicy
,則會使用 compute_dtype
。CategoricalHinge
類別keras.losses.CategoricalHinge(
reduction="sum_over_batch_size", name="categorical_hinge", dtype=None
)
計算 y_true
和 y_pred
之間的類別合頁損失。
公式
loss = maximum(neg - pos + 1, 0)
其中 neg=maximum((1-y_true)*y_pred)
且 pos=sum(y_true*y_pred)
引數
"sum_over_batch_size"
。支援的選項有 "sum"
、"sum_over_batch_size"
、"mean"
、"mean_with_sample_weight"
或 None
。"sum"
加總損失,"sum_over_batch_size"
和 "mean"
加總損失並除以樣本大小,而 "mean_with_sample_weight"
加總損失並除以樣本權重的總和。"none"
和 None
不執行聚合。預設值為 "sum_over_batch_size"
。None
,表示使用 keras.backend.floatx()
。keras.backend.floatx()
是 "float32"
,除非設定為不同的值 (透過 keras.backend.set_floatx()
)。如果提供 keras.DTypePolicy
,則會使用 compute_dtype
。hinge
函數keras.losses.hinge(y_true, y_pred)
計算 y_true
和 y_pred
之間的合頁損失。
公式
loss = mean(maximum(1 - y_true * y_pred, 0), axis=-1)
引數
y_true
的值預期為 -1 或 1。如果提供二元 (0 或 1) 標籤,它們將會被轉換為 -1 或 1,形狀為 [batch_size, d0, .. dN]
。[batch_size, d0, .. dN]
。傳回
合頁損失值,形狀為 [batch_size, d0, .. dN-1]
。
範例
>>> y_true = np.random.choice([-1, 1], size=(2, 3))
>>> y_pred = np.random.random(size=(2, 3))
>>> loss = keras.losses.hinge(y_true, y_pred)
squared_hinge
函數keras.losses.squared_hinge(y_true, y_pred)
計算 y_true
和 y_pred
之間的平方合頁損失。
公式
loss = mean(square(maximum(1 - y_true * y_pred, 0)), axis=-1)
引數
y_true
的值預期為 -1 或 1。如果提供二元 (0 或 1) 標籤,我們會將它們轉換為 -1 或 1,形狀為 [batch_size, d0, .. dN]
。[batch_size, d0, .. dN]
。傳回
平方合頁損失值,形狀為 [batch_size, d0, .. dN-1]
。
範例
>>> y_true = np.random.choice([-1, 1], size=(2, 3))
>>> y_pred = np.random.random(size=(2, 3))
>>> loss = keras.losses.squared_hinge(y_true, y_pred)
categorical_hinge
函數keras.losses.categorical_hinge(y_true, y_pred)
計算 y_true
和 y_pred
之間的類別合頁損失。
公式
loss = maximum(neg - pos + 1, 0)
其中 neg=maximum((1-y_true)*y_pred)
且 pos=sum(y_true*y_pred)
引數
y_true
的值預期為 {-1, +1}
或 {0, 1}
(即 one-hot 編碼的張量),形狀為 [batch_size, d0, .. dN]
。[batch_size, d0, .. dN]
。傳回
類別合頁損失值,形狀為 [batch_size, d0, .. dN-1]
。
範例
>>> y_true = np.random.randint(0, 3, size=(2,))
>>> y_true = np.eye(np.max(y_true) + 1)[y_true]
>>> y_pred = np.random.random(size=(2, 3))
>>> loss = keras.losses.categorical_hinge(y_true, y_pred)