UA MATH567 高维统计II 随机向量6 亚高斯随机向量的应用: 半正定规划

半正定规划(semidefinite programming, SDP)是凸优化的一个分支:

max⁡X⟨A,X⟩s.t.X≥0,⟨Bi,X⟩=bi,i=1,⋯,m\max_X \langle A, X \rangle \\ s.t. \ X \ge 0,\langle B_i,X \rangle =b_i, i =1,\cdots,mXmax​⟨A,X⟩s.t. X≥0,⟨Bi​,X⟩=bi​,i=1,⋯,m

其中X≥0X \ge 0X≥0表示XXX半正定,
⟨A,X⟩=tr(ATX)=∑i,j=1nAijXij\langle A, X \rangle = tr(A^TX) = \sum_{i,j=1}^n A_{ij}X_{ij}⟨A,X⟩=tr(ATX)=i,j=1∑n​Aij​Xij​

显然目标函数是线性函数、可行域是凸集(所有的半正定矩阵形成的集合是凸集)与凸多面体(⟨Bi,X⟩=bi,i=1,⋯,m\langle B_i,X \rangle =b_i, i =1,\cdots,m⟨Bi​,X⟩=bi​,i=1,⋯,m)的交集,所以可行域也是凸集,因此这是一个凸优化。尽管这是一个凸优化,但它的求解难度也是非常大的,因为决策变量个数是随着XXX的维数平方增长的,比如XXX是100×100100 \times 100100×100的矩阵,决策变量就有一万个,所以半正定规划很容易变成高维问题。


现在我们想用SDP来解决一个整数规划(integer programming)的问题,记这个问题为(IP):

max⁡xxTAxx=(x1,⋯,xn),xi=±1,AT=A\max_x x^TAx \\ x = (x_1,\cdots,x_n),x_i = \pm 1,A^T = Axmax​xTAxx=(x1​,⋯,xn​),xi​=±1,AT=A

解决这个问题最粗暴的思路是遍历所有可能的xxx的取值,一共有2n2^n2n种,显然这是一个NP算法,于是我们需要设计一些更优的算法来降低复杂度。

一种可行的方法是做semidefinite relaxation,考虑
max⁡∥Xi∥2=1,i=1,⋯,n∑i,j=1nAij⟨Xi,Xj⟩\max_{\left\| X_i \right\|_2 = 1,i=1,\cdots,n} \sum_{i,j=1}^n A_{ij} \langle X_i,X_j \rangle∥Xi​∥2​=1,i=1,⋯,nmax​i,j=1∑n​Aij​⟨Xi​,Xj​⟩

这个问题可以看成是(IP)的一种松弛,接下来我们把这个relaxation改写为SDP,定义X=[Xij],Xij=⟨Xi,Xj⟩X = [X_{ij}],X_{ij}=\langle X_i,X_j \rangleX=[Xij​],Xij​=⟨Xi​,Xj​⟩,于是relaxation等价于(SDP)
max⁡X≥0⟨A,X⟩s.t.Xii=1=⟨Bi,X⟩\max_{X \ge 0}\langle A, X \rangle \\ s.t. X_{ii}=1 =\langle B_i,X \rangle X≥0max​⟨A,X⟩s.t.Xii​=1=⟨Bi​,X⟩

其中BiB_iBi​是selection matrix,只有第iii行第iii列的元素为1,其他元素为0,作用是选择某矩阵第iii行第iii列的元素。记INT(A)INT(A)INT(A)为整数规划的解,记SDP(A)SDP(A)SDP(A)为它的semidefinite relaxation的解,根据relaxation的性质

INT(A)≤SDP(A)INT(A) \le SDP(A)INT(A)≤SDP(A)

定理 INT(A)≤SDP(A)≤2K×INT(A),K≤1.783INT(A) \le SDP(A) \le 2K \times INT(A),K \le 1.783INT(A)≤SDP(A)≤2K×INT(A),K≤1.783

下界是自然成立的,但上界的证明极其复杂。为了证明这个定理,我们需要Grothendieck不等式,这里先叙述一下,下一篇给出Grothendieck不等式的证明。

Grothendieck不等式
AAA是m×nm \times nm×n的实矩阵,xi,yj∈{−1,1}x_i,y_j \in \{-1,1\}xi​,yj​∈{−1,1},假设∣∑i,jAijxiyj∣≤1|\sum_{i,j}A_{ij}x_iy_j| \le 1∣∑i,j​Aij​xi​yj​∣≤1,则∀H\forall H∀H(Hilbert space),∀ui,vj∈H\forall u_i,v_j \in H∀ui​,vj​∈H,∥ui∥=∥vj∥=1\left\| u_i \right\|=\left\| v_j \right\|=1∥ui​∥=∥vj​∥=1,
∣∑i,jAi,j⟨ui,vj⟩∣≤K,K≤1.783|\sum_{i,j}A_{i,j}\langle u_i,v_j \rangle| \le K,K \le 1.783∣i,j∑​Ai,j​⟨ui​,vj​⟩∣≤K,K≤1.783

推论 假设AAA是对称矩阵,xi∈{−1,1}x_i \in \{-1,1\}xi​∈{−1,1},假设∣∑i,jAijxixj∣≤1|\sum_{i,j}A_{ij}x_ix_j| \le 1∣∑i,j​Aij​xi​xj​∣≤1,则∀H\forall H∀H(Hilbert space),∀ui,vj∈H\forall u_i,v_j \in H∀ui​,vj​∈H,∥ui∥=∥vj∥=1\left\| u_i \right\|=\left\| v_j \right\|=1∥ui​∥=∥vj​∥=1,
∣∑i,jAi,j⟨ui,vj⟩∣≤2K,K≤1.783|\sum_{i,j}A_{i,j}\langle u_i,v_j \rangle| \le 2K,K \le 1.783∣i,j∑​Ai,j​⟨ui​,vj​⟩∣≤2K,K≤1.783

说明
从Grothendieck不等式到它的推论,我们只需要说明∣∑i,jAijxixj∣≤1|\sum_{i,j}A_{ij}x_ix_j| \le 1∣∑i,j​Aij​xi​xj​∣≤1可以推出∣∑i,jAijxiyj∣≤2|\sum_{i,j}A_{ij}x_iy_j| \le 2∣∑i,j​Aij​xi​yj​∣≤2,然后根据Grothendieck不等式就可以得到推论了。

根据这个推论,我们可以直接得到上面的定理:
SDP(A)≤2K×INT(A),K≤1.783SDP(A) \le 2K \times INT(A),K \le 1.783SDP(A)≤2K×INT(A),K≤1.783

UA MATH567 高维统计II 随机向量6 亚高斯随机向量的应用: 半正定规划相关推荐

  1. UA MATH567 高维统计III 随机矩阵10 亚高斯矩阵的应用:协方差估计与聚类问题的样本量需求计算

    UA MATH567 高维统计III 随机矩阵10 亚高斯矩阵的应用:协方差估计与聚类的样本量 如果XXX是零均值的随机变量,则Σ=EXXT\Sigma = EXX^TΣ=EXXT,假设{Xi}i=1 ...

  2. UA MATH567 高维统计III 随机矩阵7 亚高斯矩阵的应用:Stochastic Block Model与社区发现 问题描述

    UA MATH567 高维统计III 随机矩阵7 亚高斯矩阵的应用:Stochastic Block Model与社区发现 我们来介绍亚高斯矩阵的一个应用:评估社区发现算法的效率.Community ...

  3. UA MATH567 高维统计III 随机矩阵6 亚高斯矩阵的范数

    UA MATH567 高维统计III 随机矩阵6 亚高斯矩阵的范数 在前五讲的理论基础上,我们现在开始正式讨论随机矩阵.假设AAA是一个m×nm \times nm×n的随机矩阵,它的元素AijA_{ ...

  4. UA MATH567 高维统计II 随机向量5 亚高斯随机向量

    UA MATH567 高维统计II 随机向量5 亚高斯随机向量 这一讲我们将亚高斯分布推广到高维. 亚高斯随机向量 XXX是一个nnn维随机向量,称XXX是亚高斯随机向量如果∀x∈Sn−1\foral ...

  5. UA MATH567 高维统计II 随机向量10 Grothendieck不等式的证明 版本二:kernel trick

    UA MATH567 高维统计II 随机向量10 Grothendieck不等式的证明 版本二:kernel trick 在介绍亚高斯随机向量的更多应用之前,我们先简单介绍一下核方法(kernel t ...

  6. UA MATH567 高维统计II 随机向量3 常见的高维随机向量的分布

    UA MATH567 高维统计II 随机向量3 常见的高维随机向量的分布 Spherical Distribution Symmetric Bernoulli Distribution 正态分布 Fr ...

  7. UA MATH567 高维统计II 随机向量8 图的Max-cut问题 0.5近似算法的运行时间分析

    UA MATH567 高维统计II 随机向量8 图的Max-cut问题 0.5近似算法的运行时间分析 我们之前讨论了图的max-cut问题的0.5近似算法,也就是给定一张图,按掷硬币的概率决定是否切开 ...

  8. UA MATH567 高维统计II 随机向量11 kernel的构造 用内积替换反三角函数

    UA MATH567 高维统计II 随机向量11 kernel的构造 用内积替换反三角函数 我们来做上一讲剩下的kernel的构造,完成Grothendieck不等式的证明中的kernel trick ...

  9. UA MATH567 高维统计II 随机向量9 图的Max-cut问题 0.878近似算法

    UA MATH567 高维统计II 随机向量9 图的Max-cut问题 0.878近似算法 上一讲我们用整数规划对MAX-CUT问题建了模,CUT(G,x)=12∑xixj=−1Aij=14∑i,jA ...

最新文章

  1. 【数据结构】之算法和算法评价
  2. 第三次学JAVA再学不好就吃翔(part87)--Arrays工具类的asList方法
  3. 公众号滑动图代码_如何实现微信公众号文章“滑动查看更多”
  4. 使用Java查询Sql Server数据库
  5. redis 队列_Redis与Rabbitmq消息队列的区别
  6. windows10防Linux,用户禁用Defender提升Win10 Linux子系统性能
  7. zooInspector下载
  8. 中国地图矫正中的误差
  9. 关于博客的书写——读刘末鹏博客学习方法篇有感
  10. 如何使用python下载B站视频
  11. 使用ASP.NET.MVC制作手机接收验证码
  12. 如何查询网站IP地址
  13. error怎么开机 fan_电脑开机黑屏提示CPU Fan Error怎么解决?
  14. 牛投客- 最新热门炒股讲解分享
  15. 开会时领导让提建议应该要怎么回答?
  16. IIS 动态建站--因权限问题被拒绝访问的解决方案
  17. .NET忠实粉丝们,请进
  18. ubuntu14.04 下flash_tool问题
  19. 第2章第1节:文本排版技巧:选择适当的字体和字号 [PowerPoint精美幻灯片实战教程]
  20. 21. 反爬工程师都会用的手段,IP限制反爬 - 爬虫训练场

热门文章

  1. 【数据平台】Eclipse+Scala远程开发调试关于hostname的问题
  2. Leetcode 215. 数组中的第K个最大元素 解题思路及C++实现
  3. Latex博士论文格式版本(在CASthesis基础上作修改)
  4. Ubuntu中Netbeans的中文问题彻底解决
  5. HTML5实战—canvas绘图之贝塞尔曲线
  6. Unity学习笔记2 简易2D横版RPG游戏制作(二)
  7. hibernate同时插入两条相同数据(偶尔)原因调查
  8. 用C语言实现控制台模拟显示时
  9. STM32 UART串口驱动程序
  10. Ubuntu18.04下安装RRStudio