Я пытаюсь использовать GaussianProcessRegressor как часть scikit-learn 0.18.1
Я тренируюсь на 200 точках данных и использую 13 входных функций для своего ядра — константа умноженное на радиальную базисную функцию с двенадцатью элементами. Модель работает без нареканий, но если я запускаю один и тот же скрипт несколько раз, то замечаю, что иногда получаю разные решения. Возможно, стоит отметить, что некоторые оптимизированные параметры выходят за рамки, которые я им предоставил (сейчас я выясняю, какие функции имеют значение).
Я пробовал увеличить параметр n_restarts_optimizer на 50, и хотя это занимает значительно больше времени, это не устраняет элемент кажущейся случайности. Кажется, можно изменить сам оптимизатор, но мне не повезло. При беглом просмотре кажется, что наиболее синтаксически похожими являются fmin_tnc и fmin_slsqp Scipy (другие оптимизаторы не включают границы). Однако использование любого из этих методов вызывает другие проблемы: например, fmin_tnc не возвращает минимальное значение целевой функции.
Есть ли какие-либо предложения о том, как получить более детерминированный сценарий? В идеале я бы хотел, чтобы он печатал одни и те же значения независимо от итерации, потому что в нынешнем виде это немного похоже на лотерею (и поэтому делать какие-либо выводы сомнительно).
Фрагмент код, который я использую:
from sklearn.gaussian_process import GaussianProcessRegressor as GPR
from sklearn.gaussian_process.kernels import RBF, ConstantKernel as C
lbound = 1e-2
rbound = 1e1
n_restarts = 50
n_features = 12 # Actually determined elsewhere in the code
kernel = C(1.0, (lbound,rbound)) * RBF(n_features*[10], (lbound,rbound))
gp = GPR(kernel=kernel, n_restarts_optimizer=n_restarts)
gp.fit(train_input, train_outputs)
test_model, sigma2_pred = gp.predict(test_input, return_std=True)
print gp.kernel_
Подробнее здесь: https://stackoverflow.com/questions/449 ... -regressor
Настройка оптимизатора в sklearn Регрессор гауссовского процесса ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как создать удобный API оптимизатора для оптимизатора модели линейной регрессии?
Anonymous » » в форуме Python - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Добавление гауссовского шума к сигналу вместо прямой генерации гауссовского шума.
Anonymous » » в форуме Python - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-