admm与one-passmulti-viewlearning

小花花108 小花花108     2022-08-09     679

关键词:

现在终于开始看论文了,机器学习基础部分的更新可能以后会慢一点了,当然还是那句话宁愿慢点,也做自己原创的,自己思考的东西。现在开辟一个新的模块----多视图学习相关论文笔记,就是分享大牛的paper,然后写出自己的反思,希望大家多多交流。

现在来说说周志华老师的opmv算法。

一摘要

:多视图学习已经成为机器学习非常重要的组成部分,很多得到的效果都比单视图学习要好的多,但是这些方法经常被用在小的和低维的数据集上,主要原因是因为这些算法都占用了,大量的计算内存。最近几年,这些算法有了长足的进步,比如每分钟在youtobe上更新的视频文件中包括视频,音频,和文本文件,要想对如此大的数据量进行分类。传统的多视图学习算法,可能行不通。所以周老师想出了opmv框架---一个不存储整个训练样本集,仅仅完成一次训练。这个方法是通过对不同视图的线性约束复合功能函数进行优化,然后周老师从理论上和经验上对这个算法进行论证。

二介绍

现在越来越多的数据都有两个视图,比如上文说的youtube视频,现在每天的新闻报道可能被写成好几种语言,还有我们以后发表的paper有txt content也有citation linkes。所以说多视图学习会有很大的用武之地的。

然后简要说了一些,多视图的发展历史和最近大牛提出的方法。比如Blum和Mitcgell在1998年提出的co-training算法。

下面我给出co-training算法的工作流程:

Opmv可以看成一个一般形式的在线ADMM优化框架,但是不同点是,以前的ADMM只考虑不变的线性约束,而opmv考虑的是可变的线性约束,比如Y=X+B,以前B是常数,先在变成Y=X+T,T是自变量,所以可以说:opmv包括ADMM?当然这是我猜测,所以不好说。哈哈。。关于ADMM我这里作个补充:

一:ADMM为Alternating Direction Method of Multipliers 交替方向乘子法的缩写,主要是为了求解大规模分布式凸优化问题。

二 凸函数。

2.1形如f(ax+by)<=af(x)+bf(y) 的f(X)函数 其中a+b=1。

2.2 凸函数表达式

    

三:ADMM求解最优化问题

    Min     f(X)+g(Z)

    s.t.    Ax+Bz=C,

        XC1 zC2

其中xRn,zRm,ARP*n,BRP*m CRP,f(X)g(X)都是属于凸函数。C1 C2属于非空集合。那么我们如何求解这个最优化问题呢,很多人说用拉格朗日乘子法吧,但是经过很多大牛的验证啊,乘子法没有我们下面说的优化方法好,下面我们来看看增量拉格朗日函数。

3.1增量拉格朗日函数

式子如下:

这其实就是在拉格朗日乘子法的基础上加了一个其中p是惩罚系数,||Ax+Bz-C||22是Ax+Bz-C向量的长度范数,就是内积相乘,在相加,最后开方。

我们可以把上个式子看成:

现在可以用迭代的方法分别对这个对偶问题求解:

求解步骤如下:

这样一直迭代下去,直到满足下列条件为止:

其中p和n表示样本的维度和样本量,阈值包含了绝对容忍度(absolute tolerance)和相对容忍度(relative tolerance),这个设置是很烦的,但是貌似大家都认为10-3貌似是比较靠谱的。、

ADMM算法就补充到这里了。

说到这里,one-pass的思想已经说完了,关于推导过程周老师已经推导的很详细了,下面给出他这篇文章的连接,大家自己研究然后互相交流。http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/acml15opmv.pdf

 

admm——交替方向乘子法

  ADMM(AlternatingDirectionMethodofMultipliers,交替方向乘子法)是一种优化算法,主要用于解决分布式、大规模和非光滑的凸优化问题。ADMM通过将原始问题分解为多个易于处理的子问题来实现优化。它结合了两种经典优化方法:梯... 查看详情

[algorithm]admm简明理解

问题来源在读论文的时候,遇到了ADMM(交替方向乘子法)算法,不明所以,于是查了一下,大概是一个凸优化算法,下面大概讲一下其原理和过程。简介交替方向乘子法(ADMM)是一种求解具有可分离的凸优化问题的重要方法,由... 查看详情

[ml]交替方向乘子法(admm)简明梳理

交替方向乘子法(ADMM)简明梳理本文对ADMM所涉及的一些数学知识进行简单的讲解,并在最后汇总,写出ADMM的基本形式.本文对推导过程酌情省略.拉格朗日乘子法给定二元函数(z=f(x,y))和约束条件(psi(x,y)=0),求二元函数(z=f(x,y))在约束条件... 查看详情

对偶上升法到增广拉格朗日乘子法到admm

对偶上升法增广拉格朗日乘子法 ADMM  交替方向乘子法(AlternatingDirectionMethodofMultipliers,ADMM)是一种解决可分解凸优化问题的简单方法,尤其在解决大规模问题上卓有成效,利用ADMM算法可以将原问题的目标函数等价的分解... 查看详情

⚡机器学习⚡交替方向乘数法(alternatingdirectionmethodofmultipliers,admm)

...s,QDA),发现运用到了交替方向乘数法(ADMM),就很迷。(关键是太菜)很多博主都是直接翻译或者搬运的,搜罗且了解了很多相关知识,那就来个大总结及其一些自己的想法吧 查看详情

admm算法在神经网络模型剪枝方面的应用

文章目录前言1.交替方向乘子法2.论文中的表述3.对论文中的公式进行推导4.代码流程5.主要函数实现6.densevs.prune(finetune)结束语前言  本篇博客记录一下自己根据对论文GRIM:AGeneral,Real-TimeDeepLearningInferenceFrameworkforMobileDevicesbasedonFin... 查看详情

文献阅读09期:基于admm方法的柔性负载实时定价

[文献阅读·能源]Loadshiftingofasupplier-baseddemandresponseofmulti-classsubscribersinsmartgrid[1]推荐理由:一般而言实时定价问题分为两个主体:电力供应商以及电力用户。多主体、多目标有时非合作博弈的场景,使得双层规划或是KK... 查看详情

cvxpy缁欑殑admm_example鎶ラ敊(代码片段)

鏍囩锛?ahref='http://www.mamicode.com/so/1/var'title='var'>var   pre   broadcast   err   鎶ラ敊   color   div   name   瑙e喅鏂规    x=Variable... 查看详情

admm算法求解一个简单的例子

求解下面的带有等式约束和简单的边框约束(boxconstraints)的优化问题:minx,y(x−1)2+(y−2)2s.t.0≤x≤3,1≤y≤4,2x+3y=5\\beginequation\\beginaligned\\min_x,y(x-1)^2+(y-2)^2\\\\s.t.0\\leqx\\leq3,\\\\1\\leqy\\leq4,\\\\2x+3y=5\\endaligned\\endequation%求解... 查看详情

多微电网计及碳排放的基于交替方向乘子法(admm)的多微网电能交互分布式运行策略研究(matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋... 查看详情

凸优化从入门到放弃(目录)

...算法(暂无)07-内点法(不等式约束优化算法)(暂无)08-ADMM算法(暂无)本篇教程采用BoydandVandenbergh 查看详情

模型推理谈谈为什么量化能加速推理(代码片段)

...#xff1a;《【模型推理】谈谈几种量化策略:MinMax、KLD、ADMM、EQ》、《【模型推理】谈谈模型量化组织方式》、《【模型推理】谈谈非线性激活函数的量化方式》&# 查看详情

模型推理谈谈非线性激活函数的量化方式(代码片段)

...#xff1a;《【模型推理】谈谈几种量化策略:MinMax、KLD、ADMM、EQ》、《【模型推理】谈谈模型量化组织方式》,里面对一些常用的量化算法及 查看详情

三.工具与市场-债券与债务股票与公司

    查看详情

LDAP 与 MYSQL .. JA-SIG CAS 与 LDAP 与 CAS 与 MySQL

】LDAP与MYSQL..JA-SIGCAS与LDAP与CAS与MySQL【英文标题】:LDAPvsMYSQL..JA-SIGCASwithLDAPvsCASwithMySQL【发布时间】:2012-12-0518:12:59【问题描述】:LDAP与MYSQL..JA-SIGCAS与LDAP与CAS与MySQL。现在我们在LDAP中有用户ID、密码和角色,并且正在使用CAS和Spr... 查看详情

LocalAlloc 与 GlobalAlloc 与 malloc 与 new

】LocalAlloc与GlobalAlloc与malloc与new【英文标题】:LocalAllocVsGlobalAllocVsmallocVsnew【发布时间】:2016-03-2311:07:46【问题描述】:我已经在各种链接上搜索过这个,但仍然存在疑问。我不明白LocalAllocvsGlobalAllocvsmallocvsnew内存分配的区别。... 查看详情

与 0 进行比较与与某个值进行比较是不是更快?

】与0进行比较与与某个值进行比较是不是更快?【英文标题】:Isitquickertocompareagainst0vscompareagainstavalue?与0进行比较与与某个值进行比较是否更快?【发布时间】:2019-07-1216:46:58【问题描述】:其中一个循环是否比另一个更快?... 查看详情

调整大小与 CenterCrop 与 RandomResizedCrop 与 RandomCrop

】调整大小与CenterCrop与RandomResizedCrop与RandomCrop【英文标题】:ResizeVsCenterCropVsRandomResizedCropVsRandomCrop【发布时间】:2020-08-0301:47:51【问题描述】:谁能告诉我上述函数在哪些情况下使用以及它们如何影响图像大小?我想调整CatVDog... 查看详情