使用 fmin_bfgs (在SciPy中)优化未经规范的后勤成本函数时出现以下错误:
遇到零除法:rhok假设大
C:\ Python27 \ lib中\站点包\ SciPy的\优化\ optimize.py:828: 运行时警告:在double_scalars中遇到零除以rhok = 1.0 /(numpy.dot(yk,sk))
警告:由于精度损失,无法实现所需的错误。 当前功能值:0.693147 迭代:1 功能评估:27
算法(fmin_bfgs)在一次迭代后停止。我能做错什么?这是python代码:https://gist.github.com/4223554
答案 0 :(得分:0)
您的目标和渐变函数存在错误:
initial_theta
代替theta
,因此它们会返回常量值。这样的函数具有 no 明确定义的最小值,因此优化失败。theta
是2D数组修复它们并且有效。
答案 1 :(得分:-1)
人,
与'pv'提到的不同,该问题与initial_theta无关。它与训练数据集有关。我已经解决了问题,这是工作代码:https://github.com/dormantroot/machine-learning-experiment/blob/master/LogisticRegressionExamples/LogisticRegression.py