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

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

 

  凸集的定义为:

  

  其几何意义表示为:如果集合C中任意2个元素连线上的点也在集合C中,则C为凸集。其示意图如下所示:

  

  常见的凸集有:

  n维实数空间;一些范数约束形式的集合;仿射子空间;凸集的交集;n维半正定矩阵集;这些都可以通过凸集的定义去证明。

 

  凸函数的定义为:

  

  其几何意义表示为函数任意两点连线上的值大于对应自变量处的函数值,示意图如下:

  

  凸函数的一阶充要条件为:

  

  其中要求f一阶可微。

  二阶充要条件为:

  

  其中要求f二阶可微,表示二阶导数需大于0才是凸函数。

   常见的凸函数有:指数函数族;非负对数函数;仿射函数;二次函数;常见的范数函数;凸函数非负加权的和等。这些可以采用上面2个充要条件或者定义去证明。

 

  凸优化问题(OPT)的定义为:

  

  即要求目标函数是凸函数,变量所属集合是凸集合的优化问题。或者目标函数是凸函数,变量的约束函数是凸函数(不等式约束时),或者是仿射函数(等式约束时)。

  对于凸优化问题来说,局部最优解就是全局最优解。

  常见的凸优化问题包括:

  线性规划(LP):该问题是优化下面的式子:

   

  其中那个不常见的奇怪符号表示按元素小于等于,后面出现类似符号可以类似理解。

  二次规划(QP):该问题是优化下面的式子:

   

  二次约束的二次规划(QCQP):该问题是优化下面的式子:

   

  半正定规划(SDP):该问题是优化下面的式子:

  

  按照文章说SDP在机器学习领域应用很广,最近很流行,不过我好像没太接触到过。

 

  参考资料:

     http://cs229.stanford.edu/section/cs229-cvxopt.pdf

 

 

 

 

作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:tornadomeet,欢迎交流!)

转载于:https://www.cnblogs.com/rongfangliu/p/5780708.html

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

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

相关文章

Go 1.18.1 Beta 尝鲜 泛型 FuzzTest workspace mode

Go 1.18.1 Beta 尝鲜 昨天,go 终于发布了 1.18 的 beta 版本, 带来了大家期待已久的泛型,抓紧时间康康能不能赶上热乎的。 下载地址 根据社区昨天发的 Go 1.18 Beta 1 is available, with generics 这次版本更新主要带来的新功能有: 泛型模…

centos7部署两个mysql_一文掌握mysql实用工具--pt-online-schema-change、innotop部署

概述因为OSC和innotop这两个需要的依赖包比较接近,所以这次就写一起了,下面介绍下完整的部署教程,以下基于centos7操作系统。官网文档:http://dev.mysql.com/doc/refman/5.7/en/innodb-create-index-overview.htmlOSC:…

python面试题目

问题一:以下的代码的输出将是什么? 说出你的答案并解释。 1234567891011121314class Parent(object):x 1class Child1(Parent):passclass Child2(Parent):passprint Parent.x, Child1.x, Child2.xChild1.x 2print Parent.x, Child1.x, Child2.xParent.x 3print …

修改页面后获得flag_互动征集丨是时候为2021立flag了

2020马上就要过去了今年的flag各位小伙伴实现了多少?翻出了生灰的flag擦擦说不定2021还能接着用哦2020年就要过去了还记得你在年初立下的那些Flag吗?减肥“明天我就开始减肥!”是大部分人在大部分时候都挂在嘴边的一句话疫情宅家不仅没减成还…

Python3.10 结构化模式匹配 PEP 634

Python3.10 结构化模式匹配 PEP 634 眼看 2021 马上结束,python 发布了它的 3.10 版本,优化了错误消息,上下文管理器等内容,但更吸引我的还是结构化模式匹配。 众所周之 switch 一直是 python 社区呼声比较高的一个功能&#xff…

为ESXI 添加ISCSI存储设备 Linux服务器系统

为ESXI 添加ISCSI存储设备 Linux系统本文使用的LINUX 6系统上一块硬盘制作的ISCSI存储设备其IP地址为:192.168.26.218:在系统上直接输入:yum -y install scsi-target-utils 命令 安装 iscsi分区设置我们将SDD这块硬盘的SDD1作为iscsi存储设备编辑ISCSI配…

出栈顺序 与 卡特兰数(Catalan)的关系

一,问题描述 给定一个以字符串形式表示的入栈序列,请求出一共有多少种可能的出栈顺序?如何输出所有可能的出栈序列? 比如入栈序列为:1 2 3 ,则出栈序列一共有五种,分别如下:1 2 3、…

[译] Bounds Check Elimination 边界检查消除

[译] Bounds Check Elimination 边界检查消除 Go 是一种内存安全的语言,在针对数组 (array) 或 Slice 做索引和切片操作时,Go 的运行时(runtime)会检查所涉及的索引是否超出范围。如果索引超出范围,将产生一个 Panic&…

cad多段线画圆弧方向_CAD箭头怎么画

CAD箭头怎么画问:CAD箭头怎么画?答:想要回答CAD箭头怎么画这个问题,得先从CAD多段线命令说起,画箭只是多段线的一种应用。执行CAD多段线命令的三种方式1.单击菜单栏上的"绘图">>"多段线"。2…

HDU 5410 CRB and His Birthday ——(完全背包变形)

对于每个物品&#xff0c;如果购买&#xff0c;价值为A[i]*xB[i]的背包问题。 先写了一发是WA的 。代码如下&#xff1a; 1 #include <stdio.h>2 #include <algorithm>3 #include <string.h>4 #include <set>5 using namespace std;6 typedef pair<…

一篇讲Java指令重排和内存可见性的好文

在这里&#xff1a; http://tech.meituan.com/java-memory-reordering.html 指令重排和内存可见性&#xff08;缓存不一致&#xff09;是两个不同的问题。 volatile关键字太强&#xff0c;即阻挡指令重排&#xff0c;又保证内存一致性。 unsafe.putOrderedXXX()只阻挡指令重排&…

php 获取delete蚕丝_php结合Redis实现100万用户投票项目,并实时查看到投票情况的案例...

场景&#xff1a;某网站需要对其项目做一个投票系统&#xff0c;投票项目上线后一小时之内预计有100万用户进行投票&#xff0c;希望用户投票完就能看到实时的投票情况这个场景可以使用redismysql冷热数据交换来解决。何为冷热数据交换&#xff1f;冷数据&#xff1a;之前使用的…

硬件内存模型 Hardware Memory Models

硬件内存模型 Hardware Memory Models (Memory Models, Part 1) Posted on Tuesday, June 29, 2021. 简介&#xff1a;童话的终结 很久以前&#xff0c;当人们还在写单线程程序的时候&#xff0c;让程序跑的更快的一个最有效的办法就是什么也不做&#xff0c;因为下一代硬件…

碰到日期题就怕的我来写一道水题吧

HDOJ-2005&#xff0c; http://acm.hdu.edu.cn/showproblem.php?pid2005 20XX系列的水题哈哈&#xff0c;写了二十分钟&#xff0c;就为找到一种比较正常不傻逼的写法。。。 嗯&#xff0c;学习了一下&#xff0c;闰年的判断可以写成一个接受参数的宏。 #define lev(n) (n%40&…

判断是否为gif/png图片的正确姿势

判断是否为gif/png图片的正确姿势 1.在能取到图片后缀的前提下 123456789//假设这是一个网络获取的URLNSString *path "http://pic3.nipic.com/20090709/2893198_075124038_2.gif";// 判断是否为gifNSString *extensionName path.pathExtension;if ([extensionName…

【Go】Map 的空间利用率统计

Go 中 map 利用率 今天刷 B 站看见有 Up 主在讲布隆过滤器&#xff0c;提到了利用率的问题&#xff0c;假设有一组数据&#xff0c;范围分布非常广&#xff0c;使用布隆过滤器时如何尽量少的减少内存使用&#xff0c;感觉除了针对特定数据的定向优化外没什么特别好的办法&…

ap模式和sta模式共存_AP+AC组网下的本地转发及集中转发

现在越来越多的企业都有自己的无线网络&#xff0c;而无线网络的组网方式一般都是使用ACAP模式进行组网&#xff0c;使用无线网络能够提供经济、高效的网络接入方式。相比有线网络&#xff0c;无线网络下只要能接入无线网的地方都可以使用网络&#xff0c;用户可以自由移动。而…

《JS权威指南学习总结--6.7属性的特性》

内容要点&#xff1a; 一.ES5中查询和设置属性的API 1.可以通过这些API给原型对象添加方法&#xff0c;并将它们设置成不可枚举的&#xff0c;这让它们看起来更像内置方法。 2.可以通过这些API给对象定义不能修改或删除的属性&#xff0c;借此 "锁定" 这个对象。 3.数…

【干货分享】流程DEMO-事务呈批表

流程名&#xff1a; 事务呈批表 业务描述&#xff1a; 办公采购、会议费用等事务的申请。流程发起时&#xff0c;会检查预算&#xff0c;如果预算不够&#xff0c;将不允许发起费用申请&#xff0c;如果预算够用&#xff0c;将发起流程&#xff0c;同时占用相应金额的预算&…

【译】TcMalloc: Thread-Caching Malloc

TcMalloc 的核心是分层缓存&#xff0c;前端没有锁竞争&#xff0c;可以快速分配和释放较小的内存对象&#xff08;一般是 256 KB&#xff09;前端有两种实现&#xff0c;分别是 pre-CPU 和 pre-Thread 模式&#xff0c;前者申请一块大的连续内存&#xff0c;每一个逻辑 CPU 将…