Как решить линейную модель в KDB с помощью BFGS?

#kdb

Вопрос:

У меня есть игрушечная линейная модель:

 l ml/ml.q
.ml.loadfile`:optimize/init.q

xx: 9h$til 10
yy: ((xx)*3)   4

x0: 1 1    
error:{sum xexp[(yy - (xx*x)   y);2]}

q).ml.optimize.BFGS[error;x0;();::]

'type
  [4]  /home/chris/anaconda3/q/ml/optimize/utils.q:467: .ml.i.gradEval:
  // Evaluate the gradient
  (i.funcEval[func;xk;args]-fk)%eps
                           ^
  }
 

Я надеюсь, что это сведет к минимуму функцию ошибок и восстановится 3;4 из модели.

Однако, похоже, это не проходит, несмотря на то, что я как можно лучше следил за документами:

https://code.kx.com/q/ml/toolkit/optimize/

Что я делаю не так?

Ответ №1:

Проблема была связана с error функцией; она должна быть унарной и принимать список в качестве параметра.

 error:{sum xexp[(yy - (xx*x[0])   x[1]);2]}