ADMM与one-pass multi-view learning
现在终于开始看论文了,机器学习基础部分的更新可能以后会慢一点了,当然还是那句话宁愿慢点,也做自己原创的,自己思考的东西。现在开辟一个新的模块----多视图学习相关论文笔记,就是分享大牛的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,
X∈C1 z∈C2
其中x∈Rn,z∈Rm,且A∈RP*n,B∈RP*m C∈RP,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与one-pass multi-view learning的更多相关文章
- Wordpress Calendar Event Multi View < 1.4.01 反射型xss漏洞(CVE-2021-24498)
简介 WordPress是Wordpress基金会的一套使用PHP语言开发的博客平台.该平台支持在PHP和MySQL的服务器上架设个人博客网站.WordPress 插件是WordPress开源的一个应 ...
- [读论文]Shading-aware multi view stereo
如何实现refine的? 几何误差和阴影误差如何加到一起? 为了解决什么问题? 弱纹理或无纹理:单纯的多视图立体算法在物体表面弱纹理或者无纹理区域重建完整度不够高,精度也不够高,因此结合阴影恢复形状来 ...
- 多视图学习(multiview learning)
多视图学习(multi-view learning) 前期吹牛:今天这一章我们就是来吹牛的,刚开始老板在和我说什么叫多视图学习的时候,我的脑海中是这么理解的:我们在欣赏妹子福利照片的时候,不能只看45 ...
- Android 自定义View及其在布局文件中的使用示例(二)
转载请注明出处 http://www.cnblogs.com/crashmaker/p/3530213.html From crash_coder linguowu linguowu0622@gami ...
- 简单研究Android View绘制一 测量过程
2015-07-27 16:52:58 一.如何通过继承ViewGroup来实现自定义View?首先得搞清楚Android时如何绘制View的,参考Android官方文档:How Android Dr ...
- android.view.View
* This class represents the basic building block for user interface components. A View * occupies a ...
- SVO原理解析
最近空闲时间在研究Semi-Direct Monocular Visual Odometry(SVO)[1,2],觉得它值得写一写.另外,SVO的运算量相对较小,我想在手机上尝试实现它. 关于SVO的 ...
- {Reship}{Code}{CV}
UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下: https://netfiles.uiuc.edu/jbhuang1/www/resources/vision/in ...
- UIUC同学Jia-Bin Huang收集的计算机视觉代码合集
转自:http://blog.sina.com.cn/s/blog_631a4cc40100wrvz.html UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下: ...
- 计算机视觉与模式识别代码合集第二版two
Topic Name Reference code Image Segmentation Segmentation by Minimum Code Length AY Yang, J. Wright, ...
随机推荐
- javascript - 享元模式
享元模式笔记 运用共享技术有效的支持大量的细粒度对象,避免对象间拥有相同内容造成多余的开销 享元模式主要还是对其数据.方法共享分离,它将数据和方法分成内部数据.内部方法和外部数据.外部方法. 内 ...
- html iframe 元素之间的调用
html iframe 元素之间的调用一.简介 一般需要引入一个独立页面的时候,我们会使用iframe.在业务需要的时候,我们需要在父页面与iframe页面之间进行交互.交互的时候,我们就需要使 用到 ...
- 使用GDB调试程序
GDB(GNU Debuger)是Linux中的一个功能强大的调试器.GDB可以让你查看程序的内部结构,打印变量值,设置断点,单步调试源码,运行时修改变量值,路径跟踪,线程切换,显示汇编代码等. 编译 ...
- 博客代码美化(SyntaxHighlighter)
这篇博文主要讲解自己使用SyntaxHighlighter对代码进行美工中遇见的问题以及如何使用SyntaxHighlighter? 首先来看看SyntaxHighlighter对代码美工的效果吧! ...
- 电信行业的BI应用
截至2015年年底,我国三大运营商的移动用户数达到13.1亿户,4G /3G用户累计达到8.09亿户,再次创下新高.从三大运营商的年度财报来看,在具体业务方面,三大运营商的数据流量业务带来的收入均已超 ...
- 阅读Real-Time O(1) Bilateral Filtering 一文的相关感受。
研究双边滤波有很长一段时间了,最近看了一篇Real-Time O(1) Bilateral Filtering的论文,标题很吸引人,就研读了一番,经过几天的攻读,基本已理解其思想,现将这一过程做一简单 ...
- 俄罗斯方块(Win32实现,Codeblocks+GCC编译)
缘起: 在玩Codeblocks自带的俄罗斯方块时觉得不错,然而有时间限制.所以想自己再写一个. 程序效果: 主要内容: 程序中有一个board数组,其中有要显示的部分,也有不显示的部分,不显示的部分 ...
- String类的equals是如何进行字符串比较的
先看一段代码: public static void main(String[] args) { String a = new String("abc"); String b = ...
- 深入浅出SQL笔记1–数据和表
1.数据库的概念及组成 数据库是保存表和其他相关SQL结构的容器. 数据库是由各种各样的表构成的,一个数据库里面的表总是存在相互联系的关系. 数据库内的信息组成了表,表示由行和列构成的,行是一组能够描 ...
- 面试题:return和finally执行
创建一个包含return和finally的方法:(如下所示) public class Demo { public int get() { int x=1; try { x++; return x; ...