Целевая функция должна возвращать скаляр - PullRequest
0 голосов
/ 02 декабря 2018

Я пишу код для реализации SVM для классификации рукописных цифр.

def PolynomialKernel(x,y,p):
    return (np.matmul(x,y.T)+1)**p
def DualFunction(L):
    return np.matmul((ytrain*ytrain),PolynomialKernel(xtrain,xtrain,1))-np.sum(L)
import scipy.optimize 
cons = ({'type': 'eq',
     'fun' : lambda L: np.array([np.matmul(L.T,ytrain)]),
     'jac' : lambda L: np.array([np.sum(ytrain)])},
    {'type': 'ineq',
     'fun' : lambda L: np.array([L]),
     'jac' : lambda L: np.array([1.0])})

result=scipy.optimize.minimize(DualFunction, L,constraints=cons, method='SLSQP', options={'disp': True})
result.x

Выходное сообщение было:

ValueError: Функция цели должна возвращать скаляр.

Почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...