Хотя для автора этого вопроса это слишком поздно.
Может быть, кто-то хочет проверить некоторые алгоритмы оптимизации, когда он читает это ...
Если вы работаете с регрессиями в машинном обучении (NN, SVM, множественная линейная регрессия, K ближайший сосед) и хотите минимизировать (максимизировать) свою регрессионную функцию, на самом деле это возможно, но эффективность таких алгоритмов зависит от сглаженность, (размер шага ... и т. д.) региона, в котором вы ищете.
Чтобы построить такие «регрессии машинного обучения», вы можете использовать scikit- learn . Вы должны обучить и подтвердить свой MLR регрессионный вектор поддержки .
(метод «подгонки»)
SVR.fit(Sm_Data_X,Sm_Data_y)
Затем вы должны определить функцию, которая возвращает прогноз вашей регрессии для массива "x".
def fun(x):
return SVR.predict(x)
Вы можете использовать scipiy.optimize.minimize для оптимизации. Смотрите примеры, следующие за документами.