tf.contrib.kernel_methods.sparse_multiclass_hinge_loss
Добавляет операции для вычисления многоклассовой потери хинджа.
tf.contrib.kernel_methods.sparse_multiclass_hinge_loss(
labels, logits, weights=1.0, scope=None, loss_collection=tf.GraphKeys.LOSSES,
reduction=losses.Reduction.SUM_BY_NONZERO_WEIGHTS
)
Реализация основана на следующей статье: О реализации алгоритма многоклассовых машин опорных векторов на основе ядер Краммера и Сингера. ссылка: http://jmlr.csail.mit.edu/papers/volume2/crammer01a/crammer01a.pdf
Это обобщение стандартной (бинарной) потери хинджа. Для заданного примера с правильным меткой c*, потеря определяется следующим образом:
или эквивалентно
где \(I_{c != c*} = 1\ \text{if}\ c != c*\) и 0 в противном случае.
| Аргументы | |
|---|---|
labels | Tensor формы [размер_пакета] или [размер_пакета, 1]. Соответствует истинному значению. Каждый элемент должен быть индексом в [0, num_classes). |
logits | Tensor формы [размер_пакета, число_классов], соответствующая не масштабированным логам. Его тип данных должен быть либо float32 или float64. |
weights | Необязательный (питонский) скаляр или Tensor. Если не скалярный Tensor, его ранг должен быть либо 1 ([размер_пакета]) или 2 ([размер_пакета, 1]). |
scope | Область для операций, выполняемых при вычислении потери. |
loss_collection | Коллекция, к которой будет добавлена потеря. |
reduction | Тип редукции, применяемой к потере. |
| Возвращаемое значение | |
|---|---|
Весовая потеря float Tensor. Если reduction является NONE, это имеет такую же форму, как и labels; в противном случае это скаляр. |
| Исключения | |
|---|---|
ValueError | Если logits, labels или weights имеют недопустимые или несовместимые формы. |
ValueError | Если тензор labels имеет недопустимый тип данных. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/kernel_methods/sparse_multiclass_hinge_loss