tf.contrib.linear_optimizer.SdcaModel
Стохастический решатель двойственной координатной восходящей последовательности для линейных моделей.
tf.contrib.linear_optimizer.SdcaModel(
examples, variables, options
)
Поддерживаемые функции потерь:
- Бинарная логистическая потеря
- Квадратичная потеря
- Потеря Хинге
- Гладкая потеря Хинге
-
Логарифмическая потеря Пуассона
Этот класс определяет API оптимизатора для обучения линейной модели.
Использование
# Create a solver with the desired parameters.
lr = tf.contrib.linear_optimizer.SdcaModel(examples, variables, options)
min_op = lr.minimize()
opt_op = lr.update_weights(min_op)
predictions = lr.predictions(examples)
# Primal loss + L1 loss + L2 loss.
regularized_loss = lr.regularized_loss(examples)
# Primal loss only
unregularized_loss = lr.unregularized_loss(examples)
examples: {
sparse_features: list of SparseFeatureColumn.
dense_features: list of dense tensors of type float32.
example_labels: a tensor of type float32 and shape [Num examples]
example_weights: a tensor of type float32 and shape [Num examples]
example_ids: a tensor of type string and shape [Num examples]
}
variables: {
sparse_features_weights: list of tensors of shape [vocab size]
dense_features_weights: list of tensors of shape [dense_feature_dimension]
}
options: {
symmetric_l1_regularization: 0.0
symmetric_l2_regularization: 1.0
loss_type: "logistic_loss"
num_loss_partitions: 1 (Optional, with default value of 1. Number of
partitions of the global loss function, 1 means single machine solver,
and >1 when we have more than one optimizer working concurrently.)
num_table_shards: 1 (Optional, with default value of 1. Number of shards
of the internal state table, typically set to match the number of
parameter servers for large data sets.
}
В программе обучения вам нужно будет просто выполнить возвращённую операцию из minimize().
# Execute opt_op and train for num_steps. for _ in range(num_steps): opt_op.run() # You can also check for convergence by calling lr.approximate_duality_gap()
Методы
approximate_duality_gap
approximate_duality_gap()
Добавляет операции для вычисления приближённого разрыва двойственности.
| Возвращаемое значение | |
|---|---|
| Операция, которая вычисляет приближённый разрыв двойственности по всем примерам. |
minimize
minimize(
global_step=None, name=None
)
Добавляет операции для обучения линейной модели путём минимизации функции потерь.
| Аргументы | |
|---|---|
global_step | Необязательный Variable для увеличения на единицу после обновления переменных. |
name | Необязательное имя для возвращаемой операции. |
| Возвращаемое значение | |
|---|---|
| Операция, которая обновляет переменные, переданные в конструкторе. |
predictions
predictions(
examples
)
Добавляет операции для вычисления прогнозов моделью.
Если используется логистическая потеря, возвращаются предсказанные вероятности. Если используется потеря Пуассона, прогнозы экспоненцируются. В противном случае возвращаются (сырые) линейные прогнозы (w*x).
| Аргументы | |
|---|---|
examples | Примеры для вычисления прогнозов. |
| Возвращаемое значение | |
|---|---|
| Операция, которая вычисляет прогнозы для примеров. |
| Исключения | |
|---|---|
ValueError | если примеры определены некорректно. |
regularized_loss
regularized_loss(
examples
)
Добавляет операции для вычисления функции потерь с учётом регуляризации.
| Аргументы | |
|---|---|
examples | Примеры для вычисления функции потерь. |
| Возвращаемое значение | |
|---|---|
| Операция, которая вычисляет среднее (регуляризованное) значение функции потерь для заданного набора примеров. |
| Исключения | |
|---|---|
ValueError | если примеры определены некорректно. |
unregularized_loss
unregularized_loss(
examples
)
Добавляет операции для вычисления функции потерь (без регуляризации).
| Аргументы | |
|---|---|
examples | Примеры для вычисления нерегуляризованной функции потерь. |
| Возвращаемое значение | |
|---|---|
| Операция, которая вычисляет среднее (нерегуляризованное) значение функции потерь для заданного набора примеров. |
| Исключения | |
|---|---|
ValueError | если примеры определены некорректно. |
update_weights
update_weights(
train_op
)
Обновляет веса модели.
Эта функция должна вызываться как минимум на одном узле после minimize. В распределённом обучении этот вызов можно опустить на неглавных узлах для ускорения обучения.
| Аргументы | |
|---|---|
train_op | Операция, возвращённая вызовом minimize . |
| Возвращаемое значение | |
|---|---|
| Операция, которая обновляет веса модели. |
© 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/linear_optimizer/SdcaModel