割线法求解过程_求解稀疏优化问题2——临近点方法+半光滑牛顿法

这篇文章是我之前一篇文章的兄弟篇,没看过的可以看下面这个。

邓康康:求解稀疏优化问题——半光滑牛顿方法​zhuanlan.zhihu.com
39f767d2a15178cf13b674edd3f4e4d1.png

我们考虑的问题仍然是如下的一般问题:

其中

,并且
特别大;
  • 表示一个凸可微函数,例如
  • 表示一个闭真凸函数,一般为稀疏正则函数,比如 LASSO:
    ,Fused LASSO,Clustered LASSO等

通过引入变量

,我们先把(P)转化为约束问题

于是我们得到(P)的对偶问题为:

在之前的那篇文章中,我提到了怎么利用增广拉格朗日方法(ALM)去求解对偶问题(D),该方法中的子问题采用的是半光滑牛顿法。 主要idea大概分为三步:
  1. 将原问题转化为对偶问题
  2. 利用增广拉格朗日方法求解对偶问题
  3. 子问题采用半光滑牛顿法

主要代价在于半光滑牛顿法,而由于非光滑函数

的稀疏性,导致子问题中的Jacobian矩阵也是稀疏的,进而大大降低了该方法的计算量。本质上,这个方法是一个应用于对偶问题上的增广拉格朗日方法。这篇文章我们换个角度,从原始问题(P)出发去设计算法。

在我的另一篇文章中

邓康康:原始对偶角度下的几类优化方法​zhuanlan.zhihu.com

里面讲到了:

对偶问题上的临近点方法等价于原问题上的增广拉格朗日方法。

而对偶问题的对偶问题是原问题。所以我们是不是有,

原始问题上的临近点方法等价于对偶问题上的增广拉格朗日方法?

所以这篇文章我们来讲述临近点方法应用到原始问题。参考的是孙老师的两篇文章,见文章末尾的参考文献。


一、邻近算子和Moreau Envelope

首先,我给出一些需要用到的一些定义和性质。

定义

1.临近算子

2. Moreau envelope

性质
  1. 是光滑函数,并且它的梯度为:
  2. Moreau分解:
  3. Moreau envelope分解:

二、临近点方法求解原问题

首先,临近点方法有如下迭代形式:

其中

表示罚参数。现在关键在于这个子问题怎么求?这要是没有
就好了,直接一个临近算子就搞定。 既然不好求,那我们就变成对偶问题去看看。首先对(1)做变量替换,转化为约束问题:

构建拉格朗日函数:

那么其对偶问题为:

我们最终要求的就是对偶问题(D.1)。需要说明一下,这里的原始问题(P.1)和对偶问题(D.1)是针对临近点方法的子问题而言的。我们来看一下对偶问题(D.1)的目标函数

的表达式:

其中第一部分关于

的问题是一个临近算子,最后一个等式就是将
的临近算子表达式代入。显然上式看起来很复杂,接下来我们来简化上式:

第一个等式用到了定义2,第二个等式用到了性质3。

最终我们将对偶问题(D.1)转化为如下问题:

定义

为:

这个函数跟 邓康康:求解稀疏优化问题1——增广拉格朗日方法+半光滑牛顿方法

中的函数一模一样。

求到了对偶变量

之后,最终我们是要去得到
. 在式子(3)中我们知道二者的关系是:

综合一下最终的迭代过程为:

其中

问题的求解采用的是半光滑牛顿法,具体的jacbi矩阵怎么求,稀疏性怎么利用参考下面这篇文章
邓康康:求解稀疏优化问题1——增广拉格朗日方法+半光滑牛顿方法​zhuanlan.zhihu.com
39f767d2a15178cf13b674edd3f4e4d1.png

三、半光滑牛顿法求解对偶问题(D.1)

根据上面的推导,我们知道求解对偶问题(D.1)等价于求解

因为上述问题是个凸问题,我们只要找到梯度等于0的点即可:

首先根据

是个强凸函数,所以其共轭
是光滑的,再结合性质1,我们知道
是一个光滑函数,其梯度表达式为:

第一个等式用到了性质1,第二个等式用到了性质2。这里说一下为什么是半光滑牛顿法,因为

虽然函数光滑,但临近算子的存在导致这个函数的梯度不是光滑的。

有了梯度之后,我们来求解其广义Jacobian矩阵。

第一部分,

通常很简单,比如二范数的平方。因此求二阶导也不需要什么计算量。关键的地方在于计算后面这部分。当
是稀疏正则的时候,我们发现它的临近算子的导数通常是稀疏的。举例1范数正则,当
,其临近算子的导数
是一个对角矩阵,且对角元为:

这样的话,(8)的后面这部分,我们只需要计算由非零元对应矩阵

的列构成的子矩阵相乘即可,当非零元较少的时候,这个计算量是很小的。

最后我们给出半光滑牛顿法的迭代过程:

其中

半光滑牛顿法迭代完之后,令

.这样就完成了临近点方法的第k次迭代。

再说一下:(5)是我们的外迭代,也就是临近点方法求解原问题。而(8)是用半光滑牛顿法求解(5)中的第一个子问题。Over!

二、总结

最后梳理下这篇文章的idea:

  1. 临近点方法求解原问题
  2. 将子问题转化到对偶形式
  3. 半光滑牛顿法求解对偶问题
  • 在之前那篇文章中,增广拉格朗日方法中的罚参数就对应于这里临近点方法的罚参数。二者的迭代是一样的,只不过在参数的选择和收敛性分析方面会有不同。
  • 不同角度理解问题,得到不同的方法,虽然本质上是一样的,但由此带来的延伸就不一样了,在增广拉格朗日方法和临近点方法上的改进可以完全不同。

欢迎关注我的专栏

最优化理论和一阶方法​zhuanlan.zhihu.com
08438235a9599249f8301247a88fa0b4.png

详细内容和理论证明可以看孙德锋老师主页:

知乎 - 安全中心​www.polyu.edu.hk

参考文献

[1] Zhang Y, Zhang N, Sun D, et al. A Proximal Point Dual Newton Algorithm for Solving Group Graphical Lasso Problems[J]. arXiv preprint arXiv:1906.04647, 2019.

[2] Lin M, Sun D, Toh K C, et al. A dual Newton based preconditioned proximal point algorithm for exclusive lasso models[J]. arXiv preprint arXiv:1902.00151, 2019.

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

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

相关文章

html 树形图可拖拽,HTML5拖拽API实现vue树形拖拽组件

因业务场景需要一个可拖拽修改节点位置的树形组件,因此动手撸了一个,乘此机会摸了一把html5原生拖拽。近期有时间将核心部分代码抽出,简单说下实现方式。1.树形结构-组件递归使用树形结构非常简单,tree组件作为父组件,…

jmeter如何定位网络延时_JMeter用户定义变量和properties变量高级使用

Jmeter有个配置元素叫做用户自定义变量(英文名称是UserDefinedVariables)而我们提到的vars即是Variables的简写。 之前我们也说到过Jmeter的脚本中(jsr223sampler或者beanshell编写的脚本)使用varsput和varsget的操作(varsget和put的操作仅在threadgroup测试组线程中执行&#…

jQuery中的几个模块总结

Query插件,以备并希望在前端方面有所长进。请批评指正。 一,类型判断全解 JQuery判断类型扩展方法:$.type() 1 /*type: function( obj ) { 2 if ( obj null ) { 3 return obj ""; 4 } …

python实现连续数列相加_技术 | Python经典面试题解析实现斐波那契数列

黑马程序员微信号:heiniu526传智播客旗下互联网资讯,学习资源免费分享平台大家在面试过程中经常会考到斐波那契数列,斐波那契数列(Fibonacci)最早由印度数学家Gopala提出,而第一个真正研究斐波那契数列的是意大利数学家 Leonardo …

广西2021高考成绩位次查询,2020年广西高考一分一段表及高考位次成绩排名查询(理科+文科)...

一、2020年广西高考一分一段表查询排名方法广西招办(考试院)会公布的省市高考每一分分数的考生数额统计表就是我们所说的——高考“一分一段表”,其显示出每一分的分数值全省考生有多少名,就可以让考生估算出自己的排名位次。2020年广西高考一分一段表排…

台式计算机单核与双核,什么是单核cpu、双核cpu 单核cpu和双核cpu的区别是什么...

在买电脑的时候,我们经常会发愁,究竟是买单核cpu好,还是买双核cpu比较好,尤其是面对售货员把单核cpu电脑和双核cpu电脑都可以夸的天花乱坠的时候,我们更糊涂了,究竟买哪种好呢?针对这种情况,小…

美国计算机生物学要求,美国大学CS专业分支生物信息学和计算生物学专业 Bioinformatics and Computational Biology介绍...

美国留学申请美国大学计算机专业(CS)的学生非常多。美国大学CS专业的研究分支也非常 多,不同分支对学生的要求也会不同,因此,学生们要根据自己的条件选择适合自己的研究方向。下面主要为大家介绍的是美国大学CS专业分支生物信息学和计算生物学…

Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介

【注】该系列文章以及使用到安装包/测试数据 可以在《倾情大奉送--Spark入门实战系列》获取 1、机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能&#xff0c…

计算机基础cpu知识,CPU基础知识: DIY装机小白必看的CPU知识扫盲

CPU也就是中央处理器,全拼为Central Processing Unit,在计算机中可以比喻成人的大脑。它是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。下面华强电子网的小编分享一…

mvc html validator,ASP.NET MVC实现Validation验证器扩展

今天介绍在ASP.NET MVC实现Validation验证器扩展,通过使用Controller验证并不是最好的方法:验证过于分散,容易造成重复代码,不利于维护与扩展,因此本节将使用MVC默认绑定器(DefaultModelBinder)中包含了验证架构,并实现Validation验证器扩展&…

自定义列表视图

通过继承BaseAdapter写一个子类,可以创建自定义列表视图: public class MyListAdapter extends BaseAdapter { private LayoutInflater mInflater;//声明一个LayoutInflater类变量 private Context mContext;//声明一个Context类变量 priva…

springmvc请求返回一个字符_SpringMVC系列之Web利器SpringMVC

课程简介:课程目标:了解SpringMVC和Spring的关系,能够使用SpringMVC框架开发自己的Web应用。整合Spring , SpringMVC , MyBatis搭建项目开发环境,理解三层架构和MVC模式适用人群:适合对Java基础知识应用自如&#xff0…

一次完整较为渗透过程

步骤一: 利用阿D浏览器通过https://s.bt.gg 注入关键字扫描发现注入点: http://www.rqyl.gov.cn/*****.php?ID153 用啊D跑不出账号密码 步骤二: 手工注入http://www.rqyl.gov.cn/*****.php?ID153 and 11 、and12出错 猜字段ht…

计算机网络线路争用,计算机网络系统集成复习要点

计算机网络系统集成复习要点计算机网络系统集成复习要点1.在信息领域,对于系统集成一般分为软件集成、硬件集成和网络系统集成。2.按网络覆盖范围的大小,将计算机网络分为局域网(LAN)、城域网(MAN)、广域网(WAN)和互联网。3. 计算机网络拓扑结构是指一个…

v380pro设备连接失败_天猫精灵可以连接台式电脑使用吗?需要什么东西? 安装操作是哪几个步骤? 最好有图片解说!...

使用语音将天猫精灵调到【蓝牙配对】;打开电脑的蓝牙适配界面,让电脑找到天猫精灵,稍等片刻,点击【使用远程装置的扬声器聆听来自此PC的音频】后的连接;最后调整音量即可。以下是详细介绍:1、对天猫精灵说【…

IDE-Ecplise-代码注释 模版 编码规范 配色

说明: 代码注释主要用于方便代码后期维护,编码规范,增加代码阅读性和维护性。因网上看到的很多博客中片段局多,故整理后重写一篇,方便交流学习。 先看下加过注释模版后的效果。如上图所示,创建类&#xff0…

个人信息管理系统代码_学生信息管理系统(springboot + vue)

学生信息管理系统零、基础项目为前后分离项目1、前端(front-end)基于 vue-admin-template 开发2、后端(rear-end)Jdk8Maven3MySQL5.7SpringBoot2SQLYog一、功能模块图图片.png二、系统预览1、登录登录.png2、首页首页.png3、查看学生信息查看学生信息.png4、编辑学生信息编辑学…

苹果手机6s运营商在哪里显示无服务器,iPhone6s信号很弱或无服务如何解决【解决方法】...

很多果粉都遇到过自己的手机常常“无服务”或者信号很弱的情况。 iphone6s 信号很弱或无服务怎么办?iPhone手机信号不好的原因有很多,排除SIM卡,手机本身硬件故障等问题,你可以尝试以下方法“修复”你的手机信号问题。1、开关飞行…

72年属鼠48岁有一灾2020_李半仙推算:1972年虚岁48岁属鼠人,2020年干什么最能发财??...

李半仙推算:1972年虚岁48岁属鼠人,2020年干什么最能发财??生肖属鼠的朋友,在未来,喜事接二连三,属鼠人能够得到财神赐福,一路大发特发,很快就会有发财致富的商机,加上属鼠…

vue怎么插入接口demo_前端学起来特别吃力,新人入前端怎么学?

最近知乎收到一些问题,问前端学起来吃力,连续更新几次回答的比较全了。现在整理下分享给掘金的小伙伴们。原知乎问题:前言前端工作两年多。大部分前端原理、框架都能完全运用。工作中几乎遇不到解决不了的问题(除了那些恶心无法实现的需求&am…