tf.contrib.constrained_optimization.find_best_candidate_index
Эвристически находит наилучшее кандидатское решение для задачи с ограничениями.
tf.contrib.constrained_optimization.find_best_candidate_index(
objective_vector, constraints_matrix, rank_objectives=False
)
Эта функция обрабатывает задачу с ограничениями:
минимизировать f(w) при условии g_i(w) <= 0 для всех i в {0,1,...,m-1}
Здесь f(w) — «целевая функция», а g_i(w) — i-я (из m) «функция ограничения». Учитывая набор из n «кандидатских решений» {w0,w1,...,wn-1}, эта функция находит «лучшее» решение в соответствии со следующим эвристическим алгоритмом:
- Для всех моделей значения нарушения i-го ограничения (т.е. max{0, gi(0)}) ранжируются, как и значения целевых функций (если rank_objectives=True).
- Затем каждой модели присваивается максимальный ранг по всем m ограничениям (и целевой функции, если rank_objectives=True).
- Затем определяется модель с минимальным максимальным рангом. При равенстве рангов используется значение целевой функции.
- Возвращается индекс этой «лучшей» модели.
Параметр objective_vector должен быть массивом NumPy с формой (n,), для которого objective_vector[i] = f(wi). Аналогично, constraints_matrix должен быть массивом NumPy с формой (m,n), для которого constraints_matrix[i,j] = gi(wj).
Для более подробной информации обратитесь к:
Cotter, Jiang и Sridharan. «Two-Player Games for Efficient Non-Convex Constrained Optimization». https://arxiv.org/abs/1804.06500
Эта функция реализует эвристику, используемую для поиска гиперпараметров в экспериментах раздела 5.2.
| Args | |
|---|---|
objective_vector | массив NumPy формы (n,), где n — количество «кандидатских решений». Содержит значения целевой функции. |
constraints_matrix | массив NumPy формы (m,n), где m — количество ограничений, а n — количество «кандидатских решений». Содержит значения величины нарушения ограничений. |
rank_objectives | bool, указывает, следует ли включать значения целевой функции в начальный этап ранжирования. Если True, будут ранжироваться как значения целевой функции, так и ограничения. Если False, будут ранжироваться только ограничения. В любом случае значения целевой функции будут использоваться для разрешения ничьих. |
| Returns | |
|---|---|
| Индекс (в {0,1,...,n-1}) «лучшей» модели в соответствии с вышеуказанной эвристикой. |
| Raises | |
|---|---|
ValueError | Если у objective_vector и constraints_matrix несовместимые формы. |
ImportError | Если не удаётся импортировать scipy.stats. |
© 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/constrained_optimization/find_best_candidate_index