博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
梯度下降法参数更新公式的推导
阅读量:4334 次
发布时间:2019-06-07

本文共 558 字,大约阅读时间需要 1 分钟。

先来回顾一下梯度下降法的参数更新公式:

(其中,α是学习速率,是梯度)

 

这个公式是怎么来的呢?下面进行推导:

 

首先,如果一个函数 n 阶可导,那么我们可以用多项式仿造一个相似的函数,这就是泰勒展开式。其在a点处的表达式如下:

 

可以看出,随着式子的展开,这个展开式越来越接近于原函数。

 

如果用一阶泰勒展开式,得到的函数近似表达式就是:。想像梯度下降就是站在山坡上往下走,是原点,是往下走一步后所处的点。

 

我们知道梯度下降每走一步都是朝着最快下山的方向,因此应该最小化

 

我们使用一个向量来表示也是一个向量,那么上式可写成:

 

既然我们要使最小,那么只有当等于-1,也就是这两个向量反方向时,才会最小。

 

反方向时,我们可以用向量来表示。(其中表示长度大小)

 

因为:,代入可得:

 

这样就可以得到参数更新公式:。(其中是步长,是函数在时的梯度)

 

因为我们使用的是一阶泰勒展开式,因此要非常小,式子才成立。也就是说学习速率要非常小才行。所以如果你要让你的损失函数越来越小的话,梯度下降的学习速率就要非常小。如果学习速率没有设好,有可能更新参数的时候,函数近似表达式是不成立的,这样就会导致损失函数没有越变越小。

 

转载于:https://www.cnblogs.com/HuZihu/p/10858319.html

你可能感兴趣的文章
20145303刘俊谦 Exp7 网络欺诈技术防范
查看>>
原生和jQuery的ajax用法
查看>>
iOS开发播放文本
查看>>
20145202马超《java》实验5
查看>>
JQuery 事件
查看>>
main(argc,argv[])
查看>>
第四阶段 15_Linux tomcat安装与配置
查看>>
NAS 创建大文件
查看>>
学习笔记-模块之xml文件处理
查看>>
接口测试用例
查看>>
面试:用 Java 实现一个 Singleton 模式
查看>>
Sybase IQ导出文件的几种方式
查看>>
案例:手动输入一个字符串,打散放进一个列表,小写字母反序 大写字母保持不变...
查看>>
linux 系统下 tar 的压缩与解压缩命令
查看>>
阿里负载均衡,配置中间证书问题(在starcom申请免费DV ssl)
查看>>
转:How to force a wordbreaker to be used in Sharepoint Search
查看>>
MySQL存储过程定时任务
查看>>
Python中and(逻辑与)计算法则
查看>>
POJ 3267 The Cow Lexicon(动态规划)
查看>>
设计原理+设计模式
查看>>