在初学机器学习时,在吴恩达机器学习课后作业中经常使用到高级优化算法,计算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
methond:所要使用的优化方法,一般使用TNC即可
jac:传入的是gradient方法,即计算梯度的方法
args:梯度计算函数的参数(除了theta之外的按顺序写)
options:有两个选项,{‘maxiter’:100}可以控制迭代次数;‘disp’:True}可以打印一些运行细节
运行结果也有多个,其中.x代表的是返回的theta值。如:
fmin = minimize()
theta = fmin.x