- 博客(41)
- 资源 (4)
- 收藏
- 关注
原创 CVX示例库之多面体的Chebyshev中心
参考 6.4.2 节 Boyd 和 Vandenberghe 《凸优化》CVX示例库多面体的Chebyshev中心示例(计算2D多面体的Chebyshev中心)多面体的Chebyshev中心考虑在多面体中寻找最大Euclid球的问题。该球的中心称为多面体的Chebyshev中心。多面体由线性不等式表示为P={x∣aiTx≤bi,i=1,…,m}\mathcal{P}=\{x|a_i^Tx\leq b_i,i=1,\dots,m\}P={x∣aiTx≤bi,i=1,…,m}球可以表示为B=
2022-03-17 21:31:58 1129
原创 CVX示例库之Logistic 回归
参考 7.1.1 节 Boyd 和 Vandenberghe 《凸优化》CVX示例库Logistic 回归示例Logistic 回归
2022-03-16 18:01:59 1466
原创 《凸优化》Ch7-统计估计
参考 7.1节 Boyd 和 Vandenberghe 《凸优化》Ch7-统计估计最大似然(ML)估计范数逼近问题的ML解释最大后验(MAP)估计最小范数问题的MAP解释最大似然(ML)估计寻找参数***最大似然估计***的问题可以表示为:maximize l(x)=logpx(y)subjec to x∈C\text{maximize} ~ l(x)=\log p_x(y) \\\text{subjec to}~ x\in Cmaximize l(x
2022-03-16 16:57:14 509
原创 CVX示例库之多项式拟合
参考 6.5.3 节 Boyd 和 Vandenberghe 《凸优化》CVX示例库函数拟合多项式拟合示例(比较l2l_2l2和l∞l_\inftyl∞范数)函数拟合函数拟合问题是给定数据u1,⋯ ,umu_1,\cdots,u_mu1,⋯,um和v1,⋯ ,vmv_1,\cdots,v_mv1,⋯,vm,寻找函数f(u)=x1f1(u)+⋯+xnfn(u)f(u)=x_1f_1(u)+\cdots+x_nf_n(u)f(u)=x1f1(u)+⋯+xnfn(u)尽可能地拟合这些数据
2022-03-15 19:50:08 742
原创 CVX示例库之比较随机(stochastic)和最坏情况(worst-case)鲁棒逼近
参考 6.4.2 节 Boyd 和 Vandenberghe 《凸优化》CVX示例库鲁棒逼近随机鲁棒逼近最坏情况鲁棒逼近示例(比较随机和最坏情况鲁棒逼近)鲁棒逼近鲁棒逼近在逼近问题中同时考虑AAA的不确定性。随机鲁棒逼近随机鲁棒逼近对AAA的不确定性进行统计建模,A=Aˉ+UA=\bar{A}+UA=Aˉ+U,minimize E∥Ax−b∥\text{minimize}~E\|Ax-b\|minimize E∥Ax−b∥对于随机鲁棒最小二乘逼近问题,minimi
2022-03-15 16:23:26 430
原创 CVX示例库之全变差(Total Variation,TV)信号重建
参考 6.3.3节 Boyd 和 Vandenberghe 《凸优化》CVX示例库正则逼近信号重建/降噪示例(比较了两种范数的区别)正则逼近
2022-03-14 17:51:31 1536
原创 《凸优化》二读之杂言8
正则逼近(拟合)问题:或正则化逼近问题最小化范数和范数的加权和,其中测量残差的大小,测量的大小。正则化存在多种解释:考虑先验知识不会太大(最大后验估计)、考虑的误差(鲁棒估计)。推广的正则逼近(拟合)问题:如果代表差分或二阶差分算子,测量了的光滑度。两种常见的正则形式是范数正则(也称为Tikhonov正则)和范数正则(寻找稀疏解)。一个特殊的正则逼近(拟合)问题是信号重建/降噪。信号重建/降噪的目的是从时间采样的含噪观测信号中估计原始信号。我们假设原始信号是缓慢.
2022-03-14 10:35:46 392
原创 《凸优化》二读之杂言7
标准范数逼近(回归)问题:范数逼近问题是一个可解的凸优化问题。这个问题存在多种解释:利用的列向量的线性组合逼近、利用含噪的线性观测估计、计算在子空间上的投影。加权范数逼近(回归)问题:加权范数逼近问题可以表示为标准范数逼近问题,令,也可以表示为,其中表示-加权范数。几种代表性的范数逼近(回归)问题包括:最小二乘逼近问题(范数)、切比雪夫(最小最大)逼近问题(范数)、鲁棒逼近问题(范数)。约束逼近(回归)问题:...
2022-03-13 16:11:17 456
原创 《凸优化》二读之杂言6
本部分内容介绍一些特殊的凸优化问题,包括线性规划、二次规划等。线性规划(LP)(目标和约束函数都是仿射函数):因为约束函数是线性函数,线性规划问题的可行集是多面体,几何意义如下图所示:线性规划问题的可行集是多面体,由阴影表示;因为目标函数是线性的,所以等值曲线是垂直于c的超平面。二次规划(QP)(目标函数是(凸)二次函数,约束函数是仿射函数):因为约束函数是线性函数,二次规划问题的可行集是多面体,几何意义如下图所示:凸二次函数的等值曲线如虚线所示。线性规划问..
2022-03-11 20:56:29 1690
原创 《凸优化》二读之杂言5
优化问题:目标函数,不等式约束函数,等式约束函数不等式约束,等式约束优化问题的定义域(domain)是目标函数和所有约束函数定义域的交集,,可行集(feasible set)是定义域中满足约束的所有点的集合,最优集(optimal set)是可行集中满足,其中是优化问题的最优值,的所有点的集合,我们有以下结论:最优集可行集定义域粗略地讲,我们称两个优化问题是等价的,如果一个问题的解从另一个问题的解找到,反之亦然。一些重要的等价变换包括:变量代换、引入松弛变量、消除等式等。
2022-03-11 17:16:41 391
原创 《凸优化》二读之杂言2
任何仿射集都可以表示为一个线性方程组的解集。仿射集可以表示为子空间加上一个偏移量,,其中,是的零空间。一些重要的凸集包括超平面,根据仿射集的定义,超平面是一个仿射集,因此也是一个凸集; 半空间,根据凸集的定义,容易证明半空间是一个凸集; 球和椭球,根据凸集的定义,容易证明; 多面体,是半空间和超平面的交集,因为交集是保凸的,因此多面体是一个凸集。仿射集()、半空间(,)、射线(可以看作直线和一个半空间的交集)、线段(可以看作直线和两个半空间的交集)都是多面体; 正半定锥是对称正半定矩阵的集合
2022-03-09 12:04:09 468
原创 《凸优化》二读之杂言1
凸优化近些年的发展主要有两点:凸优化问题的求解方法,例如发现之前用于求解线性规划问题的内点法也可以用于求解凸优化问题;凸优化问题的广泛应用,例如自动控制系统,信号处理等。一个优化问题如果可以识别、描述为凸优化问题,这个问题就可以轻松求解,例如使用内点法。因此,凸优化学习聚焦在凸优化问题的描述和建模上。凸优化也可以用于求解非凸问题,例如作为非凸优化算法的一个初始值、求解非凸问题的启发式算法(例如压缩感知中,使用范数代替范数)和计算非凸问题最优解的一个下界(利用松弛和拉格朗日对偶)等。凸优化理论涉及
2022-03-08 11:48:29 886
原创 《凸优化》学习笔记5-对偶(第五章第一至四节)
对偶拉格朗日对偶问题拉格朗日对偶函数对偶函数和共轭函数对偶问题弱对偶和强对偶几何意义拉格朗日对偶问题拉格朗日对偶函数优化问题(不一定是凸的)的标准形式如下:minimizef0(x)subject tofi(x)≤0,i=1,⋯ ,mhi(x)=0,i=1,⋯ ,p\begin{array}{lll}\text{minimize} & f_0(x) & \\\text{subject to} & f_i(x) \leq 0, &i=1,\cdo
2022-03-02 12:00:49 943
原创 《凸优化》学习笔记4-凸优化问题(第四章第二至五节)
凸优化问题凸优化全局最优解和局部最优解无约束问题的最优性条件等价的凸优化问题消除等式约束引入等式约束松弛变量上境图问题形式极小化部分变量拟凸优化问题线性规划二次规划二次约束二次规划二阶锥规划几何规划凸优化minimizef0(x)subject tofi(x)≤0,i=1,⋯ ,maiTx=bi,i=1,⋯ ,p\begin{array}{lll}\text{minimize} & f_0(x) & \\\text{subject to} & f_i(x)
2022-02-26 10:50:56 1358
原创 《凸优化》学习笔记4-凸优化问题(第四章第一节)
凸优化问题优化问题优化问题的标准形式全局最优和局部最优等价优化问题变量变换函数变换松弛变量消除等式约束优化问题优化问题的标准形式minimizef0(x)subject tofi(x)≤0,i=1,⋯ ,mhi(x)=0,i=1,⋯ ,p\begin{array}{lll}\text{minimize} & f_0(x) & \\\text{subject to} & f_i(x) \leq 0, &i=1,\cdots,m \\& h
2022-02-24 20:44:13 470
原创 《凸优化》学习笔记3-凸函数(第三章)
凸函数性质和例子定义性质1一阶条件二阶条件例子R\mathbf{R}R上的函数Rn\mathbf{R}^nRn上的函数Rm×n\mathbf{R}^{m\times n}Rm×n上的函数性质和例子定义函数f:Rn→Rf: \mathbf{R}^n\to \mathbf{R}f:Rn→R是凸的,如果定义域domf\mathbf{dom}fdomf是凸集;对于任意x,y∈domfx,y\in\mathbf{dom}fx,y∈domf,0≤θ≤10\leq\theta\leq10≤θ≤1,有f(θx
2022-02-24 10:43:44 1941
原创 《凸优化》学习笔记2-凸集(第二章)
凸集仿射集和凸集仿射集凸集凸锥一些重要的凸集超平面和半空间球和椭球范数球和范数锥多面体正半定锥保凸运算交集仿射函数透视函数线性分式函数仿射集和凸集仿射集经过x1x_1x1和x2x_2x2的直线表示为:x=θx1+(1−θ)x2, θ∈R.x=\theta x_1 + (1-\theta) x_2,~\theta \in \mathbf{R}.x=θx1+(1−θ)x2, θ∈R. 如果经过集合CCC中任意两点的直线仍然在集合CCC中,那么称集合CCC是仿射的
2022-02-21 09:49:40 1728
原创 《凸优化》学习笔记1-引言部分(第一章)
《凸优化》学习笔记1-引言部分(第一章)引言数学优化最小二乘和线性规划最小二乘加权最小二乘正则化线性规划Chebyshev 逼近问题凸优化非线性优化局部优化全局优化引言数学优化优化问题可以写成如下形式:minimizef0(x)subject tofi(x)≤bi,i=1,⋯ ,m.\begin{array}{lll}\text{minimize} & f_0(x) & \\\text{subject to} & f_i(x) \leq b_i, &a
2022-02-19 12:17:45 700
原创 CVX示例库之天线阵列设计
% Minimize beamwidth of an array with arbitrary 2-D geometry% "Convex optimization examples" lecture notes (EE364) by S. Boyd% "Antenna array pattern synthesis via convex optimization"% by H. Lebret and S. Boyd% (figures are generated)%% Designs an a
2022-02-18 16:28:23 1240 2
原创 CVX用户指南之参考指南
在本节中,我们将介绍您在 CVX 中可能遇到的每个运算符、函数、集合和命令。在某些情况下,求解器的局限对其使用施加了某些限制或警告:用†标记的函数本身不受 CVX 使用的求解器的支持。包含这些函数的模型将由 Mosek 有效求解,Mosek 是唯一支持构建这些函数的指数锥的求解器。对于所有其他求解器,使用逐次逼近方法处理这些函数,该方法对求解器进行多次调用,从而实现相同的最终精度。如果您的问题需要使用逐次逼近法,则会发出警告。这种技术在逐次逼近法中进一步讨论。正如本节所讨论的,这是一种实验性方法,在许多
2022-02-15 15:06:02 10307 1
原创 CVX用户指南之求解器
支持的求解器此版本的 CVX 支持四个求解器,每个求解器具有不同的功能:求解器 LP QP SOCP SDP GP 整数 SeDuMi Y Y Y Y E N SDPT3 Y Y Y Y E N Gurobi Y Y Y N N Y MOSEK Y Y Y Y Y Y GLPK Y N
2022-02-15 09:03:01 9527
原创 CVX用户指南之几何编程模式
几何程序(GP)是特殊的数学程序,可以使用变量的变化将其转换为凸形式。GP 的凸形式可以表示为 DCP,但 CVX 还提供了一种特殊模式,允许GP以其原生形式指定。CVX将自动执行必要的转换,计算数值解,并将结果转换回原始问题。要使用 GP 模式,您必须使用 cvx_begin gp 或 cvx_begin GP 命令开始 CVX 规范,而不是简单地cvx_begin。例如,在示例库中gp/max_volume_box.m 找到以下代码,该代码确定受各种面积和比率约束的最大体积箱子:cvx_beg
2022-02-14 17:30:31 1014
原创 CVX用户指南之半定编程模式
熟悉半定编程(SDP) 的人都知道,在上面关于集合成员的讨论中,使用集合semidefinite(n)的约束在实践中通常使用线性矩阵不等式(LMI)表示。例如,给定、约束表示;也就是说,即X为正半定。CVX 提供了一种特殊的SDP 模式,允许在 CVX 模型中使用 Matlab 的标准不等式运算符>=,<=表示LMI。为了使用它,人们只需在模型前以cvx_beginsdp或 cvx_beginSDP语句开始,而不是简单地cvx_begin。当 SDP 模式处于启用状态时,CV...
2022-02-14 17:01:30 1921
原创 CVX用户指南之基础
cvx_begin和cvx_end所有 CVX 模型前面必须有命令cvx_begin,并以命令cvx_end终止。所有变量声明、目标函数和约束都应介于两者之间。cvx_begin命令可能还包括一个以上的修饰符:cvx_begin quiet防止模型在求解时生成任何屏幕输出。cvx_beginsdp调用半定编程模式。cvx_begingp调用几何编程模式。这些修饰符可以在适当的时候组合使用;例如,cvx_beginsdp quiet 会调用 SDP 模式并静音求解器输出...
2022-02-14 09:32:16 6050
原创 CVX用户指南之快速入门
安装 CVX(请参阅安装)后,可以通过在 Matlab 脚本或函数中输入 CVX规范,或直接从命令提示符开始使用它。为了将 CVX 规范与周围的 Matlab 代码区分开来,在它们前面加上语句 cvx_begin后跟语句 cvx_end。规范可以包括任何普通的 Matlab 语句,以及用于声明原始和双重优化变量以及指定约束和目标函数的特殊 CVX 特定命令。在CVX规范中,优化变量没有数值;相反,它们是特殊的 Matlab 对象。这使得 Matlab 能够区分普通命令和 CVX 目标函数和约束。当 ..
2022-02-13 17:07:16 5503 1
原创 CVX用户指南之安装
支持的平台CVX 在 64 位版本的 Linux、Mac OSX 和 Windows 上受支持。我们通常的目标是支持不超过五年的 MATLAB 版本。但是,在Mac上,由于操作系统更改,窗口更短,需要使用更新版本的MATLAB。通常,我们强烈建议您使用可以获得的最新版本的 MATLAB。如果您浏览源代码,您可能会发现支持 Octave 的 CVX 的指示。然而:注意:不幸的是,对于普通终端用户(这意味着您!),Octave将无法正常工作。请不要浪费时间尝试!我们不知道Octave何时
2022-02-12 17:26:45 5623
原创 CVX用户指南之简介
什么是 CVX?CVX 是一个建模系统,用于构建和求解规范凸程序 (DCP)。CVX 支持多种标准问题类型,包括线性和二次型程序(LP/QPs)、二阶锥形程序 (SOCP) 和半定程序 (SDP)。CVX还可以解决更复杂的凸优化问题,包括许多涉及不可微分函数的问题,例如ℓ1范数。您可以使用 CVX 方便地表示和求解约束范数最小化、熵最大化、行列式最大化和许多其他凸程序。从 2.0 版本开始,CVX 还使用适当的具有整数功能的求解器求解混合整数规范凸程序 (MID
2022-02-12 16:57:23 3654
原创 CVX学习1
CVX:用于规范凸编程的 Matlab 软件CVX是一种基于Matlab的凸优化建模系统。CVX 将 Matlab 转换为建模语言,允许使用标准 Matlab 表达式语法指定约束和目标。例如,请考虑以下凸优化模型:下面的代码段生成并求解此模型的随机实例:m = 20; n = 10; p = 4;A = randn(m,n); b = randn(m,1);C = randn(p,n); d = randn(p,1); e = rand;cvx_begin va
2022-02-12 11:26:23 1659
原创 Summmary of Dereverberation techniques
Summmary of Dereverberation techniquesZhang FanReverberation is caused by multipath effect when sound wave propargates in a enclosure. The received reverberated signals contains three component...
2019-03-09 21:18:44 814
原创 读书笔记:C和指针6
第十六章:标准函数库 16.5 信号 程序中所发生的事件绝大多数都是由程序本身所引起的,例如执行各种语句和请求输入。但是,有些程序必须遇到的事件却不是程序本身所引发的。 一个常见例子就是用户中断了程序。如果部分计算好的结果必须进行保存以避免数据的丢失,程序必须预备对这类事件作出反应, 虽然它没有办法预测什么时候会发生这种情况。
2017-09-27 20:31:23 205
原创 读书笔记:C和指针5
第十五章:输入/输出函数 ANSI C 和早期C相比的最大优点之一就是它在规范里所包含的函数库。每个ANSI编译器必须支持一组规定的函数,并具备规范所要求的接口,而且按照规范的行为工作 ANSI编译器并未被禁止在他们的函数库的基础上增加其他函数。但是,标准函数必须标准所定义的方式执行。 如果你关心可移植性,只要避免使用任何非标准函数就可以。 15.1 错误报
2017-09-27 20:29:13 241
原创 读书笔记:C和指针4
第十四章 预处理器 编译一个C程序涉及很多步骤,其中第一个步骤被成为预处理阶段。C 预处理器在源代码编译之前对其进行一些文本性质的操作。它的主要任务是: 删除注释,插入被#include 指令包含的文件内容,定义和替换由#define 指令定义的符号以及确定代码的部分内容是否应该根据一些条件编译指令进行编译。 14.1 预定义符号 符
2017-09-27 20:26:30 197
原创 读书笔记:C和指针3
第十章 结构和联合 在C中,使用结构可以把不同类型的值存储在一起。 10.1 结构的基础知识 C 语言提供了两种聚合数据类型,数组和结构。 数组元素可以通过下标访问,这是因为数组的元素长度相同。但是结构中情况并非如此。由于一个结构的成员可能长度不同,所以不能使用下标来访问他们。 相反,每个成员都有自己的名字,它们
2017-09-27 20:25:07 244
原创 读书笔记:C和指针2
第六章:指针 6.1 内存和地址 高级语言提供的特性之一就是通过名字而不是地址来访问内存的位置。 这些名字就是我们所称的变量,名字和内存位置之间的关联并不是由硬件提供的,它是由编译器为我们实现的。 所有这些变量给了我们一种更为方便的方法来记住地址--硬件仍然通过地址访问内存位置。 6.2 值的类型并非值本
2017-09-27 20:22:51 276
《Principles of Robot Motion Theory, Algorithms, and Implementations》
2019-04-21
面向服务机器人,基于python NLTK实现自然语言处理example
2016-08-04
windows 讯飞语音听写和微软sapi c++ 实现的离在线语音识别
2016-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人