机器学习中,很多时候是求最优化问题,优化问题的求解通常有两种求解方法:牛顿法、梯度下降法。
牛顿法:使用迭代的方法,寻找使f(theta) = 0,找到 theta的具体取值。数学表达式如下:
简单理解:先随机选取一点,求出f在该点的切线即导数;
切线等于0的位置,即下一次迭代的值;
知道f逼近等于0的点。
具体过程见下图:
举个例子:求最大似然l(theta)的最大值,可以先求l’(theta);
然后f(theta) = l’(theta);
这样就可以转化为牛顿法来求参数theta的值。
牛顿法与梯度下降法的比较,见下图。
牛顿法优点:收敛速度快,迭代次数少;但计算量大。
梯度下降法:单次计算量小,但迭代次数多,收敛速度慢。
梯度下降法:
也是迭代算法
初始值也可以随机给
然后不断取提取下降的方向求一下迭代值。