步长条件梯度下降算法步长和收敛条件的设置的一些看法
2013-04-26 19:49
295 查看
文章结束给大家来个序程员笑话:[M]
在上一篇中绍介了梯度下落算法,还是利用了面上的那个x^2+y^2的例子,来求解下,代码如下:
每日一道理
我把卷子摊在课桌上,恨不得敲一阵锣,叫大家都来看看我这光彩的分数。
我们都道知这个极值是在(0,0,0)处获得的,那么我们取了一些步长和收敛条件(连续两次z值得距离)
可以看到步长不是越小越好的,相反步长越小反而获得的值不太近接实在的,这是为什么呢?因为连续函数连续两次距离太近获得值基本等相,也就足满收敛条件了,所以步长不能取太小,当然也不能取太大,试想如果在有两个点x1,x2不同但是他们的函数值等相,好正取到一个步长让在x1,x2往返震动那么取到的也不实在,所以这个步长取值是有必定的技能的。
可以看到收敛条件的值,获得越小还是越好的,当然是在步长理合的前提下。至此对梯度下落的懂得告一段落!
文章结束给大家分享下程序员的一些笑话语录:
古鸽是一种搜索隐禽,在中国快绝迹了…初步的研究表明,古鸽的离去,很可能导致另一种长着熊爪,酷似古鸽,却又习性不同的猛禽类——犤毒鸟
在上一篇中绍介了梯度下落算法,还是利用了面上的那个x^2+y^2的例子,来求解下,代码如下:
function [] = gradient(step, threadhold) %在这里主要是演示对z=x^2+y^2的用梯度下落算法 %设置x和y的初始值% x = 100; y = 100; %先算计前两个步调的值 last_step_result = x*x + y*y; x = x - step*2*x; y = y - step*2*y; this_step_result = x^2 + y^2; %设置大最代迭次数% max_count = 1000000000; index = 0; while (abs(this_step_result -last_step_result) >threadhold) && (index < max_count) %算计此时的结果% current_dx = 2*x; current_dy = 2*y; %算计新的x和y x = x - step*current_dx; y = y - step*current_dy; %算计此时的z的值,并且交换 last_step_result = this_step_result; this_step_result = x*x + y*y; index = index + 1; end %跳出循环断判结果 if index >= max_count fprintf('过超大最代迭次数%i,并且没有找到合符收敛条件的值序程退出\n', index); end if abs(this_step_result - last_step_result) <= threadhold fprintf('找到最优解:%f,x=%f,y=%f,上一步的结果是:%f,代迭次数:%i\n', this_step_result, x, y, last_step_result, index); end end
每日一道理
我把卷子摊在课桌上,恨不得敲一阵锣,叫大家都来看看我这光彩的分数。
我们都道知这个极值是在(0,0,0)处获得的,那么我们取了一些步长和收敛条件(连续两次z值得距离)
可以看到步长不是越小越好的,相反步长越小反而获得的值不太近接实在的,这是为什么呢?因为连续函数连续两次距离太近获得值基本等相,也就足满收敛条件了,所以步长不能取太小,当然也不能取太大,试想如果在有两个点x1,x2不同但是他们的函数值等相,好正取到一个步长让在x1,x2往返震动那么取到的也不实在,所以这个步长取值是有必定的技能的。
可以看到收敛条件的值,获得越小还是越好的,当然是在步长理合的前提下。至此对梯度下落的懂得告一段落!
文章结束给大家分享下程序员的一些笑话语录:
古鸽是一种搜索隐禽,在中国快绝迹了…初步的研究表明,古鸽的离去,很可能导致另一种长着熊爪,酷似古鸽,却又习性不同的猛禽类——犤毒鸟
相关文章推荐
- 梯度下降算法步长和收敛条件的设置的一些看法
- FineReport报表的一些条件设置方法
- win7 下虚拟机安装ubuntu10.04 一些设置
- RHEL5.4关于用户登录的限制的一些设置
- 关于草根小团队创业的一些看法
- iOS开发--一些UINavigationBar属性的设置
- wireshark 过滤条件设置
- 对未来互联网发展的一些不成熟的看法
- 关于圆周卷积和fft求卷积的一些看法
- Hive一些参数设置
- 【Linux】 debian6.0 的一些设置
- android 中vector的用法 ,坑 ,怎么替代,关于这几方面的一些看法
- Linux系统作为客户端时的一些代理设置
- delphi teechrt中TChart 一些属性设置
- Spring学习笔记之Bean的一些属性设置
- 推荐一些经典网络小说及对网络文学和网络市场的一些个人看法
- windbg设置条件断点
- 关于solver设置的一些问题
- 关于JavaScript的一些看法
- Eclipse 一些个人的偏好设置