非线性

(数学建模)非线性规划

99封情书 提交于 2020-02-27 09:20:58
定义 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问 题。 非线性规划目前还没有适于各种问题的一般算法,各个方法都有自己特定的适用范围。 一般形式: 线性规划与非线性规划的区别 如果线性规划的最优解存在,其最优解只能在其可行域的边界上达到(特别是可行域的顶点上达到);而非线性规划的最优解(如果最优解存在)则可能在其可行域的任意一点达到。 极值约束问题 二次规划 若某非线性规划的目标函数为自变量x的二次函数,约束条件又全是线性的,就称 这种规划为二次规划。 Matlab 中二次规划的数学模型可表述如下: Matlab 中求解二次规划的命令是: [x,fval]=quadprog(H,f,A,b,Aeq,Beq,lb,ub,x0,options) 例: 求解二次规划 h=[4,-4;-4,8]; f=[-6;-3]; a=[1,1;4,1]; b=[3;9]; [x,value]=quadprog(h,f,a,b,[],[],zeros(2,1)) 罚函数法 利用罚函数法,可将非线性规划问题的求解,转化为求解一系列无约束极值问题, 因而也称这种方法为序列无约束小化技术,简记为 SUMT . 罚函数法求解非线性规划问题的思想是,利用问题中的约束函数作出适当的罚函 数,由此构造出带参数的增广目标函数,把问题转化为无约束非线性规划问题。主要有两种形式,一种叫外罚函数法

SLAM中的EKF,UKF,PF原理简介

拥有回忆 提交于 2020-02-27 05:17:01
这是我在知乎上问题写的答案,修改了一下排版,转到博客里。 原问题: 能否简单并且易懂地介绍一下多个基于滤波方法的SLAM算法原理? 目前SLAM后端都开始用优化的方法来做,题主想要了解一下之前基于滤波的方法,希望有大神能够总结一下各个原理(EKF,UKF,PF,FastSLAM),感激不尽。 作者:半闲居士 链接:https://www.zhihu.com/question/46916554/answer/103411007 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。   我怎么会写得那么长……如果您有兴趣可以和我一块把公式过一遍。   要讲清这个问题,得从状态估计理论来说。先摆上一句名言: 状态估计乃传感器之本质。(To understand the need for state estimation is to understand the nature of sensors.)   任何传感器,激光也好,视觉也好,整个SLAM系统也好,要解决的问题只有一个: 如何通过数据来估计自身状态。 每种传感器的测量模型不一样,它们的精度也不一样。换句话说,状态估计问题,也就是“ 如何最好地使用传感器数据 ”。可以说,SLAM是状态估计的一个特例。 1. 离散时间系统的状态估计   记机器人在各时刻的状态为 ,其中 是离散时间下标。在SLAM中

非线性最小二乘问题与Levenberg–Marquardt算法详解

烂漫一生 提交于 2020-02-19 04:14:04
线性最小二乘法我们应该非常熟悉了,例如对样本数据进行多项式拟合等。但实际工程应用中,我们所接触的很多问题都无法转化为线性方程组,也就无法使用线性最小二乘法进行优化了,那自然而然地我们就应该转而求助于非线性最小二乘法。一直以来,各路大神们提出了各种各样的优化算法,很多都是一脉相承,不断创新的,所以最好不要孤立地看待这些算法。目前来说,Levenberg–Marquardt 法可以说是求解非线性最小二乘问题的标准算法了,也就是应用十分广泛,例如运动参数估计、相机内部参数标定等等,其性能也是得到很多论文背书的。不过,一上来就扔出这么长的一串名字似乎让人觉得 LM 算法十分的复杂,但实际上,LM 算法也是从其祖辈一步一步发展而来的,从其身上,你可以看到最速下降法、牛顿法以及高斯-牛顿法的影子。因此,文章将会按照这么一个顺序来进行循序渐进的详细讲解,让大家能够更加容易并且透彻地理解 LM 算法背后的原理。 这篇文章主要是以下两篇英文文献的提取、总结和补充,如果有能力的可以仔细阅读一下,里面可以说写得很详细和明了了。 [1] H.B. Nielsen. Damping Parameter in Maquardt’s Method. http://www2.imm.dtu.dk/documents/ftp/tr99/tr05_99.pdf [2] K. Madsen, H.B. Nielsen,

机器学习学习记录【持续更新】——神经网络

做~自己de王妃 提交于 2020-02-17 06:11:49
神经网络 非线性问题 神经网络的构建过程 简单的线性结构 隐藏层 激活函数 总结 非线性问题 如果还记得特征组合这一单元的话,你就会发现以下分类问题属于非线性问题: “非线性”意味着您无法使用形式为线性的模型准确预测标签。也就是说,“决策面”不是直线。之前,我们了解了对非线性问题进行建模的一种可行方法 - 特征组合 。 现在,请考虑以下数据集: 上图所示的数据集问题无法用线性模型解决。 神经网络的构建过程 简单的线性结构 为了了解神经网络可以如何帮助解决非线性问题,我们首先用图表呈现一个线性模型: 每个蓝色圆圈均表示一个输入特征,绿色圆圈表示各个输入的加权和。要提高此模型处理非线性问题的能力,我们可以如何更改它? 隐藏层 ! 隐藏层 在下图所示的模型中,我们添加了一个表示中间值的“隐藏层”。隐藏层中的每个黄色节点均是蓝色输入节点值的加权和。输出是黄色节点的加权和。 此模型是线性的吗?是的,其输出仍是其输入的线性组合。 在下图所示的模型中,我们又添加了一个表示加权和的“隐藏层”。 此模型仍是线性的吗 ?是的,没错。当您将输出表示为输入的函数并进行简化时,您只是获得输入的另一个加权和而已。该加权和 无法 对复杂的非线性问题进行有效建模。 激活函数 要对非线性问题进行建模,我们可以直接引入非线性函数。我们可以用非线性函数将每个隐藏层节点像管道一样连接起来。 在下图所示的模型中,在隐藏层

机器学习学习记录【持续更新】——特征组合

自作多情 提交于 2020-02-14 17:42:24
特征组合 为什么要引入特征组合这个概念? 特征组合 为什么要引入特征组合这个概念? 在之前的机器学习过程中,基本上都是在研究一些线性模型,如下图,用一条直线将不同颜色的点分割开来 但是,当你遇到下面这样的图形,请问你还可以用一条直线将不同颜色的点分割开来吗? 显然是不行的!!!! 难道这说明我们之前费劲时间学习的线性模型其实没有什么广泛的用途吗?NO!!!!!线性模型是目前用的最多、计算速度最快的模型,很多非线性问题都是通过转换成线性问题来解决的,这就是为什么 特征组合 需要在此提出来! 特征组合 特征组合是指通过将两个或多个输入特征相乘来对特征空间中的非线性规律进行编码的合成特征。“cross”(组合)这一术语来自 cross product(向量积)。我们通过将x1与x2组合来创建一个名为 的特征组合:x3 我们像处理任何其他特征一样来处理这个新建的 特征组合。线性公式变为: 线性算法可以算出w3的权重,就像算出w1和w2的权重一样。换言之,虽然 表示非线性信息,但您不需要改变线性模型的训练方式来确定w3的值。 来源: CSDN 作者: 南孚先生 链接: https://blog.csdn.net/qq_43444767/article/details/104313441

《机器学习基石》---非线性变换

北城以北 提交于 2020-02-09 04:55:46
1 非线性变换 所谓非线性变换,就是把原始的特征做非线性变换,得到一个新的特征,使用这个新的特征来做线性的分类,则对应到原始的特征空间中,相当于做了非线性的分类。 非线性变换的好处 是,算法将有更多的选择,Ein可以做的更低。 例如使用二次变换: 则Z空间中的一个直线分类边界,对应到原来空间中是一个二次曲线边界。可能是圆,椭圆,双曲线,抛物线,旋转后的椭圆,直线.......。 使用非线性变换进行学习的步骤如下: 2 非线性变换的代价 Q次非线性变换如下定义: 对应的Z空间的特征维度变为: 特征维度的增加,一方面带来的是存储和计算的代价: 更重要的另一个代价则是模型复杂度的代价。假设空间的VC维近似等于参数的个数: 而更大的VC维将使得Ein和Eout相差很远这件事的概率增加。这是机器学习中一个重要的trade off: 一种错误的认识是,通过观察数据来让Ein做的小,同时让VC维也小。例如: 咋看之下,Ein降低了,VC维减小。Ein确实很低,但是VC维真的很低了吗?答案是否定的。产生这样错误认识的原因是我们没有很好的理解之前推导VCbound时“假设空间”这一概念。事实上,由于有人的观察帮忙,假设空间已经不再是我们让算法做选择的那个函数集,而是人在做选择时人脑中的假设空间。因此这里的VC维其实并不单单是我们让算法做选择的那个函数集VC维。 3 结构化假设空间

理解支持向量机

社会主义新天地 提交于 2020-02-06 21:10:57
支持向量机是一个二类分类模型,但也能够扩展为多类分类。 其基于间隔最大化和核技巧的特点能够使它能够灵活处理线性或非线性分类问题。 支持向量机但是形式化为一个凸二次规划问题。学习算法是求解基于 凸二次规划的最优化算法 。 依照训练数据是否线性可分。支持向量机能够分为基于硬间隔的线性可分支持向量机、基于软间隔的线性支持向量机、基于核技巧和软间隔最大化的非线性支持向量机。 三者复杂性是依次添加的。 1、基于硬间隔最大化的线性可分支持向量机 我们知道。感知机和决策树等学习方法没有区分模型的输入空间和特征空间,即觉得两者所处的空间是一样的。 支持向量机的输入空间和特征空间是不同的。输入空间为欧氏空间或离散集合。特征空间是 希尔伯特空间 。 希尔伯特空间能够看作是欧氏空间的扩展,其空间维度能够是随意维的,包括无穷维。并且一个重要的性质是其具有欧氏空间不具备的完备性。 这些特点都是支持向量机在做非线性特征空间映射所须要的。 以下从最简单的线性可分支持向量机入手,学过感知机的都知道,感知机通过训练一个超平面将平面或空间线性可分的点进行划分。 其超平面方程为 w∙x+b=0; 分类决策函数f(x)=sign(w∙x+b)。 线性可分支持向量机也是如此,通过找寻切割平面来划分数据集。不同的是, 感知机的学习策略是误分类点到超平面距离和最小化,而线性可分支持向量机是基于硬间隔最大化的 。

非线性规划,图与网络

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-04 23:16:11
非线性规划,图与网络 非线性规划 图形化界面解法 图与网络流 非线性规划   下面只针对MATLAB解法做出介绍。在MATLAB中非线性规划的标准型为 m i n f ( x ) min \quad f(x) m i n f ( x ) s . t A x ≤ B s.t\quad Ax\leq B s . t A x ≤ B A e q x ≤ B e q A_{eq}x \leq B_{eq} A e q ​ x ≤ B e q ​ C ⋅ x ≤ 0 C \cdot x \leq0 C ⋅ x ≤ 0 C e q ⋅ x ≤ 0 C_{eq}\cdot x\leq 0 C e q ​ ⋅ x ≤ 0 非线性约束要单独成立一个函数文件。例如: function [c ceq]=nonlcon(x) %body end *fmincon( ) 函数所求最小值均为参数 x 0 x_0 x 0 ​ 附近的局部最小值。对于无约束优化可使用 fminunc( ) 可求得 x 0 x_0 x 0 ​ 附近的局部无约束最小值。对于带约束的优化过程中可返回函数的梯度来提高准确的程度。对于目标函数为二次型的规划,可以使用 quadprog( )*进行二次规划。 图形化界面解法 直接调用优化工具箱中的 optimtool 命令进行图形化操作,但是在未来的版本中优化工具箱可能被移除。 图与网络流

多项式回归

我是研究僧i 提交于 2020-01-31 10:59:19
在没有激励函数的情况下,输出和输入只是线性关系,甚至就算加上激励函数,那也是和整个输出的非线性关系. 当我感觉输出应该和某个特征为非线性关系时,该怎么办? 这里要用到一种叫多项式回归的办法: 其实也很简单,就是把原来的输入加一项,某个特征的幂次,质数,随便你. 假如原来的输入特征向量是: 现在我先对数据集进行一些处理,将其变为: 当然,我在吴恩达老师的课里还看到一种方法: 这两个方法的核心思想都是处理特征使模型更好. 总之不能无脑输入数据集,先有自己的一些判断和处理还是很重要的. 来源: CSDN 作者: oahuyil 链接: https://blog.csdn.net/realliyuhao/article/details/104121248

算法常识——非线性结构

守給你的承諾、 提交于 2020-01-31 02:24:13
前言 非线性结构是相当线性结构而言的。 线性结构是一个有序数据元素的集合。 下述来自百度百科: 1.集合中必存在唯一的一个"第一个元素"; 2.集合中必存在唯一的一个"最后的元素"; 3.除最后元素之外,其它数据元素均有唯一的"后继"; 4.除第一元素之外,其它数据元素均有唯一的"前驱"。 数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。 如(a0,a1,a2,.....,an),a0为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。 相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。 正文 在非线性结构中常用的:有树和图。 树 树的数据结构是怎么样的? 人们把这种分叉的东西,看起来像树一样,就称作树。其实这一点也不像树,毕竟树根在下面,总之这个称作树的人,可以吹好久的牛了。 树的概念: 树是n(n>=0)个节点的有限集合。当n=0时,称为空树。在任意一个非空树中,有如下特点: 1.有且仅有一个特定的称为根的节点。 2.当n>1时,其余节点可分为m(m>0)个互不橡胶的有限集,每个集合本身又是一个树,称为子树。 下面是一些概念性东西: 根节点:只有一个,第一个元素。 叶子节点:后面没有节点。 子树:设T是有根树,a是T中的一个顶点,由a以及a的所有后裔(后代)导出的子图称为有向树T的子树。 如下图: 父节点