精华内容
下载资源
问答
  • 学习SLAM其实就是学状态估计,而在状态估计领域非线性最小二乘问题是非常关键重要...另外对于NLS问题中需要最小化的代价函数,一般情况下采用的是误差平方和,而这种代价函数对于外点(outlier)尤其的敏感,由于误差...

    学习SLAM其实就是学状态估计,而在状态估计领域非线性最小二乘问题是非常关键重要的问题,在SLAM中的后端优化中其实就是求解一个非线性最小二乘问题(NLS),NLS问题有很多种求解方法,经典和常见的有高斯牛顿(Gauss-Newton),LM算法,DogLeg算法等。另外对于NLS问题中需要最小化的代价函数,一般情况下采用的是误差平方和,而这种代价函数对于外点(outlier)尤其的敏感,由于误差平方和代价函数会进一步放大外点带来的误差,因此对于一个好的数据集来说,加入几个偏差特别严重的外点,会造成估计精确度的严重下降。为了解决这个问题,提出了使用鲁棒代价函数来替代误差平方和函数,存在很多中不同的鲁棒代价函数,如Cauchy, Geman-McClure等,在本篇文章中,将通过编程实现高斯牛顿解法的NLS问题,并且比较使用误差平方和代价函数和Cauchy代价函数对于存在外点系统的估计效果。


    对于误差平方和代价函数,其数学形式为:

    其中

    为非线性函数,
    为测量协方差矩阵的逆,即信息矩阵,一般来说,对不同时刻的测量是保持不变的。信息矩阵反应了一次测量的置信度如何,信息矩阵越小,对应的协方差矩阵越大,置信度越小,说明这次测量的误差比较大,那么估计系统对这次测量越不看重,其对估计结果的影响就比较小。对于(1)式的代价函数来说,它把每次测量的信息矩阵都看作相同的,也就是说,系统将等同的看待所有的测量,那么,对于一些外点来说,它跟内点的置信度一样高,在加之,平方和后会放大外点误差,因此其对系统估计精确度的影响很高。

    现在将误差平方和代价函数替换为鲁棒代价函数,其数学表达形式为:

    其中

    为一个标量权重值,而

    为非线性代价函数,有很多这样的非线性代价函数,这里我们使用柯西代价函数,其数学形式为:

    相比与平方和代价函数,其数学曲线图如下所示:

    3fc656eeebd477dde627456cd3d88f58.png

    从上图中可以直观的看出,由于梯度的减小,大的误差所对应的权重也会相应的减小,下面就从数学上来证明之。

    对平方和代价函数求雅克比矩阵:

    对柯西代价函数求雅克比矩阵:

    其中:

    将(7)式带入(6)式得:

    其中:

    比较(8)式和(5)式,可以看出,两者基本相同,除了

    被替换为

    (如果对上诉矩阵求导不熟悉的话,可以参见我的另一篇文章,矩阵微分:)

    daojun:常用矩阵微分公式zhuanlan.zhihu.com

    如果需要求代价函数的最小值,只需要另上诉的雅克比矩阵为0即可,对于线性高斯系统来说,由于

    关于
    为线性函数,因此很容易求得闭式解,但是由于系统是非线性的,因此无法直接求出最优解,需要采用迭代的方法求解。

    因此对于(8)式的求解可以简化为求解下面的代价函数:

    其中

    为上一次迭代的状态值,从这里可以看出,每次迭代过程中,每个测量项所对应的信息矩阵是随着状态的更新而不断变换的,根据(9)式,其实
    的值依赖于上一次更新后测量项所对应的残差,也就是说,根据优化迭代过程中测量项的残差来调整该测量项的权重(置信度)。称这种方法为迭代重加权最小二乘法(IRLS)。

    下面上述的一般鲁棒代价函数

    替换为Cauchy代价函数(4)得:

    因此有:

    从上式可以看出协方差矩阵式是原始协方差矩阵

    得膨胀版本。由于二次误差,即

    得存在,使得外点误差边得更大,从而其协方差矩阵更大,置信度越小。

    实验验证:

    本实验中需要求解的问题为曲线拟合,期望拟合方程为:

    编程实现了高斯牛顿法迭代求解,并测试验证了当测量值出现很大的外点时,使用Cauchy代价函数和使用二次代价函数的估计效果表现。

    实验一:

    无严重外点时,使用二次代价函数,估计结果如下所示:

    0b6d70c5d35f6dd50b2c2230261bf2d3.png

    19180ffb75a2daafe0aaa4feec2fbfda.png

    估计结果误差为2.908e-5

    实验二:

    加入3个偏离严重的外点,依然使用二次代价函数,估计结果如下:

    da8ddb79afcc9ae2909a80c82b11610e.png

    e6b452f59a82881d703aa87042f67f11.png

    估计误差为1.69026

    明显可以看出,加入3个外点(相对于100个内点)后的估计对于二次代价函数来说,产生了严重的估计偏差

    实验三

    加入3个偏离严重的外点,使用Cauchy代价函数,估计结果如下:

    2ec2a911040e8db7d86e21ff60731f2a.png

    5185070dfc873602983d91bb11cbacdc.png

    估计误差为0.000113098

    使用Cauchy代价函数后,估计效果明显有了很大的提高。

    存在问题:

    上述实验中验证了在高斯牛顿估计框架下,Cauchy代价函数的使用对于处理测量外点有很好的表现效果,然而高斯牛顿估计对于某些系统来说,估计却是无法收敛的,可以验证,在这个实验中,设置期望估计值a=1.0,b=2.0,c=1.0,此时估计无法收敛,原因在于高斯牛顿中使用的信息矩阵H是近似的,有可能会导致H的不正定。这方面的讨论以及算法改进将在后续文章中探讨。

    本实验中编写的代码已上传至github,请参考:

    https://github.com/DaojunZhu/NonLinearLeastSquaresSolvergithub.com

    参考:

    State Estimation for Robotics

    展开全文
  • 目标函数(损失函数,代价函数

    千次阅读 2019-01-06 11:47:17
    深度网络中的目标函数通过样本的预测结果与真实标记产生的误差反向传播指导网络参数学习与表示学习。...坡道损失函数——非凸损失函数,也常被称为“鲁棒损失函数” 特点:抗噪 这类损失函数的共同特点是...

    深度网络中的目标函数通过样本的预测结果与真实标记产生的误差反向传播指导网络参数学习与表示学习。

    为防止模型过拟合或达到其他训练目标(如希望得到稀疏解),正则项通常作为对参数的约束也会加入目标函数中一起指导模型训练。

    一、分类任务目标函数

    (1)普通分类函数

    • 交叉熵损失函数

    • 合页损失函数

    • 坡道损失函数——非凸损失函数,也常被称为“鲁棒损失函数”

    特点:抗噪

    这类损失函数的共同特点是在分类(回归)误差较大区域进行了“截断”,使得较大的误差不再大程度影响整个误差函数。

    (2)考虑增大类间距离,缩小类内差异等因素提出了一些新的损失函数(显示的考虑特征判别性学习)

    • 大间隔交叉熵损失函数——主要考虑增大类间距离

     

    优点:不仅满足传统交叉熵损失函数的约束,在确保分类正确的同时增大了不同类别间分类的置信度,有助进一步提升特征分辨能力。

    • 中心损失函数——减小类内差异

    • focal loss——用于类别不平衡

    参考博客:https://blog.csdn.net/qq_34564947/article/details/77200104

    二、回归任务的目标函数

    与分类任务的区别:回归任务真实标记的每一维为实数,而非二值(0 或 1)。
    回归问题的基本概念,残差或称为预测误差,用于衡量模型预测值与真实标记的靠近程度。

    • L1损失函数

    • L2损失函数

    • Tukey's biweight损失函数——非凸损失函数,可克服在回归任务中的离群点或样本噪声对整体回归模型的干扰和影响,是回归任务中的一种鲁棒损失函数。(特点:抗噪)

    三种函数的图像对比:

    三、其他任务的目标函数

    标记分布的介入能提升语义分割性能,特别是边界区域的分割精度。

    参考文献:

     

     

     

    展开全文
  • 损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度的一类函数,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好 原文: ... ...

    损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度的一类函数,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好

    在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学中,代价函数,又叫损失函数或成本函数,它是将一个或多个变量的事件阈值映射到直观地表示与该事件。 一个优化问题试图最小化损失函数。 目标函数是损失函数或其负值,在这种情况下它将被最大化
    ML中通常用J来代表代价函数
    原文:
    https://www.cnblogs.com/dimin/p/7872345.html

    展开全文
  • 1、损失函数(代价函数) 损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数和代价函数是...

    1、损失函数(代价函数)

    损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数和代价函数是同一个东西,目标函数是一个与它们相关但更广的概念。

    上面三个图的函数依次为 f_{1}(x) , f_{2}(x) , f_{3}(x) 。我们是想用这三个函数分别来拟合Price,Price的真实值记为 Y

    我们给定 x ,这三个函数都会输出一个 f(X) ,这个输出的 f(X) 与真实值 Y可能是相同的,也可能是不同的,为了表示我们拟合的好坏,我们就用一个函数来度量拟合的程度,比如:

    L(Y,f(X)) = (Y-f(X))^2 ,这个函数就称为损失函数(loss function),或者叫代价函数(cost function)。损失函数越小,就代表模型拟合的越好

    那是不是我们的目标就只是让loss function越小越好呢?还不是。

    这个时候还有一个概念叫风险函数(risk function)。风险函数是损失函数的期望,这是由于我们输入输出的 (X,Y) 遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。但是我们是有历史数据的,就是我们的训练集, f(X) 关于训练集的平均损失称作经验风险(empirical risk),即 \frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i})) ,所以我们的目标就是最小化 \frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i})) ,称为经验风险最小化

    统计学习常用的损失函数有以下几种:

    1)0-1损失

      

    2)平方损失函数

      

      当样本个数为n时,此时的损失函数变为:

      

      在实际应用中,通常会使用均方差(MSE)作为一项衡量指标

       

     3)绝对损失函数

      

    4)对数损失函数

      

    2、目标函数

    如果到这一步就完了的话,那我们看上面的图,那肯定是最右面的 f_3(x) 的经验风险函数最小了,因为它对历史的数据拟合的最好嘛。但是我们从图上来看 f_3(x)肯定不是最好的,因为它过度学习历史数据,导致它在真正预测时效果会很不好,这种情况称为过拟合(over-fitting)。

    为什么会造成这种结果?大白话说就是它的函数太复杂了,都有四次方了,这就引出了下面的概念,我们不仅要让经验风险最小化,还要让结构风险最小化。这个时候就定义了一个函数 J(f) ,这个函数专门用来度量模型的复杂度,在机器学习中也叫正则化(regularization)。常用的有 L_1 , L_2 范数。

    到这一步我们就可以说我们最终的优化函数是:min\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(f) ,即最优化经验风险和结构风险,而这个函数就被称为目标函数

    结合上面的例子来分析:最左面的 f_1(x) 结构风险最小(模型结构最简单),但是经验风险最大(对历史数据拟合的最差);最右面的 f_3(x) 经验风险最小(对历史数据拟合的最好),但是结构风险最大(模型结构最复杂);而 f_2(x) 达到了二者的良好平衡,最适合用来预测未知数据集。

    参考:

    【作者:zzanswer,链接:https://www.zhihu.com/question/52398145/answer/209358209来源:知乎】

    【机器学习-损失函数:http://www.csuldw.com/2016/03/26/2016-03-26-loss-function/

    转载于:https://www.cnblogs.com/xhslovecx/p/10272068.html

    展开全文
  • 容许的不确定性, 保证闭环系统的稳定性, 并在非劣(Pareto 最优) 的意义下, 优化多目标代价函数的上界. 通过加权 因子的选择来解决不同目标之间的竞争问题. 采用线性矩阵不等式方法, 将问题转化为一个线性凸优化...
  • 1. 定义 转载来自 几种常见的损失函数 ...那么损失函数的值越小,模型的鲁棒性也就越好,对新数据的预测能力也就越强 损失函数(Loss Function) :直接作用于单个样本,用来表达样本的误差 风险函数(R
  • 算法来源 王勇, 王李福, 邹辉,等....当前,脊点的选取较准确也较经典的方法是Liu等提出的里程碑式的基于代价函数的小波脊相位提取方法(即代价函数脊法),其利用代价函数来抑制噪声的影响...
  • ## 5.5.1A=1,B=1,C=1 增广系统可观测## 5.5.2 其中 增广系统可观测 ## 5.5.3根据式(5.3.7)迭代次数 ## 5.5.4...在无外点干扰的情况下,平方代价函数收敛更快在 ,本鲁棒代价函数相比平方代价函数对外点的抑制作用更...
  • 利用因子图建立SLAM的优化模型,在使用新的鲁棒代价函数基础上引入先验约束用于确认启用或关闭前端传递的环形闭合约束,从而使得后端拓扑图能够摒弃前端传递的假阳性环形闭合约束并朝向真实地图收敛,再利用L-M...
  • 传统动态多目标优化问题(Dynamic multi-objective ...基于提出的两类新型性能评价测度,针对8个典型动态测试函数的仿真实验,结果表明该方法得到满足决策者精度要求,且具有较长平均生存时间的动态鲁棒Pareto最优解.
  • 损失函数(八)

    2021-02-13 22:32:13
    1、损失函数目的 损失函数loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它...损失函数是代价函数的一部分,代价函数是目标函数的一种 3、常见的损失函数 回归常见的损失函数有:均方差(Mean S
  • 当存在高污染率的野值观测时,现有的鲁棒卡尔曼滤波器的数值稳定性和抗差能力可能会严重退化....在仿真实验中还对几种滤波器的计算花费进行了比较,发现所提出滤波器的计算代价小于Huber卡尔曼滤波器的计算代价.
  • 本文提出了一种快速鲁棒的点云配准算法,对存在离群噪声点的点云数据具有较好的配准效果。首先使用了截断最小二乘(Truncated Least Squares TLS)代价函数重新构造配准问...
  • 视觉SLAM笔记(52) BA 与图优化

    万次阅读 2019-11-15 20:17:33
    Bundle Adjustment、投影模型和 BA 代价函数、 BA 的求解、稀疏性和边缘化、鲁棒核函数
  • 我们在进行机器学习任务时,使用的每一个算法都有一个目标函数,算法便是对这个目标函数进行优化,特别是在分类或者回归任务中,便是使用损失函数(Loss Function)作为其目标函数,又称为代价函数(Cost Function)。...
  • 2.1 投影模型和BA代价函数 2.2 BA的求解 2.3 稀疏性和边缘化 2.4 鲁棒核函数 2.5 小结 3 实践:g2o 3.1 BA数据集 3.2 g2o求解BA 3.3 求解 4 实践:Ceres 4.1 Ceres求解BA 4.2 求解 5 小结 待写!!! ...
  • Chapter10 后端1概述概率估计的概率解释线性系统和KF非线性系统和EKFEKF的讨论BA与图优化投影模型与代价函数BA的求解稀疏性和边缘化鲁棒核函数实践:g2o实践:Ceres 概述 概率估计的概率解释 线性系统和KF ...
  • 线性模型和神经网络模型的最大区别,在于神经网络的非线性导致大多数我们感兴趣的代价函数都变得非凸。这意味着神经网络的训练通常使用迭代的,基于梯度优化,仅仅使得代价函数达到一个非常小的值;而不是像训练线性...
  • 目录新手村-Ceres简易例程第一部分:构造代价函数结构体第二部分:通过代价函数构建待求解的优化问题第三部分:配置问题并求解问题进阶-更多的求导法再进阶-曲线拟合再再进阶-鲁棒曲线拟合参考资料: 版权声明:...
  • 线性回归

    2018-12-23 15:58:40
    机器学习常用概念 损失函数(loss function)是用来估量你模型的预测值f(x)与真实...代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。 目标函数(Object Functio...
  • 提出了一种鲁棒核自适应滤波算法,其结合了核空间和最小对数绝对差(LLAD)算法,使用对数代价函数来解决冲击噪声对算法收敛的影响,从而提高算法的抗干扰性能。核对数最小绝对差(KLLAD)算法实现了类似核最小均方...
  • 该方法应用鲁棒统计理论,通过设计代价函数来对系统的量测噪声方差进行重新构造,并利用标准无味卡尔曼滤波(UKF)的观测更新算法对非线性观测方程进行滤波。该方法无须对观测方程进行线性近似,在保持鲁棒性的同时...
  • Task4 建模与调参

    2021-03-25 22:17:12
    Task4 建模与调参 1 模型 1.1 逻辑回归模型 参考地址:逻辑回归模型 1.1.1 综述 将数据拟合到一个logit函数(或者叫做logistic函数)中,从而能够完成对事件发生的概率进行预测。...1.1.4代价函数与梯度下降
  • SLAM在线光度标定总结

    2020-03-17 02:21:04
    光度模型跟踪前端优化后端Introduction[^2]Method假设(Assumptions)衰减因子估计(Attenuation Factor Estimate)相机CRF图像矫正关键帧光度标定光照变化的应对代价函数描述子光照变化鲁棒方程全局模型局部偏差...
  • 在分析了现有基于多种正则化超分辨率重建方法的基础上,构造了一种基于双边全变分(BTV)的自适应核回归滤波核,并将它作为正则化超分辨率重构的代价函数,该方法根据图像特征自适应生成正则项的滤波核函数。...
  • 通过最小化该代价函数来求得最优的样本对,使得最终得到的结果实现了准确性和鲁棒性的良好均衡。自然图像抠图实验结果表明,与其他几种抠图算法相比,本算法在视觉效果上和均差误差上都优于其他算法。
  • 提出了一种快速医学图像弹性配准计算方法。该方法应用B样条变形模型,由于三次B样条函数具有连续二阶微分的特性并且可以...为了得到平滑稳定的偏移量,该方法应用先验知识对代价函数进行了修正,从而对偏移量进行约束。
  • 摘 要: 由于自然图像抠图具有高度的不确定性,目前的抠图方法中对于前背景...通过最小化该代价函数来求得最优的样本对,使得最终得到的结果实现了准确性和鲁棒性的良好均衡。自然图像抠图实验结果表明,与其他几种...
  • 该算法通过稀疏性和空间相关性正则约束得到一种优化的目标代价函数, 利用拉格朗日对偶理论和加速近端梯度方法完成字典优化, 并利用最大池化理论和空间金字塔方法得到降维的且包含更多空间信息的目标模板系数和候选...
  • 目录前馈环控制优化控制LQR(线性二次调节器)MPC鲁棒性控制(Robust Control)离散...代价函数 数字信号 时域 控制主要是为了弥补数学模型和物理世界执行之间的不一致性。对于自动驾驶而言,规划的轨迹和车辆的实际运...

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

鲁棒代价函数