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, ...
随机推荐
- 通过Ajax使用FormData对象无刷新上传文件
写在前面:本文说的这个方案有浏览器兼容性问题:所有主流浏览器的较新版本已经支持这个对象了,比如Chrome 7+.Firefox 4+.IE 10+.Opera 12+.Safari 5+,对兼容性比 ...
- sp_addlinkedserver '(null)' is an invalid product name
使用SSMS 2008客户端工具逆向生成了创建链接服务器的脚本时,在测试环境执行是报如下错误:'(null)' is an invalid product name. USE [master] GO ...
- Linq专题之提高编码效率—— 第三篇 你需要知道的枚举类
众所周知,如果一个类可以被枚举,那么这个类必须要实现IEnumerable接口,而恰恰我们所有的linq都是一个继承自IEnumerable接口的匿名类, 那么问题就来了,IEnumerable使了 ...
- [转载]java之yield(),sleep(),wait()区别详解
原文地址:http://dylanxu.iteye.com/blog/1322066 1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁 ...
- 从零自学Hadoop(04):Linux准备下
阅读目录 序 搭建环境 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 我们已经准 ...
- 烂泥:Postfix邮件服务器搭建之虚拟用户配置
virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...
- [python]爬虫学习(二)
---恢复内容开始--- #python2 import urllib2 #python3 import urllib.request html=urllib.request.urlopen('htt ...
- Linux svn的搭建与使用
Linunx svn的搭建与使........纯手打的.. 一.安装前的准备 1.1 配置yum 库 1)加载光盘 2)进入/etc/yum.repo.d目录 3)复制"rhel-debug ...
- Ubuntu搭建Ruby On Rail环境
受不了Ruby在Windows上的执行等待,转战至ubuntu linux下使用,为方便不同版本ruby的使用,采用了rvm安装Ruby on rails环境. 安装rvm //获取认证 gpg -- ...
- [WPF系列]-高级部分 需要区分的东东
ContentControl VS ContentPresenter What's the difference between ContentControl and ContentPresenter ...