关于凸优化的一些简单概念
http://www.cnblogs.com/tornadomeet/p/3300132.html
没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs229-cvxopt.pdf,从中我们可以大致了解到一些凸优化的概念,比如凸集,凸函数,凸优化问题,线性规划,二次规划,二次约束二次规划,半正定规划等,从而对凸优化问题有个初步的认识。以下是几个重要相关概念的笔记。
凸集的定义为:
其几何意义表示为:如果集合C中任意2个元素连线上的点也在集合C中,则C为凸集。其示意图如下所示:
常见的凸集有:
n维实数空间;一些范数约束形式的集合;仿射子空间;凸集的交集;n维半正定矩阵集;这些都可以通过凸集的定义去证明。
凸函数的定义为:
其几何意义表示为函数任意两点连线上的值大于对应自变量处的函数值,示意图如下:
凸函数的一阶充要条件为:
其中要求f一阶可微。
二阶充要条件为:
其中要求f二阶可微,表示二阶导数需大于0才是凸函数。
按照上面的两个定义,如果f(x)=x^2肯定是凸函数,而g(x) = -x^2是非凸函数。也就是说开口向下的函数是非凸函数,但是对于这种情况可以通过添加负号变成凸函数,从而求解。
常见的凸函数有:指数函数族;非负对数函数;仿射函数;二次函数;常见的范数函数;凸函数非负加权的和等。这些可以采用上面2个充要条件或者定义去证明。
凸优化问题(OPT)的定义为:
即要求目标函数是凸函数,变量所属集合是凸集合的优化问题。或者目标函数是凸函数,变量的约束函数是凸函数(不等式约束时),或者是仿射函数(等式约束时)。
对于凸优化问题来说,局部最优解就是全局最优解。
常见的凸优化问题包括:
线性规划(LP):该问题是优化下面的式子:
其中那个不常见的奇怪符号表示按元素小于等于,后面出现类似符号可以类似理解。
二次规划(QP):该问题是优化下面的式子:
二次约束的二次规划(QCQP):该问题是优化下面的式子:
半正定规划(SDP):该问题是优化下面的式子:
按照文章说SDP在机器学习领域应用很广,最近很流行,不过我好像没太接触到过。
参考资料:
http://cs229.stanford.edu/section/cs229-cvxopt.pdf
关于凸优化的一些简单概念相关推荐
- 机器学习数据挖掘笔记_15(关于凸优化的一些简单概念)
没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs22 ...
- [转]关于凸优化的一些简单概念
没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs22 ...
- 凸优化笔记(1) —— 基本概念
凸优化笔记 -- 基本概念之凸集 1. 数学优化 基本概念 2.1 凸优化问题 2.2 线性函数与凸函数 2.3 凸集 仿射集. 2.3.2 凸集 2.3.3锥 三种集合的比较: 基本准备 本科没学过 ...
- 凸优化一(基本概念介绍)
背景知识 优化问题 凸优化是一类数学优化问题,介绍凸优化前先简单介绍数学优化问题. 优化问题定义(形式): minimizef0minimizef0 minimize \quad f_{0} subj ...
- 优化问题---凸优化基本概念
目录 1.凸优化到底是什么? 1.1 基本概念 1.2 凸优化和非凸优化 2.集合概念 2.1 仿射集.仿射包.仿射组合 2.2 凸集.凸包.凸组合 2.3 锥.凸锥 3.凸函数与非凸函数 4.总结 ...
- 干货丨从基础知识到实际应用,一文了解「机器学习非凸优化技术」
文章来源:机器之心 优化作为一种研究领域在科技中有很多应用.随着数字计算机的发展和算力的大幅增长,优化对生活的影响也越来越大.今天,小到航班表大到医疗.物理.人工智能的发展,都依赖优化技术的进步. 在 ...
- 凸集 凸函数 凸优化
目录 写在前面 精简版概念理解 凸集 凸集的性质 凸函数 凸函数性质 凸优化 为什么要求是凸集呢? 为什么要求是凸函数呢? 判断是否为凸函数的简单办法 为什么区分凸优化和非凸优化 非凸优化问题如何转为 ...
- 凸优化第一【凸集与凸优化简介】
[本文仅供学习记录,概无其他用处,一些图片资源来自网络,侵删] 凸优化是一个简单的优化问题,优化-数学规划概念相同,本课程主要学习的内容包括:凸集.凸函数.凸优化和有关凸优化的一些算法. 优化:从一个 ...
- 凸优化 [Convex Optimization] — [美] 鲍德(Stephen Boyd),Lieven Vandenberghe 著,王书宁,许鋆,黄晓霖 译
<信息技术和电气工程学科国际知名教材中译本系列:凸优化>从理论.应用和算法三个方面系统地介绍凸优化内容. 凸优化在数学规划领域具有非常重要的地位.从应用角度看,现有算法和常规计算能力已足以 ...
最新文章
- 老年手机英文改中文_这些手游大作你都玩了吗?手机游戏推荐
- 基于CentOS 6.8平台最新源代码包编译安装企业版MariaDB数据库
- Ngrok: 使用 Ngrok 实现内网穿透
- Navicat——MySQL之delimiter默认设置问题
- 2018/7/17-纪中某C组题【jzoj4024,jzoj4025,jzoj2136,jzoj2137】
- c# 轻量级ORM框架 实现(一)
- ipython和anaconda区别_anaconda和python区别
- [MySQL] specified key was too long max key length is 767bytes
- DDM:剪贴板处理处罚及截取屏幕
- 190405每日一句
- 罗技鼠标宏压枪 - 绝地求生 -刺激战场
- 100%解决VMware虚拟机NAT上网方式,保姆教学
- html中颜色取样器工具,photoshop基础教程:颜色取样器工具的使用详解
- texi2dvi - 打印 Texinfo 文档
- 认知仿真:是复杂系统建模的新途径吗
- windows Apache 的安装和配置教程
- WSL(ubuntu2204)xfce4安装中文环境和fcitx5框架及中文输入法
- javaweb美食网站
- ESP32第一章esp32简介
- Grub2启动项的修改和相关操作命令
热门文章
- java sql 参数_java jdbc连接数据库,Properties 属性设置参数方法
- Android向本地写入一个XML文件和解析XML文件
- leetcode 刷题140 141
- sklearn特征的选择
- keras从入门到放弃(十)手写数字识别训练
- 原生js.ajax内存溢出,javascript - 代码点火器-如何使用jQuery向数据库提交ajax javascript对象 - 堆栈内存溢出...
- 最新发布!斯坦福 CS224n 出作业视频详细讲解啦!
- Pytorch的网络结构可视化:Netron与TensorBoardX
- 零基础实践深度学习之数学基础
- 查看swintransformer的网络结构.children()