解决在梯度下降等算法中,学习率步长的问题。

二分精确搜索法把梯度转化为和学习率的函数,问题转化为找学习率的问题, 然后寻找梯度最低的时候的学习率是多少,在此过程中用了二分法查找学习率。是一种精确搜索方法

阿米霍步长准则是一个模糊搜索方法,梯度的变化满足一定的程度,不如此处梯度是9,设定系数0.3,下一点梯度为2.7

import numpy as np
def ArmijoBacktrack(fun,d,x,alpha,c=0.3):""":param fun: 目标函数,是个函数:param d: 当前点x处的导数,因为要寻找的是当前点处的最佳学习速率alpha,当前点的梯度是固定的,是个值,向量:param x: 当前点,向量:param alpha: 初始学习速率:param c: 参数c:return: 返回找到的学习速率"""now=fun(x)nextv=fun(x-alpha*d)count=50while nextv < now and count>0:"""寻找最大的alpha"""alpha = alpha*2nextv=fun(x-alpha*d)count -=1iterstep=50slope=np.dot(d,d)while nextv > now - slope * c * alpha and iterstep>0:"""折半搜索"""alpha=alpha/2nextv=fun(x-alpha*d)iterstep-=1return alphadef GradientDescent(fun,dfun,x,alpha,itersteps):for i in range(itersteps):d=dfun(x)x-= d * alphaprint fun(x)def ArmijoGradientDescent(fun,dfun,x,alpha,itersteps):for i in range(itersteps):d=dfun(x)alpha=ArmijoBacktrack(fun,d,x,alpha)x-=d*alphaprint '{},{}'.format(alpha,fun(x))def fun1(args):"""x^2+y^4+z^6:param args::return:"""return args[0]**2+args[1]**4+args[2]**6def dgfun1(args):"""x^2+y^4+z^6:param args::return:"""return np.array([2*args[0],4*args[1]**3,6*args[2]**5])if __name__=='__main__':args=np.array([3,2,2],dtype=float)# GradientDescent(fun1,dgfun1,args,0.01,1000)ArmijoGradientDescent(fun1,dgfun1,args,0.01,1000)# print fun1(args)# print 9+16+64# print dgfun1(args)#print ArmijoBacktrack(fun1,d,args,0.1)# ArmijoBacktrack(fun1,dgfun1,args,0.001)# GradientDescent(fun1,dgfun1,args,0.001,10000)# d=dgfun1(args)

自适应学习率算法.基于阿米霍步长准则的线性回溯搜索算法相关推荐

  1. 从动力学角度看优化算法:自适应学习率算法

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 在从动力学角度看优化算法SGD:一些小启示一文中,我们提出 SGD 优化算法跟常微分方程(ODE) ...

  2. 自适应滤波器算法综述以及代码实现

    作者:凌逆战 文章地址:自适应滤波器算法综述以及代码实现 - 凌逆战 - 博客园 并不是每个自适应滤波器的的代码我都实现了,我需要一定的时间,一有时间我就会来更新代码,记得关注我,如果有问题记得反馈 ...

  3. 回声消除中的自适应滤波算法综述

    作者:凌逆战 博客园地址:https://www.cnblogs.com/LXP-Never/p/11773190.html 自适应回声消除原理 声学回声是指扬声器播出的声音在接受者听到的同时,也通过 ...

  4. LMS自适应滤波器算法及其改进

    -- 年初DSP课程期末设计时为了答辩做的PPT,内容背的滚瓜烂熟,给老师留下了深刻的印象,想必整个系也没有第二个人像我这么上心了,因此最后决定把PPT放到博客上:此外因为不希望PPT上有太多字,所以 ...

  5. 基于自适应巡视算法的工业物联网异常行为检测

    [摘  要]针对当前物联网节点易受攻击的问题,提出一种基于自适应巡视算法的工业物联网异常行为检测方法.根据数据包完整性.数据包传输率和传输延迟等异常行为动态更新物联网节点信誉度,结合信誉阈值自适应调整 ...

  6. Matlab实现基于二维伽马函数的光照不均匀图像自适应校正算法

    Matlab程序: %% % 基于二维伽马函数的光照不均匀图像自适应校正算法 % %% clc,close all; tic; im=imread('你的图片.jpg'); figure; imsho ...

  7. 基于圆展开自适应三边测量算法的室内定位

    基于圆展开自适应三边测量算法的室内定位 具有无线通信功能的移动设备的日益普及刺激了室内定位服务的增长.室内定位用于实时定位设备位置,方便访问.然而,由于大量障碍物,与室外定位相比,室内定位具有挑战性. ...

  8. 基于信息共享搜索策略的自适应灰狼算法-附代码

    基于信息共享搜索策略的自适应灰狼算法 文章目录 基于信息共享搜索策略的自适应灰狼算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 Iterative 混沌映射初始化 2.2 非线性自适应收敛因子 ...

  9. 基于DCT离散余弦变换的自适应水印算法的设计

    文章目录 前言 一.目的和需求分析 1.1项目设计目的 1.2项目需求分析 二.图像预处理 2.1 图像预处理的作用 2.2 Logistic混沌映射置乱 2.2 细胞自动机处理 均值滤波平滑处理 三 ...

最新文章

  1. Hivr:基于BCH的社交应用
  2. shell实例第15讲:俄罗斯方块游戏
  3. PIC中实现printf函数出现:Warning [2066] type qualifier mismatch in assignment
  4. Zabbix3.0 安装Graphtree
  5. 怎样在ArcIMS 上实现专题图
  6. Emmet 语法 速查表
  7. 单实例数据库迁移到rac环境(四)上
  8. 可以修改Mac地址的工具WiFiSpoof for Mac
  9. 读史知今、以史为鉴 【技术商业化】
  10. CRM对于企业管理有哪些突破性价值?
  11. html的长度单位的选择,在以下几种长度单位中,哪一个是相对于html元素设置长度的?()...
  12. 04L型匹配和T型匹配的核心算法
  13. 用RJS写的检测用户名和email是否存在
  14. 淘宝商家批量上架宝贝的方式有哪些
  15. android中contains的用法
  16. 淘宝API卖家/买家相关接口列表与说明
  17. 生成子空间的交空间与和空间
  18. 步进电机S(SigMoid)曲线加减速【查表法】
  19. 利用清华镜像快速安装Python第三方库
  20. 架构君公众号推荐 第一期

热门文章

  1. Spotlight 监控工具使用
  2. 深入了解开源智能家居平台,解决品牌割裂的终极利器?
  3. 草根SEO如何做好企业网站的优化
  4. C++Qt入门(3)---QMainWindow的基本组件
  5. CSS-justify-content 属性
  6. 第十章:大鸽同学在哪里?痴月熊学python
  7. 【网页设计】期末大作业html+css+js(在线鲜花盆栽网站)
  8. BIOS实战之读取文件
  9. 吸顶灯怎么固定天花板_客厅里的那种大的吸顶灯玻璃怎么往天花板上固定结实!因为灯外面全是玻璃的所以要牢...
  10. 数据分析/算法/建模/产品实习面经(字节跳动、爱奇艺、平安科技、石墨文档、欧克云链、水滴、茄子快传……)