梯度下降算法
来源:互联网 发布:淘宝手机优惠券尺寸 编辑:程序博客网 时间:2024/06/05 13:27
在Andrew Ng 的机器学习中,首先接触的便是梯度下降法。梯度下降法是一种最优化算法,其目的是为了求解无约束优化问题,沿着梯度的方向递归性的逼近最小偏差模型。
梯度下降算法形象来说就是将目标函数比作一座山,我们站在山顶上,通过梯度的方向来寻求一条下山最快的路。但在刚开始接触的时候,对梯度的理解不深,为了了解为什么要进行的操作,从梯度到方向导数逐步进行了学习。
参考PPT链接:
(http://wenku.baidu.com/view/6cb19a5f804d2b160b4ec09c.html)
问题:对于函数,如何最快到达以点P为初始点的函数的局部最优解点。
要解决该问题,我们便要找到函数下降最快的方向,而要解决这个问题,
首先,应该讨论该函数的一点P沿不同方向上的变化率问题。
自P点引一条射线l,设其与x轴的夹角为,为射线l上另一点,且该点在函数的定义域内。
那么,方向导数的定义为:函数的增量与两点之间的距离的比值,当沿l无限趋近于P时,若该比值的极限存在,则将该极限称为函数在P点沿l方向上的方向导数,记做。
其计算公式为(公式证明略,但形象上解释方向导数为x轴与y轴分别在l方向上的变化率的和。)
在了解方向导数可以描述某一点在各个方向上的变化率后,开始研究哪个方向上的方向导数最大。
梯度定义为,其中函数在点具有一阶连续偏导数。
设为上的单位向量。有
,其中,当时,方向导数最大,此时,该最大方向导数方向与梯度方向相同,且其最大值为梯度模的值。
那么,该点梯度的方向就是函数在该点下降最快的方向。
回到机器学习的,函数下降最快的方向为,因此,对于所有的进行的操作(其中为学习率alpha,它的作用是控制函数每次下降最快的步伐,步长太小时函数下降的速度太慢,步长太大的话会造成overshoot minimum,即直接越过了函数的局部最优解),可以实现函数以最快的速率到达局部最优解,形象来说就是沿着最陡峭的方向最快的下山。
- 梯度下降算法与随机梯度下降
- 随机梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法详解
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- 梯度下降算法
- gcc/g++编译 cpp/c文件 生成可执行文件
- UVALive 7155 Keyboarding(BFS)
- 开始记录自己的学习历程
- R语言从基础入门到提高(七)LIST (列表)
- STL map常用操作简介
- 梯度下降算法
- 输出一个n层的倒三角形 (java版本)
- 计算机中丢失opencv_core249d.dll问题及解决
- 网站搭建学习
- bzoj2242 [SDOI2011]计算器
- iOS下XMPP开发之xmppFramework框架的导入步骤和介绍
- 今天来记录一下VPS centos7 搭建多个站点详细完整
- 习题2-5 分数化小数 (decimal) (java版本)
- 给APP加上Bar~~~~~