凸优化系列——凸集

news2025/3/1 10:11:14

1.最优化问题概述

        最优化问题是决策问题,选择一些可以执行的策略使得目标最优;一个最优化问题包括

  • 决策变量;
  • 一个或多个目标函数;
  • 一个由可行策略组成的集合,可由等式或者不等式刻画;

最优化问题的形式:

最优化问题的分类

  • 无约束优化问题和约束优化问题
  • 线性规划和非线性规划:目标函数与约束条件均为优化变量的线性函数即为线性优化,有一个为非线性函数即为非线性优化
  • 连续优化和离散优化:可行集是连续的还是离散的
  • 单目标优化和多目标优化:即目标函数是单个还是多个,我们在机器学习中通常引入权重将多目标优化转化为单目标优化

  •  随机优化和确定性优化:即约束函数的参数是否确定。对于随机优化问题,处理方法有如下几种(1)针对不同参数下取均值,用均值代替约束函数(2)概率约束,即要求找到一组可行集使得各种参数下满足约束函数的概率大于某个值。(3)鲁棒优化,即在参数范围内要求最坏的参数的情况满足约束函数。

2.凸集

引论

凸函数与非凸函数

        对于凸函数而言(左图),任意平稳点即为全局最优解,对于非凸优化问题(右图)而言,平稳点可能是全局最优点,还有可能是局部最优点

 凸集和非凸集

        对于凸集,满足最优解X*负梯度方向和与所有(x-x*)夹角大于等于90度,而对于非凸集,不一定满足X*负梯度方向和与所有(x-x*)夹角大于等于90度

 凸集

 即:集合中两点的连线仍属于此集合.

 我们可以拓展到集合中的三个点,集合中三个点可形成一个面,也是属于该集合。

凸集的等价定义为:

\exists x_{1},...,x_{k}\epsilon K

\lambda _{1}x_{1}+...+\lambda _{k}x_{k}\epsilon K

\forall \lambda _{i}>=0,\lambda _{1}+...+\lambda _{k}=1

凸包不仅仅包含凸集,也包含非凸集,集合的凸包是包含该集合的最小凸集,如下图所示,对于凸集来说,其凸包为其本身,而对于非凸集来说,凸包能够将其转化为凸集。

常见的凸集:

多面体:多个线性不等式所刻画的集合

 

        尤其需要说明的是下面的半定矩阵锥,首先是什么是半正定矩阵,什么是正定矩阵?设n元实二次型f=x^{T}Ax,如果对于任意x\neq 0,都有f(x)>0,则称f为正定二次型,并称实对称矩阵A为正定矩阵。它的A的特征值全为正,各阶顺序主子式均大于0.而半正定就是加个等号。

第一个问题: 所有的半正定矩阵组成的集合是锥吗?

对于正定矩阵A的特征值\lambda _{k}>0\lambda A对应的特征值\lambda \lambda_{k}>0,故能够证明\lambda A也是正定的,即\lambda A\epsilon S_{n++}。半正定与之类似。

既然半正定矩阵组成的集合是锥,那么由锥的性质,它也是凸的。

保凸运算

仿射变换:仿射变换是一种线性变换,如果集合是凸的,仿射变换后也是凸的

证明过程: 

 投影定理及证明过程

 

直观理解:

        投影定理的意思相当于,我们从以y为圆心的一个集合和集合C的交集找一个点,使其到y的距离最小,因为这个交集(凸集)是有界的,所以这个最小的点一定存在

        对于唯一性:假设存在两个点,使其到y的距离最小,那么我们可以找到这两个点连线的中点,使其到y的距离更小,由此得出了矛盾。 

 

 对于投影定理的充要条件,它的含义是集合C中的点和投影点的连线形成的向量与投影点和y点形成的向量夹角为钝角。 

 

 支撑超平面定理

补充说明:集合的闭包就是包含集合边界的一个集合,当集合为闭集时,闭包就是它本身,为开集时,它包含了集合的边界。因此,凸集的闭包依然是凸集。

 

 

 参考:superfatseven的个人空间-superfatseven个人主页-哔哩哔哩视频

以及本人学校老师的PPT 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/581407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】函数 - 定义,调用,值传递,常见样式,声明,分文件编写

文章目录 1. 函数的定义2. 函数的调用3. 值传递4. 常见的样式5. 函数的声明6. 函数的分文件编写 所谓数组,就是一个集合,里边存放了相同类型的数据元素。 特点1:数组中的每个数据元素都是相同的数据类型 特点2:数组是由连续的内存…

chatgpt赋能python:Python在SEO中的作用:不简单的搜索引擎优化工具

Python在SEO中的作用:不简单的搜索引擎优化工具 Python作为一种强大的编程语言,已经在各个领域中得到了广泛的应用。在搜索引擎优化(SEO)领域,Python也发挥了重要作用。 Python在SEO中的应用 程序化爬虫 很多SEO工…

(c语言)将一句话的单词进行倒置,标点不倒置(i like beijing.)

目录 例子: 思路方法: ​编辑 (分板块)代码的实现: 一.字符串的获取(3种简单的方法) 1.用gets()函数,即使中间有空格也会读取 2.用fgets(&am…

RK3588平台开发系列讲解(项目篇)RKNN-Toolkit2 的使用

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、RKNN-Toolkit2安装二、模型转换和模型推理三、性能和内存评估沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 NPU 是专门用于神经网络的处理单元。它旨在加速人工智能领域的神经网络算法,如机器视觉和自…

c#快速入门(2)

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析2 目录 👉🏻类、对象、类成员简介👉🏻语句…

chatgpt赋能python:Python的不断循环:了解你需要知道的

Python的不断循环:了解你需要知道的 Python是一个流行的编程语言,它被许多开发者用于构建各种应用程序和工具。 在Python中,有一个常见的编程概念,它被称为“循环”。 循环可以让程序在不停止执行的情况下重复执行一些代码。 在本…

人体行为足力特征分析及其应用研究_kaic

第一章 绪论 随着社会现代化的发展和科技的不断进步,我国航天事业蓬勃发展,与此同时产生了很多亟待解决的难题,康复医疗成为航天医学和康复领域的重要课题之一。载人航天实践证明,失重对航天员生理功能有很大影响,这不…

(2020)高频成分有助于解释卷积神经网络的泛化

High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks 公众号:EDPJ 目录 0. 摘要 1. 简介 2. 相关工作 3. 高频成分 & CNN 的泛化 3.1 CNN 利用高频成分 3.2 鲁棒性和准确性之间的权衡 4. 在重新思考泛化之前…

安装远程软件rustdesk中报错 Error! Could not locate dkms.conf file. File: does not exist.

解决方法 省流:uname -r 查看当前内核,找到/usr/src/目录下的多余的内核文件,删除残留多余的内核文件 原因可能是当时安装nvidia显卡驱动的时候没删除掉旧的内核文件,某些模块或驱动程序可能与特定内核版本相关联,如…

chatgpt赋能python:Python中5!怎么算的?一篇简易教程

Python中5!怎么算的?一篇简易教程 在Python中,可以使用一段小小的代码来进行阶乘的计算。本篇文章将带领您了解如何使用Python计算5的阶乘,为您的程序设计带来便利。 介绍 计算阶乘是一项非常基础的数学计算,它常常…

django+python协同过滤推荐算法网上购物商城系统的n9u33

本毕业设计的内容是设计实现一个基于 Django框架的智能推荐算法。它是以 Python语言,MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器。智能推荐算法的功能已基本实现,主要包括用户、商品分类、购物商品、订单等。本项目软件架构选择…

《数据库应用系统实践》------ 包包销售系统

系列文章 《数据库应用系统实践》------ 包包销售系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构(需包含功能结构框图和模块说明)3.系统功能简介 二、概念模型设计1.基本要素(符号介绍说明&#xff…

vector的实现(c++)

前言 vector是很重要的数据结构,所以了解它的底层的核心原理是很有必要的,如何了解它的底层原理呢?除了阅读原码外,自己实现一下vector的核心逻辑也是不错的选择。 目录 1.四个默认成员函数 2.迭代器的实现 3.增删查改 4. 容…

栈踩踏实验

程序的存储结构 分布 在磁盘和内存中的分布如下: 节视图 .data:已经初始化的全局变量/局部静态变量 .bss:未初始化的全局变量/局部静态变量 .got.plt:全局偏移量表,保存全局变量引用的地址 .rodata:只读…

2023 Idea 热部署 JRebel 插件激活方法

2023 Idea 热部署 JRebel 插件激活方法 1. 下载源代码 进入下面 github 地址 clone 代码到本地 https://github.com/Byron4j/JrebelLicenseServerforJava 2. 编译和打包 cd /Users/daixiaohu/Desktop/JrebelLicenseServerforJavamvn clean package3. 运行项目 cd target/jav…

前端项目搭建以及项目配置

前端项目搭建 - vitevue3.0ant vite比起webpack速度更快 vite搭建项目 https://cn.vitejs.dev/ 步骤: 1.打开cmd 2.找到项目应该建的文件夹 比如直接建到桌面上 cd desktop3.创建项目 使用创建项目命令,然后根据提示填写项目名称,以及要…

计算机视觉基础:锚框

锚框 目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边界从而更准确地预测目标的真实边界框(ground-truth bounding box)。 不同的模型使用的区域采样方法可能不同。 这里…

KVM网络桥接模式底层网络原理解说

文章目录 前言一、tap设备在kvm中的应用1. tap虚拟网络设备2. Tap/Tun工作原理3. 结论 二、KVM网络桥接模式细节解说1.查看虚拟网卡2.vnet虚拟网卡说明 总结 前言 在以下两篇文章中我们介绍了虚拟网卡技术以及虚拟交换机技术,今天我们再来详细说说在在kvm网络模式下…

chatgpt赋能python:为什么Python在SEO中不见了?

为什么Python在SEO中不见了? Python是众所周知的一种流行的编程语言,它被广泛地用于各种应用程序,从人工智能和机器学习到数据科学和Web应用程序。然而,在最近的一次更新中,有些人注意到Python似乎在搜索引擎优化&…

【LAMP平台建构】

一.LAMP介绍 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(…