“共轭梯度”、“BFGS”、和“L-BFGS”更成熟,更快的方法来优化θ可以用来代替梯度下降。我们建议您不要自己编写这些更复杂的算法(除非您是数字计算方面的专家),而是使用库,因为它们已经经过测试并高度优化。octave提供它们。
我们首先需要一个函数来评价下面的两个函数为了输入θ:
我们可以编写一个返回这两个函数的函数:
然后我们可以用octave的“fminunc()”算法和“optimset()”功能,创建一个对象包含的选项,我们想把“fminunc()”。
我们给函数”fminunc()”我们的成本函数,我们的θ值的初始向量,和“选择”的对象,我们事先创建