凸优化

凸优化

作者:樱花猪

摘要:

本文为七月算法(julyedu.com)12月机器学习第四次课在线笔记。“凸优化”指的是一种比较特殊的优化,通过“凸优化”我们能够把目标函数转化成一个“凸函数”然后利用凸函数的性质求极值来求解问题。“凸优化”不仅仅在机器学习中有所应用,几乎在任何用到有关于目标函数求值的问题都会用到。本次课程由浅入深,将学术上复杂的问题解释的通俗易懂,个人认为是机器学习系列课程非常有亮点的一课。

引言:

本文用凸函数结合凸集的视角来阐述凸优化的方案,在课程中提供了一些简单易操作的例子让看起来比较阳春白雪的凸优化问题变得非常接地气。这次课程的内容不仅仅可以运用到机器学习,还可以用于许多将优化目标函数的问题中。本次比较比较注重于基础概念的记录以及算法的思路而不过多纠结定理的证明。

预备知识:

高等数学

预备概念:

凸集保凸运算;分割超平面;支撑超平面;上境图;Jensen不等式;凸函数的保凸运算;

凸优化:

KKT条件;

一、预备知识

1、直线的向量表达:

假设直线经过两点A、B,则:,

时,表示过AB的直线。

时,表示过AB的线段。

2、几何体的向量表达

任何体都可以用向量表达

三维平面:

三角形:

超平面:

(超)几何体:

3、仿射集

定义:通过集合C中任意两个不同点的直线仍然在集合C内,则称集合C为仿射集。

类比几何体向量表达中的平面表达,多点的时候要满足

4、凸集

集合C内任意两点间的线段均在集合C内, 则称集合C为凸集。

类比几何体向量表达中的几何体表达,多点的时候要满足

因为仿射集的条件比凸集的条件强,所以,仿射集必然是凸集。

5、凸包

集合C的所有点的凸组合形成的集合,叫做集C的凸包。

集合C的凸包是能够包含C的最小的凸集。

6、超平面和半空间

超平面hyper plane

半空间half space

7、欧式球和椭球

欧式球:

椭球:

8、范数:

9、范数球

10、范数锥

11、多面体

多面体有限个半空间和超平面的交集。

仿射集(如超平面、直线)、射线、线段、半空间都 是多面体。

多面体是凸集。

12、保凸运算

集合交运算:仿射变换(线性变换

透视变换:透视函数对向量进行伸缩(规范化),使得最 后一维的分量为1并舍弃之。(降维)

投射变换:投射函数是透视函数和仿射函数的复合

13、支撑超平面

14、凸函数

15、上境图

16、凸函数与凸集

一个函数是凸函数,当且仅当其上境图是凸集,(凸优化重要思路)

17、Jesen不等式

若f是凸函数:

18、保持函数凸性的算子

a. 凸函数的非负加权和

b. 凸函数与仿射函数的复合

c. 凸函数的逐点最大值、逐点上确界

19、共轭函数

原函数共轭函数定义:

定义式的右端是关于y的仿射函数,它们逐点求上确界,得到的函数f*(y)一定是凸函数。

20、Fenchel不等式

根据共轭函数定义有:

二、凸优化

凸优化的基本形式:

目标:求f(x)的最小值解。

条件:

凸函数:

仿射函数:

凸优化问题的重要性质:

凸优化问题的可行域为凸集

凸优化问题的局部最优解即为全局最优解(非常重要)

根据凸优化问题的基本形式,很容易想到拉格朗日乘子法。

构造拉格朗日函数:

对固定的x,Lagrange函数L(x,λ,v)为关于λ和v的仿射函数

求下界,即Lagrange对偶函数

若原优化问题有最值,则

于是我们希望Lagrange对偶函数为凹函数。

于是我们希望求右图的上界。

若要对偶函数的最大值即为原问题的最小值,考察需要满足的条件:

最后得到KKT条件:

来自为知笔记(Wiz)

时间: 2024-10-05 23:54:33

凸优化的相关文章

Convex optimization 凸优化

zh.wikipedia.org/wiki/凸優化 以下问题都是凸优化问题,或可以通过改变变量而转化为凸优化问题:[5] 最小二乘 线性规划 线性约束的二次规划 半正定规划 Convex function Convex minimization is a subfield of optimization that studies the problem of minimizing convex functions over convex sets. The convexity makes opt

关于凸优化的一些简单概念

http://www.cnblogs.com/tornadomeet/p/3300132.html 没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs229-cvxopt.pdf,从中我们可以大致了解到一些凸优化的概念,比如凸集,凸函数,凸优化问题,线性规划,二次规划,二次约束二次规划,半正定规划等,从而对凸优化问题有个初步的认识.以下是几个重要相关概

非凸优化问题

凸优化就是函数是凸函数,定义域也是凸集,不会有局部极小值问题:非凸优化就是在寻找最小值(或最大值)时会陷入局部极小值,这就是机器学习里某些算法经常遇到的问题. 记录今天学习到的matlab函数: 1. numel(A),求A的元素个数,即number of elements: 2. rem(A,a),求余,如果是向量,则返回的也是向量,每个元素对应原来除以a后的余数: 3. assert(expression,‘提示内容’),产生错误提示,当表达式expression不满足时,提示单引号内的内容

七月算法--12月机器学习在线班-第四次课笔记—凸优化

七月算法--12月机器学习在线班-第四次课笔记—凸优化 七月算法(julyedu.com)12月机器学习在线班学习笔记 http://www.julyedu.com

凸优化中的基本概念(1)

1.1 什么是凸集? 简单来说, 凸集是一个点集, 这个点集有一个性质, 就是在这个集合中任取不同的两个点x和y, 他们之间的线段(包括端点)上的点都属于这个点集,那么就说这个点集是一个凸集. 比如下图中左边的图形是凸集,而右边不是,因为我们可以找到两个点,使它们之间的线段上的点不在集合中 数学上,凸集的定义如下: 给定集合$C$,$\forall x,y\in C$,$0\leq\theta\leq 1$,如果有 $$ \theta x + (1-\theta y)\in C$$ 我们就称集合

凸优化之优化、对偶、KKT-七月算法(julyedu.com)4 月机器学习算法班学习笔记

优化 一般优化问题的基本形式 凸优化的基本形式 共轭函数 共轭函数是凸函数 对偶问题 拉格朗日函数 拉格朗日对偶函数 KKT条件 小结 优化 一般优化问题的基本形式 minimizef0(x),x∈Rn s.t.fi(x)≤0,i=1?m s.t.hj(x)=0,j=1?n 定义域为 当 m=n=0 时,约束优化问题退化成无约束优化问题 注意:这是是优化问题的一般形式,对 fi(x) 和 hi(x) 无特殊要求.就是并不要求这些函数一定可导,也不要求只有一个极值点,就是啥要求都没. 凸优化的基本

凸优化和机器学习

CSDN的博主poson在他的博文<机器学习的最优化问题>中指出"机器学习中的大多数问题可以归结为最优化问题".我对机器学习的各种方法了解得不够全面,本文试图从凸优化的角度说起,简单介绍其基本理论和在机器学习算法中的应用. 1.动机和目的     人在面临选择的时候重视希望自己能够做出"最好"的选择,如果把它抽象成一个数学问题,那么"最好的选择"就是这个问题的最优解.优化问题,就是把你考虑的各个因素表示成为一组函数(代价函数),解决这

《凸优化》学习笔记(一)

?凸优化在数学优化中有着重要且特殊的身份.数学优化是一个广泛的话题,理解凸优化之前,请先理解线性优化.在机器学习算法中,已知的比如LogisticRegression,SVM,都与数学优化有关,在数学中,不存在无约束优化问题.比较常见的构建损失函数方法,从最简单的两个向量的二阶范数的平方(KNN,Kmeans)到linearRegression.LogisticRegression的最小二乘模型,再到SVM的二次凸优化,都和数学优化理论紧密相关.本篇笔记主要学习数学优化的前奏部分:凸优化的概念部

机器学习之凸优化基础

2015-09-09 今天买的凸优化刚到.从今天开始学习一些基础的概念.不知道2年的时间能不能学会并且解决实际的问题. 线性函数需要严格满足等式,而凸函数仅仅需要在a和b取特定值得情况下满足不等式.因此线性规划问题也是凸优化问题,可以将凸优化看成是线性规划的扩展. 1.放射集 定义:过集合C内任意两点的直线均在集合C内,则称集合C为仿射集. 例子:直线.平面.超平面 2.仿射包 定义:包含集合C的最小仿射集. 仿射维数:仿射包的维数. 三角形的仿射维数为2. 线段的仿射维数为1. 球的仿射维数为