逻辑回归中的优化算法
==================================================================
最近在看文章:逻辑回归-柳超。写的挺详细的,但是还是有些地方的知识看不太懂,再了解一下。
【牛顿法】
应用:1、求方程的根,2、最优化。
要求:牛顿法涉及到方程求导,所以求解的函数要在连续可微的前提下讨论,非线性优化问题。
核心思想:泰勒公式(泰勒公式详解)
牛顿法做逻辑回归的最优化
a:用当前点处的二次泰勒展开式来近似目标函数
b:找出近似函数(泰勒展开式)的极小点方向,求得极小值点
c:根据求得的极小值点找到合适的下降步长
牛顿法可以利用到曲线本身的信息,比梯度下降法更容易收敛(迭代更少次数)。
牛顿方法简单的理解方式为:先随机选一个点,然后求出f在该点的切线,即f在该点的导数的函数。该切线等于0的点,即该切线与x轴相交的点为下一次迭代的值。直至逼近f等于0的点。过程如下图:
牛顿法优化过程动态展示
原理是利用泰勒公式,在x0处展开,且展开到一阶,即f(x) = f(x0)+(x-x0)f'(x0)
求解方程f(x)=0,即f(x0)+(x-x0)*f'(x0)=0,求解x = x1=x0-f(x0)/f'(x0),因为这是利用泰勒公式的一阶展开,f(x) = f(x0)+(x-x0)f'(x0)处并不是完全相等,而是近似相等,这里求得的x1并不能让f(x)=0,只能说f(x1)的值比f(x0)更接近f(x)=0,于是乎,迭代求解的想法就很自然了,可以进而推出x(n+1)=x(n)-f(x(n))/f'(x(n)),通过迭代,这个式子必然在f(x*)=0的时候收敛。整个过程如下图:
与梯度下降法相比:
红色曲线是利用牛顿法迭代求解,绿色曲线是利用梯度下降法求解
最近在看文章:逻辑回归-柳超。写的挺详细的,但是还是有些地方的知识看不太懂,再了解一下。
【牛顿法】
应用:1、求方程的根,2、最优化。
要求:牛顿法涉及到方程求导,所以求解的函数要在连续可微的前提下讨论,非线性优化问题。
核心思想:泰勒公式(泰勒公式详解)
牛顿法做逻辑回归的最优化
a:用当前点处的二次泰勒展开式来近似目标函数
b:找出近似函数(泰勒展开式)的极小点方向,求得极小值点
c:根据求得的极小值点找到合适的下降步长
牛顿法可以利用到曲线本身的信息,比梯度下降法更容易收敛(迭代更少次数)。
牛顿方法简单的理解方式为:先随机选一个点,然后求出f在该点的切线,即f在该点的导数的函数。该切线等于0的点,即该切线与x轴相交的点为下一次迭代的值。直至逼近f等于0的点。过程如下图:
![]() |
牛顿法优化过程动态展示
原理是利用泰勒公式,在x0处展开,且展开到一阶,即f(x) = f(x0)+(x-x0)f'(x0)
求解方程f(x)=0,即f(x0)+(x-x0)*f'(x0)=0,求解x = x1=x0-f(x0)/f'(x0),因为这是利用泰勒公式的一阶展开,f(x) = f(x0)+(x-x0)f'(x0)处并不是完全相等,而是近似相等,这里求得的x1并不能让f(x)=0,只能说f(x1)的值比f(x0)更接近f(x)=0,于是乎,迭代求解的想法就很自然了,可以进而推出x(n+1)=x(n)-f(x(n))/f'(x(n)),通过迭代,这个式子必然在f(x*)=0的时候收敛。整个过程如下图:
![]() |
与梯度下降法相比:
![]() |
红色曲线是利用牛顿法迭代求解,绿色曲线是利用梯度下降法求解