ACE*_*CEG 11 python regression scipy python-2.7
我正在玩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)
Run Code Online (Sandbox Code Playgroud)
其中computeCost如上图所示计算J(Thetas).但是我得到了一些与索引相关的错误,所以我认为我没有提供fmin_bfgs所期望的内容.
任何人都可以对此有所了解吗?
在浪费了数小时之后,又通过发布功能解决了...我正在定义computeCost(X,y,Thetas),但是由于Thetas是优化的目标参数,因此它应该是签名中的第一个参数。固定且有效!
| 归档时间: |
|
| 查看次数: |
6560 次 |
| 最近记录: |