一、问题介绍

在初学机器学习时,在吴恩达机器学习课后作业中经常使用到高级优化算法,计算theta值会更为便捷,在python中,可以使用scipy.optimize包中的minimize函数直接计算得到所求的theta参数。

二、查看介绍

在pycharm IDE中,可以直接ctrl+b直接查看minimize函数的各项参数。以及一大堆看见就不想多读的内容。

def minimize(fun, x0, args=(), method=None, jac=None, hess=None,
             hessp=None, bounds=None, constraints=(), tol=None,
             callback=None, options=None):

三、函数参数

简单总结介绍函数的各个参数作用
fun:传入的是cost函数,就是自己写的计算代价的函数
x0:传入的是theta的初始值,初始化后的theta
method:所要使用的优化方法,如TNC、BFGS等
jac:传入的是gradient方法,即计算梯度的方法
args:梯度计算函数的参数(除了theta之外的按顺序写)
options:有两个选项,{‘maxiter’:100}可以控制迭代次数;{‘disp’:True}可以打印一些运行细节

四、运行结果

运行结果也有多个,其中.x代表的是返回的theta值。如:
fmin = minimize()
theta = fmin.x

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐