关于二阶锥优化(SOCP)的学习

2023-11-04

         原来,数学不好的时候,真的很难深入下去做研究。最近的两个月时间里,我就边学习SOCP相关的理论知识,一边拿它当工具来分析多视角几何中的问题(包括Triangulation,Homography Estimation等)。接触到SOCP的起因在于大多多视觉几何下面的问题通常可以通过建立优化模型来求解,而凸优化又是这类模型中性质最为优良的一种——它具有全局最优值(因而也是大家研究最多的一种模型)。不例外,有关Triangulation,Homography Estimation的问题都能很好的利用SOCP模型来拟合求解,这相关的基础性研究工作在Hartley (1995),Fredrik Kahl(2007)等人发表的论文中都有很好的体现。我作为一个炮灰级的研究者,担任的工作也仅是站在巨人们的肩膀上,在现有的确定性参数模型上添加一个扰动集(用p范数来限定),把原问题变作一个不确定性优化问题,企图借助鲁棒优化的思想,把模型的适用空间进一步的泛化,使我们算法在复杂环境下的鲁棒性更好,抗噪性更强。

       研究中,我自认为自己最缺乏的就是没有系统的学习过优化知识,于是,自己搜遍手头上能找到的与优化相关的资料,到目前为止,基本熟悉线性和非线性优化,凸优化,鲁棒优化等基础概念,以及单纯形算法、内点法、梯度法、牛顿迭代法及LM迭代法等从局部或全局角度求解优化问题的搜索算法,建立了基本的数学优化知识框架。其中,感触最深的莫过于对二阶锥规划(SOCP)的学习。先贴出关于SOCP概念上定义的图:

                                                     

         这里一定要注意,当你确定要用SEDUMI软件来求解你的SOCP模型时,sedumi(A,b,c,k)中的参数并不是依照中的参数来设定,而是要弄清楚你定义的cone中哪个锥中的顶点约束,哪个是半径约束。说直白一点就是sedumi函数中的第一个参数应该是,第三个参数应该是(第二个参数在我的模型中通常视作0)。

      和上面的说法相同的还有另一种解释。倘若我们的二阶锥优化模型的标准型定义如下:

        

          

                      

       其中,  ,而即是空间中的二阶锥。

      以上形式定义可以拆分写成另一种,记第1行为,记的第1个分量为,即所以有:

      

     

           

           

     其中,

     由此可以清楚的辨别,约束表达式中二范数不等式中的A与sedumi软件中设置的参数A有本质的不同了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于二阶锥优化(SOCP)的学习 的相关文章

随机推荐

  • 七牛云的使用

    1 https www qiniu com 用qq或者微信登入七牛云 2 添加一个对象存储 3 在个人中心获取appkey和appsecret 4 绑定一个域名 5 把sdk放在自己的项目中 封装一个上传的类
  • 华为笔试8.31

    Q1 int main int argc char const argv string l An introduction is the first paragraph of your paper string l a a getline
  • 【问题解决】M1芯Macbook安装python&M1 Macbook pro基本操作

    刚接触Macbook 一步一个坑 有幸家中领导赏识 才得以抚摸到传这闻已久的神器 可这神功尚未练成 差点被气的自断经脉 之前没用过苹果os系统 刚一上手各种不适应 要不是因为爱 qiong 电脑早不知道摔多少次了 F1 12哪去了 我这PK
  • 纯前端实现 导入 与 导出 Excel

    最近经常在做 不规则Excel的导入 或者一些普通Excel的导出 当前以上说的都是纯前端来实现 下面我们来聊聊经常用到的Excel导出与导入的实现方案 本文实现技术栈以 Vue2 JS 为例 导入分类 调用 API 完全由后端来解析数据
  • QT实现发送get和post请求

    介绍下如何在qt程序中给http服务端发送get和post请求 首先你要有一个http服务端 下面直接贴下代码 pro QT core gui network greaterThan QT MAJOR VERSION 4 QT widget
  • Android系统 —— 源码编译错误整理(持续更新)

    记录一些日常遇到的编译问题及解决方法 查找的时候可以直接搜索问题描述的关键部分 目录 1 更改源码目录名引发的错误 2 添加VNDK库 Vendor Native Development Kit 报错 3 头文件被重复包含 4 无法链接库文
  • 【FlashDB】第三步 FlashDB 移植 STM32L475 使用QSPI驱动外部 flash W25Q64之 FlashDB 移植

    准备事项 完成了以下两步操作后进行 FlashDB 第一步 FlashDB 移植到 STM32L475 使用QSPI驱动外部 flash W25Q64之FAL移植 FlashDB 第二步 FlashDB 移植 STM32L475 使用QSP
  • Anaconda使用教程(常用命令)

    Anaconda3安装教程 配置环境变量 图文教程 https blog csdn net love906897406 article details 125010258https blog csdn net love906897406 a
  • ECharts数据可视化

    目录 第一章 什么是ECharts 第二章 搭建环境 2 1 Echarts的下载 2 2 Visual Studio Code下载 第三章 一个简单的可视化展示 第四章 Echarts组件 4 1 标题 4 2 提示框 4 3 工具栏 4
  • 机器学习实战5(回归篇)

    目录 1 回归 2 回归代码 3 预测鲍鱼的年龄 1 回归 前面的文章介绍了很多分类算法 分类的目标变量是标称型数据 而本文将会对连续型的数据做出预测 主要讲解简单的线性回归和局部加权线性回归 并通过预测鲍鱼年龄的实例进行实战演练 说到回归
  • Keil 硬件仿真时 外设寄存器中显示的定时器计数值不准确

    最近在做定时器同步测试 发现无论如何都无法正常让定时器的计数器同步起来 很郁闷 换了多个型号的单片机都不行 于是怀疑 软件仿真有问题 于是通过曲线测试 使用连个自变量 同时读取2个定时器的CNT 观察这两个变量测试的结果才 正常
  • 解决eclipse编译老是上一个程序代码问题

    使用eclipse遇到了问题 程序无论怎么运行都是之前修改前的程序结果 如下面所示 package test public class test public static void main String args TODO Auto g
  • JavaWeb核心技术——Request请求

    目录 1 Request和Response的概述 2 Request对象 2 1 Request继承体系 2 2 Request获取请求数据 2 2 1 获取请求行数据 2 2 2 获取请求头数据 2 2 3 获取请求体数据 2 2 4 获
  • educoderpython答案顺序结构程序设计_程序设计基础

    程序设计基础 一 程序设计方法与风格 1 设计方法 指设计 编制 调试程序的方法和过程 主要有结构化程序设计方法 软件工程方法和面向对象方法 2 设计风格 良好的程序设计风格 主要应注重和考虑下述一些因素 符号名的命名应具有一定的实际含义
  • navicat连接mysql1064_navicat for mysql出现1064错误怎么办

    navicat for mysql出现1064错误怎么办 存储过程 参数 代码 分隔符 长度 navicat for mysql出现1064错误怎么办 易采站长站 站长之家为您整理了navicat for mysql出现1064错误怎么办的
  • 【pandas】空数据处理

    目录 1 判断空值 isna 2 空值删除 dropna 3 空值替换 dropna 数据清洗是对一些没有用的数据进行处理的过程 很多数据集存在数据缺失 数据格式错误 错误数据或重复数据的情况 如果要使数据分析更加准确 就需要对这些没有用的
  • 机器学习策略二——优化深度学习系统

    进行误差分析 Carrying out error analysis 如果你希望让学习算法能够胜任人类能做的任务 但你的学习算法还没有达到人类的表现 那么人工检查一下你的算法犯的错误也许可以让你了解接下来应该做什么 这个过程称为错误分析 假
  • C++如何做字符串分割(5种方法)

    1 用strtok函数进行字符串分割 原型 char strtok char str const char delim 功能 分解字符串为一组字符串 参数说明 str为要分解的字符串 delim为分隔符字符串 返回值 从str开头开始的一个
  • 卷积神经网络(CNN)详解与代码实现

    1 应用场景 卷积神经网络的应用不可谓不广泛 主要有两大类 数据预测和图片处理 数据预测自然不需要多说 图片处理主要包含有图像分类 检测 识别 以及分割方面的应用 图像分类 场景分类 目标分类 图像检测 显著性检测 物体检测 语义检测等等
  • 关于二阶锥优化(SOCP)的学习

    原来 数学不好的时候 真的很难深入下去做研究 最近的两个月时间里 我就边学习SOCP相关的理论知识 一边拿它当工具来分析多视角几何中的问题 包括Triangulation Homography Estimation等 接触到SOCP的起因在