机器学习笔记(三)牛顿法和梯度下降法
来源:互联网 发布:张公子知乎 编辑:程序博客网 时间:2024/05/21 07:50
3 优化算法介绍
3.1 梯度下降法
梯度下降法:
[定义] :梯度下降法(英语:Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法。
(摘自维基)
对θ使用梯度下降法时的公式:
使用梯度下降法的步骤如下:
- 初始化所有θ的值都为0
- 求出损失函数的偏导数,然后对θ进行更新。
- 重复第二步,直到迭代次数达到预先设定的最大值。
目前常用的梯度下降法有两种,一种是随机梯度下降法,另一种是批量梯度下降法。
[问题] : 如何确定梯度下降的步长?
固定步长
line search方法。 首先指定一个步长μ,然后根据这一步长进行更新,并判断更新后损失函数有没有下降,有下降就直接进行下一步,没有下降就按一定比例不断缩小步长μ,循环十次,直到可以让损失函数的值下降。
(还有很多方法)
3.2 牛顿法
牛顿法
[定义]:In calculus, Newton’s method is an iterative method for finding the roots of a differentiable function f (i.e. solutions to the equation f(x)=0). In optimization, Newton’s method is applied to the derivative f ′ of a twice-differentiable function f to find the roots of the derivative (solutions to f ′(x)=0), also known as thestationary points of f. (摘自维基)
[翻译]:在微积分学中,牛顿法是一个迭代求可微函数的根的方法。在优化中,牛顿法被应用对二次可微函数f,求解其偏导数的根,也被看作f的驻点。
对θ应用牛顿法的公式:
[理论依据]:
我们需要求f‘(x)=0,f’(x)的泰勒的二次展开式有:
我们知道,这个式子在Δx无限趋近于0时成立。我们需要求偏导数为0,则令f(x)为偏导数。则该式等价于:
还有拟牛顿法等,在此就不一一介绍了。
- 机器学习笔记(三)牛顿法和梯度下降法
- 机器学习(三):梯度下降法
- 梯度下降法和拟牛顿法(三):牛顿法和拟牛顿法
- 机器学习(三)线性回归和梯度下降法
- 牛顿法和梯度下降
- 梯度下降和牛顿法
- 机器学习中牛顿法/梯度下降法
- 七月算法机器学习笔记6 梯度下降法与拟牛顿法
- 机器学习中梯度下降法和牛顿法的比较
- 机器学习 之 牛顿法和梯度下降法原理与实现
- 机器学习中梯度下降法和牛顿法的比较
- 机器学习中梯度下降法和牛顿法的比较
- 梯度下降,牛顿法
- 梯度下降+牛顿法
- 斯坦福机器学习笔记:梯度下降法
- 机器学习(三)Loss函数优化:梯度下降法
- 机器学习(三):拉格朗日乘子与梯度下降法
- 【机器学习详解】解无约束优化问题:梯度下降、牛顿法、拟牛顿法
- [A Weird Bug] caused by the name of Python script
- exec函数族
- 知名技术团队博客网站
- Node核心模块之fs模块
- 2659: [Beijing wc2012]算不出的算式
- 机器学习笔记(三)牛顿法和梯度下降法
- 数组的几种复制方法
- NKOI 3079 遗传密码
- 工具那些事--Sublime Text GBK支持
- “打开或关闭Windows功能”窗口之后就是空白的
- 自定义View中的控件实现页面的跳转
- 冒泡法
- C语言中的atan和atan2
- Kernel启动流程源码解析 4 start_kernel 上