【发布时间】:2012-05-02 17:44:47
【问题描述】:
我正在玩 Python 中的逻辑回归。我已经实现了一个通过梯度下降来最小化成本函数的版本,现在我想使用 scipy 的 BFGS 算法(scipy.optimize.fmin_bfgs)。
我有一组数据(矩阵 X 中的特征,X 的每一行都有一个样本,垂直向量 y 中的对应标签)。我正在尝试找到参数 Theta 以最小化:
我很难理解 fmin_bfgs 是如何工作的。据我所知,我必须传递一个要最小化的函数和一组 Thetas 的初始值。
我执行以下操作:
initial_values = numpy.zeros((len(X[0]), 1))
myargs = (X, y)
theta = scipy.optimize.fmin_bfgs(computeCost, x0=initial_values, args=myargs)
其中 computeCost 计算 J(Thetas),如上图所示。但是我得到了一些与索引相关的错误,所以我认为我没有提供 fmin_bfgs 期望的内容。
有人能解释一下吗?
【问题讨论】:
标签: python scipy python-2.7 regression