数值优化
文章平均质量分 54
xiaopihaierletian
这个作者很懒,什么都没留下…
展开
-
机器学习模型应用以及模型优化的一些思路
机器学习模型应用以及模型优化的一些思路1 概述本文会介绍如何应用机器学习模型来构建一个智能化应用的通用的过程以及过程中每个环节一些实践性的思路。2 搭建基于机器学习模型的智能化应用的通用流程下面介绍一些通用流程1) 问题界定和定义将一个业务中待解决问题转化为一个机器学习模型应用问题2) label标注的定义label的定义和问题的界定原创 2017-06-18 23:25:41 · 504 阅读 · 0 评论 -
参数寻优:启发式搜索方法
前面介绍了参数寻优的传统方法,梯度下降,牛顿下降等,传统的参数寻优方法,都是提供了下降的方向和大小参考。如果参数非常多,成千上万个参数,很多峰谷时,有没有较好的方法去估计最优解呢。本文介绍的方法就是在没有下降参考的情况下,如何去估计最优解,其中包括遗传算法,粒子群算法,蚁群算法,都是仿生物学算法。启发式搜索 启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位原创 2017-06-18 23:22:16 · 1127 阅读 · 0 评论 -
优化算法——坐标上升法
一、坐标上升法算法原理坐标上升法(Coordinate Ascent)每次通过更新函数中的一维,通过多次的迭代以达到优化函数的目的。假设需要求解的优化问题的具体形式如下:maxαW(α1,α2,⋯,αm)其中,W是向量α⃗ 的函数。更新过程为每次固定除αi以外的参数,求得满足条件的αi,直到算法收敛,具体的算法过程如下所示: (图转载 2017-06-30 11:12:20 · 738 阅读 · 0 评论 -
梯度下降优化算法综述
本文翻译自Sebastian Ruder的“An overview of gradient descent optimization algoritms”,作者首先在其博客中发表了这篇文章,其博客地址为:An overview of gradient descent optimization algoritms,之后,作者将其整理完放在了arxiv中,其地址为:An overview of g转载 2017-06-30 15:13:11 · 907 阅读 · 0 评论 -
暴力拆解《Numerical Optimization》之线搜索
这里讨论的是有约束条件的优化问题:利用线搜索来求解目标函数的极值点,主要可以分为以下两步:1.选定起点,选择一个方向 ,使在点沿方向函数值下降。2.在该方向上,选定合适的步长,使得与相比,充分减小。那么,现在我们来具体讨论如何选择方向和步长:(一)下降方向的选择这里介绍四种方法确定:最速下降方向、牛顿方向、原创 2017-06-12 19:29:56 · 357 阅读 · 0 评论 -
暴力拆解《Numerical Optimization》之器材准备
这将是一篇连载。我将在博客中梳理一下我所学到的《Numerical Optimization(数值优化)》中的知识点。从数学上来讲,优化问题就是求解函数在一定限制条件下,它的极大值或者极小值点。不管是求极大值还是极小值,我们都可以把它转换成求极小值的问题(在目标函数前面加一个负号),因此我们可以把优化问题用数学式子表示为:其中原创 2017-06-12 19:23:10 · 390 阅读 · 0 评论 -
暴力拆解《Numerical Optimization》之信任域方法(上)
信任域方法的基本思想是,在一个以点为中心的范围内(信任域范围),我们自己建立一个模型函数来近似目标函数,然后利用模型函数来计算极小值。假设目标函数为:在用信任域方法的时候,我们可以把当做常数,构造模型函数:那么,假设信任域为,在信任域范围内求解目标函数的极小值,就相当于求解:利用信任域方法来求解目标原创 2017-06-12 19:31:50 · 708 阅读 · 0 评论 -
暴力拆解《Numerical Optimization》之信任域方法(下)——柯西点
前面一篇博客写到了的精确解。下面就分析一下的近似解。1.柯西点考虑的线性部分,计算,使得:此时,我们可以解得:该方向为目标函数的梯度负方向,其长度为。要注意,这个时候我们所要求的还没有求出来,的求解公式为:我们需要求解,使在信任域的范围内,并且的值最小:原创 2017-06-12 19:34:55 · 2405 阅读 · 3 评论 -
暴力拆解《Numerical Optimization》之信任域方法(下)——Dogleg(狗腿方法)
这一节,我们来介绍一下DogLeg方法。还记得模型函数吗:在Dogleg方法中,要求模型函数中的B必须是正定矩阵。至于为什么,先卖个关子,学完之后你自然就明白了。现在我们正式开始学习吧~:由于B是正定矩阵,那么,有前面几篇博客的介绍可知,在无约束条件下,模型函数的极值在点取到。那么,1.,那么,由上面的讨论可知。2原创 2017-06-12 19:35:43 · 1313 阅读 · 1 评论 -
暴力拆解《Numerical Optimization》之共轭方向法
首先介绍一下什么是共轭:设是一个n阶对称正定阵,若存在非零向量所构成的集合使得那么则称与对称正定阵形成共轭。在这一篇博客中,就是利用共轭方向做为目标函数减小的方向,来迭代计算目标函数的极值点。考虑这样一个问题:,求解,其中为对称正定阵。我们可以考虑这样一个目标函数:原创 2017-06-12 19:36:47 · 548 阅读 · 0 评论 -
深度学习与计算机视觉系列(4)_最优化与随机梯度下降
1. 引言上一节深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器中提到两个对图像识别至关重要的概念:用于把原始像素信息映射到不同类别得分的得分函数/score function用于评估参数W效果(评估该参数下每类得分和实际得分的吻合度)的损失函数/loss function其中对于线性SVM,我们有:得分函数f(xi,W)=Wxi损失函数L=1N∑i转载 2017-07-07 10:45:00 · 687 阅读 · 0 评论 -
优化算法——截断梯度法(TG)
一、L1正则的表达形式 在机器学习中,几乎无人不知无人不晓L1正则与L2正则,L1正则与L2正则都有参数控制的作用,对模型起到约束的作用,防止过拟合。但是L1正则与L2正则也有区别,L1正则更容易产生稀疏解,使得某些参数等于0,而L2正则却没有这样的优势,只能使得参数趋近于0。利用这样的优势可以使得L1具有特征选择的作用,若某些特征的系数为0表示该维特征对于模型没什么作用,故此可以丢弃转载 2017-06-30 11:11:46 · 914 阅读 · 0 评论 -
非常好的理解遗传算法的例子
遗传算法的手工模拟计算示例为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。 例:求下述二元函数的最大值: (1) 个体编码 遗传算法的运算对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种 符号串。本题中,用无符号二进制整数来表示。转载 2017-06-30 11:10:20 · 777 阅读 · 0 评论 -
优化算法——人工蜂群算法(ABC)
一、人工蜂群算法的介绍 人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化算法,其直观背景来源于蜂群的采蜜行为,蜜蜂根据各自的分工进行不同的活动,并实现蜂群信息的共享和交流,从而找到问题的最优解。人工蜂群算法属于群智能算法的一种。二、人工蜂群算法的原理 1、原理 标准原创 2017-06-29 16:36:46 · 980 阅读 · 0 评论 -
优化算法——粒子群算法(PSO)
一、粒子群算法的概述 粒子群算法(PSO)属于群智能算法的一种,是通过模拟鸟群捕食行为设计的。假设区域里就只有一块食物(即通常优化问题中所讲的最优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,通过相互传递各自的信息,让其他的鸟知道自己的位置,通过这样的协作,来判断自己找到的是不是最优解,同时也将最优解的信息传递给整个鸟群,最终,整个鸟群都能聚集在食物源周围,即我们所说的找到了原创 2017-06-29 17:05:12 · 1367 阅读 · 0 评论 -
优化算法——牛顿法(Newton Method)
一、牛顿法概述 除了前面说的梯度下降法,牛顿法也是机器学习中用的比较多的一种优化算法。牛顿法的基本思想是利用迭代点处的一阶导数(梯度)和二阶导数(Hessen矩阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一过程,直至求得满足精度的近似极小值。牛顿法的速度相当快,而且能高度逼近最优值。牛顿法分为基本的牛顿法和全局牛顿法。二、基本牛顿法1、基本牛原创 2017-06-29 17:07:13 · 1025 阅读 · 0 评论 -
优化算法——差分进化算法(DE)
一、差分进化算法的介绍 差分进化算法(Differential Evolution, DE)是一种基于群体差异的启发式随机搜索算法,该算法是由R.Storn和K.Price为求解Chebyshev多项式而提出的。DE算法也属于智能优化算法,与前面的启发式算法,如ABC,PSO等类似,都属于启发式的优化算法。DE算法是我在一篇求解盒子覆盖问题论文中使用的一种优化算法。二、差分进化算法转载 2017-06-29 17:08:14 · 13828 阅读 · 0 评论 -
优化算法——凸优化的概述
一、引言 在机器学习问题中,很多的算法归根到底就是在求解一个优化问题,然而我们的现实生活中也存在着很多的优化问题,例如道路上最优路径的选择,商品买卖中的最大利润的获取这些都是最优化的典型例子,前面也陆续地有一些具体的最优化的算法,如基本的梯度下降法,牛顿法以及启发式的优化算法(PSO,ABC等)。二、凸函数凸函数如下图所示:一个函数是凸函数是它存在最原创 2017-06-30 08:37:04 · 526 阅读 · 0 评论 -
优化算法——模拟退火算法
模拟退火算法原理模拟退火算法模拟退火算法过程模拟退火算法流程模拟退火算法的Java实现Java代码最后的结果模拟退火算法原理爬山法是一种贪婪的方法,对于一个优化问题,其大致图像(图像地址)如下图所示: 其目标是要找到函数的最大值,若初始化时,初始点的位置在C处,则会寻找到附近的局部最大值A点处,由于A点出是一个局部最大值点,故对于爬原创 2017-06-30 08:54:36 · 875 阅读 · 0 评论 -
优化算法——遗传算法(好复杂)
与遗传算法的第一次接触遗传算法的基本概念基本定义遗传算法的基本流程遗传算法过程中的具体操作参数的编码二进制编码Gray编码实数编码有序编码初始群体的设定适应度函数的计算遗传操作设计选择selection交叉crossover变异mutation控制参数的设定求解优化问题的实例问题描述问题分析算法设计个体编码适应值函数选择策略杂交算子变原创 2017-06-30 10:40:53 · 2690 阅读 · 2 评论 -
优化算法——拟牛顿法之DFP算法
一、牛顿法 在博文“优化算法——牛顿法(Newton Method)”中介绍了牛顿法的思路,牛顿法具有二阶收敛性,相比较最速下降法,收敛的速度更快。在牛顿法中使用到了函数的二阶导数的信息,对于函数,其中表示向量。在牛顿法的求解过程中,首先是将函数在处展开,展开式为:其中,,表示的是目标函数在的梯度,是一个向量。,表示的是目标函数在处的Hesse矩阵原创 2017-06-30 10:48:48 · 1642 阅读 · 0 评论 -
优化算法——拟牛顿法之BFGS算法
一、BFGS算法简介 BFGS算法是使用较多的一种拟牛顿方法,是由Broyden,Fletcher,Goldfarb,Shanno四个人分别提出的,故称为BFGS校正。 同DFP校正的推导公式一样,DFP校正见博文“优化算法——拟牛顿法之DFP算法”。对于拟牛顿方程:可以化简为:令,则可得:原创 2017-06-30 10:49:44 · 2000 阅读 · 1 评论 -
优化算法——拟牛顿法之L-BFGS算法
一、BFGS算法 在“优化算法——拟牛顿法之BFGS算法”中,我们得到了BFGS算法的校正公式:利用Sherman-Morrison公式可对上式进行变换,得到令,则得到:二、BGFS算法存在的问题 在BFGS算法中,每次都要存储近似Hesse矩原创 2017-06-30 10:50:20 · 3265 阅读 · 2 评论 -
优化算法——梯度下降法
一、优化算法概述 优化算法所要求解的是一个问题的最优解或者近似最优解。现实生活中有很多的最优化问题,如最短路径问题,如组合优化问题等等,同样,也存在很多求解这些优化问题的方法和思路,如梯度下降方法。 机器学习在近年来得到了迅速的发展,越来越多的机器学习算法被提出,同样越来越多的问题利用机器学习算法得到解决。优化算法是机器学习算法中使用到的一种求解方法。在机器学习,我们需原创 2017-06-29 16:21:00 · 500 阅读 · 0 评论