(邹博ML)凸优化
目录
- 凸集的基本概念
- 凸函数的基本概念
- 凸优化的一般提法
凸集基本概念
思考两个不能式
两个正数的算术平均数大于等于几何平均数
给定可逆对称阵Q,对于任意向量x,y,有:
思考凸集和凸函数
在机器学习中,我们把形如
这样的图形的都称为凸函数。
- \(y=x^2\)是凸函数,函数图像上位于\(y=x^2\)的区域构成凸集。
- 凸函数图像的上方区域,一定是凸集;
- 一个函数图像的上方区域为凸集,则该函数是凸函数。
直线的向量表达
已知二维平面上的两定点A(5,1),B(2,3)尝试给出经过带你AB的直线方程:
写成向量形式:
其中:
几何体的向量表达
已知二维平面上的两个定点,则:
推广到高维:
仿射集(Affine set)
定义:通过集合C中任意两个不同点的直线仍然在集合C内,则称集合C为仿射集。
仿射集的例子:直线、平面、超平面
超平面:\(Ax=b\)
f(x)=0表示定义域在\(R^n\)的超曲面:令\(f(x)=Ax-b\),则\(f(x)=0\)表示截距为b的超平面。
n维空间的n-1维仿射集为n-1维超平面
凸集
集合C内任意两点间的线段均在集合C内,则称集合C维凸集。
注意和仿射集区分
仿射集是凸集的一种特殊形式,仿射集一定是凸集。
k个点的版本:
凸包
集合C的所有点的凸组合所形成的集合,叫做集合C的凸包:
集合C的凸包是能够包含C的最小凸集。
超平面和半空间
超平面:hyperplane
\]
半空间:halfspace
\]
欧式球和椭球
欧式球
椭球
范数球和范数锥(欧式空间推广)
\(R^3\)空间中的二阶锥
多面体
有限个半空间和超平面的交集。
仿射集(如超平面、直线)、射线、线段、半空间都是多面体
多面体是凸集
此外,有界的多面体有时称作多胞体(Polytope)
保持凸性运算
- 集合交运算
- 仿射变换
- 透视变换
- 投射变换(线性分式变换)
集合交运算:半空间的交
仿射变换
透视变换
投射函数(线性分式函数)
分割超平面
设C和D为两不相交的凸集,则存在超平面P,P可以将C和D分离。
分割超平面的构造:
支撑超平面
设集合C,x0是C边界上的点,若存在\(a\not=0\)。满足对任意\(x\in C\),都有成立,则称超平面
为集合C在点x0处的支撑超平面。
凸集边界上任意一点,均存在支撑超平面。
反之,若一个闭的非中空集合,在边界上任意一点存在支撑超平面,则该集合为凸集。
凸函数
若函数f的定义域domf为凸集,且满足:
一阶可微
若f一阶可微,则函数f为凸函数,当且仅当f的定义域domf为凸集,且:
分析
对于凸函数,其一阶Taylor近似本质上是该函数的全局下估计。
反之如果一个函数的一阶Taylor近似总是其全局下估计,则该函数是凸函数
该不等式说明从一个函数的局部信息,可以得到一定车程度的全局信息。
二阶可微
若函数f二阶可微,则函数f为凸函数当且进档dom为凸集,且:
若f为一元函数,上式表示二阶导大于等于0
若f是多元函数,上式表示二阶导Hessian矩阵半正定。
凸函数举例:
上镜图
函数f的图像定义为:
函数f的上镜图(epigraph)定义为
Jensen不等式:若f是凸函数
基本Jensen不等式
若:
则:
若:
则:
Jensen不等式是几乎所有不等式的基础
保持函数凸性的算子
凸函数的逐点最大值
若\(f_1,f_2\)均为凸函数,定义函数\(f\):
则函数\(f\)为凸函数。
证明:
第二个不等号的表达:
第二个不等好的形式化表达:
共轭函数
原函数,共轭函数定义:
显然,定义式的右端是关于y的仿射函数,他们逐点求上确界,得到的函数f*(y)一定是凸函数。
理解:
例:
求共轭函数
Fenchel不等式
根据共轭函数定义:
易得:
应用:
凸优化
凸优化问题的基本形式:
优化变量:\(x \in R^n\)
不等式约束:\(f_i(x)\le0\)
等式约束:\(h_j(x)=0\)
无约束优化:\(m=p=0\)
优化问题的域:
可行点(解)(feasible)
可行域(可解集)
所有可行点的集合。
最优化值
最优化解
对于
其中
\(f_i(x)\)为凸函数,\(h_j(x)\)为仿射函数
凸优化问题的重要性质:
- 凸优化问题的可行域为凸集
- 凸优化问题的局部最优解就是全局最优解
对偶问题
一般优化问题的Lagrange乘子法
Lagrange函数:
对于固定的x,Lagrange函数\(L(x,\lambda,v)\)是关于\(\lambda\)和v的仿射函数。
Lagrange对偶函数
Langrange对偶函数:
若没有下确界,定义:
根据定义,显然有:对,若原优化问题有最优值P*,则:
进一步:Lagrange函数对偶函数为凹函数。
鞍点解释
鞍点:最优点
强对偶条件
若要对偶函数的最大值即为原问题的最小值,需要满足的条件:
Karush-Kuhn-Tucker(KKT)条件
(邹博ML)凸优化的更多相关文章
- (邹博ML)数学分析与概率论
机器学习入门 深度学习和机器学习? 深度学习在某种意义上可以认为是机器学习的一个分支,只是这个分支非常全面且重要,以至于可以单独作为一门学科来进行研究. 回忆知识 求解S. 对数函数的上升速度 我们使 ...
- (邹博ML)矩阵和线性代数
主要内容 矩阵 特征值和特征向量 矩阵求导 矩阵 SVD的提法 奇异值分解(Singular Value Decomposition)是一种重要的矩阵分解方法,可以看做对称方阵在任意矩阵上的推广. 假 ...
- zz姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖
姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖 近日,美国艾尔弗·斯隆基金会(The Alfred P. Sloan Foundation)公布了2019年斯隆研究奖(Sloan Research ...
- 【Codeforces 321E / BZOJ 5311】【DP凸优化】【单调队列】贞鱼
目录 题意: 输入格式 输出格式 思路: DP凸优化的部分 单调队列转移的部分 坑点 代码 题意: 有n条超级大佬贞鱼站成一行,现在你需要使用恰好k辆车把它们全都运走.要求每辆车上的贞鱼在序列中都是连 ...
- 【BZOJ2654】Tree(凸优化,最小生成树)
[BZOJ2654]Tree(凸优化,最小生成树) 题面 BZOJ 洛谷 题解 这道题目是之前\(Apio\)的时候写的,忽然发现自己忘记发博客了... 这个万一就是一个凸优化, 给所有白边二分一个额 ...
- 凸优化(Convex Optimization)浅析
本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 在机器学习中, 很多情况下我们都需要求得一个 问题的全局最优值(global optimum) ...
- 「学习笔记」wqs二分/dp凸优化
[学习笔记]wqs二分/DP凸优化 从一个经典问题谈起: 有一个长度为 \(n\) 的序列 \(a\),要求找出恰好 \(k\) 个不相交的连续子序列,使得这 \(k\) 个序列的和最大 \(1 \l ...
- 支持向量机(SVM)必备概念(凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件、KKT条件)
SVM目前被认为是最好的现成的分类器,SVM整个原理的推导过程也很是复杂啊,其中涉及到很多概念,如:凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件.KKT条件还有 ...
- CF739E Gosha is hunting(费用流/凸优化dp)
纪念合格考爆炸. 其实这个题之前就写过博客了,qwq但是不小心弄丢了,所以今天来补一下. 首先,一看到球的个数的限制,不难相当用网络流的流量来限制每个球使用的数量. 由于涉及到最大化期望,所以要使用最 ...
随机推荐
- 顶级开源项目 Sentry 20.x JS-SDK 设计艺术(Unified API篇)
SDK 开发 顶级开源项目 Sentry 20.x JS-SDK 设计艺术(理念与设计原则篇) 顶级开源项目 Sentry 20.x JS-SDK 设计艺术(开发基础篇) 顶级开源项目 Sentry ...
- Prometheus时序数据库-数据的查询
Prometheus时序数据库-数据的查询 前言 在之前的博客里,笔者详细阐述了Prometheus数据的插入过程.但我们最常见的打交道的是数据的查询.Prometheus提供了强大的Promql来满 ...
- C语言之漫谈指针(上)
C语言之漫谈指针(上) 在C语言学习的途中,我们永远有一个绕不了的坑,那就是--指针. 在这篇文章中我们就谈一谈指针的一些基础知识. 纲要: 零.谈指针之前的小知识 一.指针与指针变量 二.指针变量的 ...
- 2019第十届蓝桥杯省赛及国赛个人总结(java-B组)
省赛: 今年省赛的题目比18年简单的多,基本都是暴力枚举.BFS之类.还记得去年在山师考蓝桥杯,我这种辣鸡连题目都没看懂.本以为蓝桥会变得越来越难,没想到今年就被打脸了.今年省赛后面三个编程大题一个没 ...
- 开灯问题3_2(JAVA语言)
package 第三章; public class 开灯问题3_2 { public static void main(String[] args) { // TODO Auto-generated ...
- 【linux】驱动-2-内核模块
目录 前言 2. 内核模块 2.1 内核模块概念 2.1.1 内核 2.1.2 内核模块机制的引入 2.2 内核模块 2.2.1 内核模块参考例程 2.2.2 内核模块命令 2.2.3 系统自动加载模 ...
- 网络对抗技术Exp2-后门原理与实践
后门概念 后门就是不经过正常认证流程而访问系统的通道. 哪里有后门呢? 编译器留后门 操作系统留后门 最常见的当然还是应用程序中留后门 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序. 下面是 ...
- [Design Pattern With Go]设计模式-单例模式
定义 一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例模式.当某些数据只需要在系统中保留一份的时候,可以选择使用单例模式. 饿汉式 饿汉式的实现方式比较简单.在类加 ...
- python3使用cv2对图像进行基本操作
技术背景 在机器视觉等领域,最基本的图像处理处理操作,可以通过opencv这个库来实现.opencv提供了python的接口,所需安装的库为opencv-python,但是在库的导入的时候一般用的是i ...
- python基础(二):数据类型
数据类型 学习Python时,一定要注意Python中数据类型和数据结构的学习,这对于你是否能够学好Python其中很重要的作用. 什么是数据类型? 人类有思想,很容易区分汉字和数字的区别,例如,你知 ...