2018-12-15逻辑回归 高级优化

高级优化

“共轭梯度”,“BFGS”和“L-BFGS”是更复杂,更快速的优化θ的方法,可用于代替梯度下降。 但是建议不要自己编写这些更复杂的算法(除非是数值计算方面的专家),而是使用库,因为它们已经过测试和高度优化。 Octave提供它们这些优化库。

2018-12-15逻辑回归 高级优化_第1张图片
优化算法

 

这些优化算法的一种思路是给出计算导数项和代价函数的方法,你可以认为算法有一个智能的内部循环,而且事实上他们确实有一个智能的内部循环,称为线性搜索(line search)算法,它可以自动尝试不同的学习速率 α 并自动选择一个好的学习速率 α。 因此它甚至可以为每次迭代选择不同的学习速率,那么你就不需要自己选择。这些算法实际上在做更复杂的事情,不仅仅是选择一个好的学习速率,所以它们往往最终收敛得远远快于梯度下降。


然后我们可以使用octave的“fminunc()”优化算法以及“optimset()”函数,该函数创建一个包含我们要发送到“fminunc()”的选项的对象。

我们给函数“fminunc()”我们的成本函数,我们的θ值的初始向量,以及我们事先创建的“options”对象。

2018-12-15逻辑回归 高级优化_第2张图片
fminunc()函数
2018-12-15逻辑回归 高级优化_第3张图片
成本函数

你可能感兴趣的:(2018-12-15逻辑回归 高级优化)