算法微视界(一)梯度算法和牛顿算法

1, Gradient descent 算法

梯度下降算法是最经典的优化算法之一。对于一个可导的函数F(x)来说,梯度下降算法能够寻找到F(x)的最小值依赖于以下两个发现:

首先,F(x)在x=a这一点上下降最快的方向是沿着F(x)的导数的反方向;

其次,在x=a足够小的邻域内,沿着F(x)的梯度方向能够找到一个点b,使得F(b)

在这个更小的值附近,继续沿着导数的反方向寻找,总能找到一个极小值点。一个二维空间上的迭代过程如下图所示:

其中,左图是等高线的热点图,以及在等高线之间按照gradient descent算法迭代的过程;右图是算法的收敛过程。

2,牛顿方法

牛顿方法,又称牛顿迭代,或者Newton-Raphson方法,其核心思想是沿着导数方向连续性的逼近一个实函数的根值。以一个单变量可导函数f(x)为例,我们从一个任意初始点

开始,按照如下公式迭代:

这个迭代有意思的是,这里的

的几何意义是函数f在点

上的切线与x轴的交点。

然后从这个交点位置开始,继续迭代,最终在第n点上,取到满足条件的

:

这里如果是高维的话,比如多变量函数,切线就被高维的tangent代替。

一个二维空间上的迭代过程如下图所示:

注意,仔细看左图上的几个绿色小圆点的位置(绿色非常不明显,请使劲看-_-|||),跟上面的梯度算法比较,会发现牛顿算法的收敛速度更快。当然,前提是,要能保证收敛性。至于如何保证收敛性,这里就不展开讲了(其实是怕展开讲也讲不清楚^^),基本上来说会涉及到一个是代价函数的凸性(convexity)和收敛域等因素的影响了。

虽然小编水平有限,但是,小编认识一个叫做Stephen Boyd,他水平不知道高到哪里去了。到底有多高呢?一个数据告诉你:他写的凸优化(Convex Optimization)一书,已经被引用了24616次了。如果你对凸优化理论或者这本书有兴趣的话,不妨试试看回复通关密码“boyd”给我们。一定有惊喜哦!

请注意,本文的收敛动图来自新浪微博网友@赵开勇,其余动图来自wikipedia,部分内容也翻译自wikipedia。

1, Gradient descent 算法

梯度下降算法是最经典的优化算法之一。对于一个可导的函数F(x)来说,梯度下降算法能够寻找到F(x)的最小值依赖于以下两个发现:

首先,F(x)在x=a这一点上下降最快的方向是沿着F(x)的导数的反方向;

其次,在x=a足够小的邻域内,沿着F(x)的梯度方向能够找到一个点b,使得F(b)

在这个更小的值附近,继续沿着导数的反方向寻找,总能找到一个极小值点。一个二维空间上的迭代过程如下图所示:

其中,左图是等高线的热点图,以及在等高线之间按照gradient descent算法迭代的过程;右图是算法的收敛过程。

2,牛顿方法

牛顿方法,又称牛顿迭代,或者Newton-Raphson方法,其核心思想是沿着导数方向连续性的逼近一个实函数的根值。以一个单变量可导函数f(x)为例,我们从一个任意初始点

开始,按照如下公式迭代:

这个迭代有意思的是,这里的

的几何意义是函数f在点

上的切线与x轴的交点。

然后从这个交点位置开始,继续迭代,最终在第n点上,取到满足条件的

:

这里如果是高维的话,比如多变量函数,切线就被高维的tangent代替。

一个二维空间上的迭代过程如下图所示:

注意,仔细看左图上的几个绿色小圆点的位置(绿色非常不明显,请使劲看-_-|||),跟上面的梯度算法比较,会发现牛顿算法的收敛速度更快。当然,前提是,要能保证收敛性。至于如何保证收敛性,这里就不展开讲了(其实是怕展开讲也讲不清楚^^),基本上来说会涉及到一个是代价函数的凸性(convexity)和收敛域等因素的影响了。

虽然小编水平有限,但是,小编认识一个叫做Stephen Boyd,他水平不知道高到哪里去了。到底有多高呢?一个数据告诉你:他写的凸优化(Convex Optimization)一书,已经被引用了24616次了。如果你对凸优化理论或者这本书有兴趣的话,不妨试试看回复通关密码“boyd”给我们。一定有惊喜哦!

请注意,本文的收敛动图来自新浪微博网友@赵开勇,其余动图来自wikipedia,部分内容也翻译自wikipedia。


相关文章

  • 机器学习中的梯度下降法
  • 最优化问题是机器学习算法中非常重要的一部分,几乎每一个机器学习算法的核心都是在处理最优化问题. 本文中我讲介绍一些机器学习领域中常用的且非常掌握的最优化算法,看完本篇文章后你将会明白: * 什么是梯度下降法?  * 如何将梯度下降法运用到线 ...查看


  • BP神经网络算法
  • 神经网络技术及其应用作业 题目:BP神经网络算法及应用 姓名: 学号: 2013020456 学院:管理科学学院 专业:基 础 数 学 BP神经网络算法及应用 第一部分 人工神经网络的发展历史 人工神经网络(Artificial Neura ...查看


  • 基于分水岭的图像分割程序设计
  • 摘 要 在图像处理中,图像分割是一项非常关键的技术,在图像工程中占有重要的地位.随着科学技术的发展,它在众多领域中有着广泛的应用.如医学.地质.环保.气象.常见的分割算法包括阔值分割算法.边缘检测方法.区域提取方法和结合特定理论工具分割法. ...查看


  • 数字图像锐化算法的研究与实现论文定稿
  • xxxxxxxxxxxxxxx 毕 业 设 计 学生姓名 指导教师 学 院专 业 xxxxx 学号 xxxxxxxxxxxx 电子信息工程 年级 xxxxx 级 论文答辩日期 xxxxxxxxxxxxxxx 数字图像锐化算法的研究与实现 完 ...查看


  • 共轭梯度BP算法在药品销售预测中的应用
  • 预测某药品的销售趋势,直接影响该药品的生产计划.库存等,故对药品的销售预测具有极其重要的意义.在医药市场营销过程中,影响医药市场销售的因素很多,各地区销售市场诸多因素对销售的影响是十分复杂的,很难用线性和非线性函数来准确描述,获得准确结果. ...查看


  • 机器学习理论篇1:机器学习的数学基础
  • 一.概述 我们知道,机器学习的特点就是:以计算机为工具和平台,以数据为研究对象,以学习方法为中心:是概率论.线性代数.数值计算.信息论.最优化理论和计算机科学等多个领域的交叉学科.所以本文就先介绍一下机器学习涉及到的一些最常用的的数学知识. ...查看


  • 动作识别中局部时空特征的运动表示方法研究
  • ComputerEngineering andApplications计算机工程与应用 2010.46(34) 7 动作识别巾局部时空特征的运动表示方法研究 雷 LEI 庆1,2,3李绍滋h2Qin91.2.3 LI Shao-zil・2 ...查看


  • 交互式医学图像分割算法
  • 第27卷 第12期 文章编号:1006-9348(2010) 12-0262-05 计 算 机 仿 真 2010年12月 交互式医学图像分割算法 吕 洁, 熊春荣 (玉林师范学院职业技术学院, 广西玉林537000) 摘要:针对医学图像的特 ...查看


  • 基于matlab的图像边缘检测算法研究
  • 本科毕业设计(论文) 检测算法研究 学 院:信息工程学院 专 业:自动化 学 号: 学生姓名: 指导教师: 二○一 年 五月 二十三日 题 目:基于matlab 的图像边缘 基于matlab 的图像边缘检测算法研究 摘要 图像的边缘检测技术 ...查看


热门内容