梯度下降法-gradient descent --实例解析
2015-06-18 11:46
253 查看
写作目的:发现很多机器学习算法中,多少涉及到迭代求解无约束函数的最值,故整理如下
梯度下降法是求解无约束最优化问题的一种常用算法,具有实现简单的优点;
无约束最优化问题,因为求解问题无约束,所以,我们可以用一种试探的算法:一个个值的试探,在解空间内总是能找到最有解,这种算法其实暗含了迭代的思想,但是试探这种算法盲目性比较大,导致其时间复杂度较高,结合已知信息:函数沿着梯度方向函数值上升最快,那么要求最小值,我们是不是可以循着梯度的反方向呢?就是这种想法催生出梯度下降算法,顾名思义,他是沿着梯度下降方向迭代的一种寻优算法。
要求解的无约束问题形式如下
既然是一种迭代算法,那么初始迭代点需要我们人为选取,设为
,不断迭代,更新的值。目标函数值最小化,直到收敛为止。假设第
k迭代值为,那么第k+1次发迭代值的表达式:
...
其中,
,表示步长,由一维搜索确定,即使得。
举例
那么这样迭代涉及到一个问题,何时迭代终止?所以,给出迭代终止条件:
梯度小于我们事先设定的一个正极小值的时候,停止迭代 —— 对应于本例中的情形一
前后两次求得的函数值之间的差异小于我们设定的一个正极小值,同样停止迭代—— 对应于本例中的情形三
前后两次求得的迭代变量之间的差异小于我们设定的一个正极小值,停止迭代
你会发现其中,迭代步长对迭代的影响,尤其是情形三,原来步子迈大了真的会扯着淡
总结:选初值,求梯度,用初始值以及其梯度迭代
说明:当函数是凸函数时候(如本例),梯度下降法的解是全局最优解,一般情形下,其解不能保证全局最优解。并且其收敛速度未必是很快的。
参考:统计学习方法,李航
梯度下降法是求解无约束最优化问题的一种常用算法,具有实现简单的优点;
无约束最优化问题,因为求解问题无约束,所以,我们可以用一种试探的算法:一个个值的试探,在解空间内总是能找到最有解,这种算法其实暗含了迭代的思想,但是试探这种算法盲目性比较大,导致其时间复杂度较高,结合已知信息:函数沿着梯度方向函数值上升最快,那么要求最小值,我们是不是可以循着梯度的反方向呢?就是这种想法催生出梯度下降算法,顾名思义,他是沿着梯度下降方向迭代的一种寻优算法。
要求解的无约束问题形式如下
既然是一种迭代算法,那么初始迭代点需要我们人为选取,设为
,不断迭代,更新的值。目标函数值最小化,直到收敛为止。假设第
k迭代值为,那么第k+1次发迭代值的表达式:
...
其中,
,表示步长,由一维搜索确定,即使得。
举例
那么这样迭代涉及到一个问题,何时迭代终止?所以,给出迭代终止条件:
梯度小于我们事先设定的一个正极小值的时候,停止迭代 —— 对应于本例中的情形一
前后两次求得的函数值之间的差异小于我们设定的一个正极小值,同样停止迭代—— 对应于本例中的情形三
前后两次求得的迭代变量之间的差异小于我们设定的一个正极小值,停止迭代
你会发现其中,迭代步长对迭代的影响,尤其是情形三,原来步子迈大了真的会扯着淡
总结:选初值,求梯度,用初始值以及其梯度迭代
说明:当函数是凸函数时候(如本例),梯度下降法的解是全局最优解,一般情形下,其解不能保证全局最优解。并且其收敛速度未必是很快的。
参考:统计学习方法,李航
相关文章推荐
- PE文件结构详解(四)PE导入表
- PE文件结构详解(三)PE导出表
- 移动端解决fixed和input获取焦点软键盘弹出影响定位的问题
- android基础学习--gravity和weight属性
- 深入了解 CSS3 新特性
- 浅析AngularJS中的生命周期和延迟处理
- Java使用itext生成PDF报表
- PE文件结构详解(二)可执行文件头
- 判断iphone5、4s、4等设备(不通过屏幕大小)
- extjs-->grid
- 史上最详细版!java文件打包成exe,在未配置安装JDK和未配置的电脑上运行--转载
- 什么是灰度发布?灰度发布方式 系统的割接 灰度部署典型的框架架构
- 【第六周:列表与元组】#根据单词的长度对一个单词列表进行排序
- iOS开发中用到的高效的宏定义
- PE文件结构详解(一)基本概念
- IOS代码获取内存大小
- IE6兼容性问题及IE6常见bug详细汇总
- android网络编程--从网络下载图片,并保存到内存卡
- linux下安装数据库管理工具dbeaver
- jvm性能监控工具