什么是co-training
首先先认识下什么是co-training:
在计算机视觉中,我们都知道训练一个分类器的时候,我们需要两类样本,分别是正样本和负样本。监督训练又可以成为off-line training,就是提前准备好已经标注过样本,然后对分类器进行训练,最后将训练好的分类器对需要进行分类的东西进行分类。而另一个是online training. 刚开始的时候我们用一些标注过的样本对分类器进行初始化训练。这样分类器就有一定的效果,然后在这之后对未标注的样本进行分类,之后利用相关的方法识别出正样本和负样本,然后再过程中不断改进分类器,从这个过程中不断提高分类器的分类效果。
co-training最早是有Blum he Mitchell在1998年提出的Combining labeled and unlabeled data with co-training
早期主要用于1:Web-page classification (Page text\ Hyperlink text))
2:bilmetric recognition systems(appearance and voice)
在物体检测中,co-training主要应用于监控中车辆检测和移动物体的识别。
Co-training是目前很流行的一种半指导机器学习的方法,它的基本思想是:构造两个不同的分类器,利用小规模的标注语料,对大规模的未标注语料进行标注的方法.Co-training方法最大的优点是不用人工干涉,能够从未标注的语料中自动学习到知识。Co-training方法,是有指导和无指导机器学习两者的一个折中办法,它的原则是:在不牺牲性能的前提下,尽量多的使用未带标数据,它从一个小规模的带标的语料库开始,同时使用大规模的未带标语料来进行学习。Co-training算法应用于属性存在天然可分割性的数据集,即数据集的某些属性能够在某种角度上描绘数据的某种特征,而这些属性不是唯一的,有许多不同的属性能够将同样的特征从不同的角度描绘出来,这样的数据属性集就具有天然可分割性,忽视了数据集特性的可分割性.Co-training算法则利用两个不同学习器在数据集的/分割的特性集上独立学习,并结合两个学习器的学习结果作出最后学习结论,这样来达到降低错误率的目的.
Co-training的描述如下:
- 从两个view是看一个分类问题;
- 根据不同的角度分别建立一个模型,在标注集下训练每个模型;
- 标注未标注的句子,然后找出每个模型都比较高自信度标注的句子;
- 以不同的方式挑出这些高自信度的句子;
- 把这些句子加入到训练集中,迭代这个过程,直到未标注数据耗尽;
什么是co-training的更多相关文章
- hdu 4946 2014 Multi-University Training Contest 8
Area of Mushroom Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- 2016 Multi-University Training Contests
2016 Multi-University Training Contest 1 2016 Multi-University Training Contest 2 2016 Multi-Univers ...
- 2016 Multi-University Training Contest 2 D. Differencia
Differencia Time Limit: 10000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- 2016 Multi-University Training Contest 1 G. Rigid Frameworks
Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- ACM: Gym 101047K Training with Phuket's larvae - 思维题
Gym 101047K Training with Phuket's larvae Time Limit:2000MS Memory Limit:65536KB 64bit IO F ...
- The Solution of UESTC 2016 Summer Training #1 Div.2 Problem C
Link http://acm.hust.edu.cn/vjudge/contest/121539#problem/C Description standard input/output After ...
- 2012 Multi-University Training Contest 9 / hdu4389
2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...
- 2014 Multi-University Training Contest 9#11
2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others) ...
- 2014 Multi-University Training Contest 9#6
2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...
- 2016 Multi-University Training Contest 1
8/11 2016 Multi-University Training Contest 1 官方题解 老年选手历险记 最小生成树+线性期望 A Abandoned country(BH) 题意: 1. ...
随机推荐
- Xcode模拟器和真机生成的日志查看(转载)
在进行实际代码开发的过程中,我们会生成一些plist文件,但是如何在调试过程中查看这些plist文件是否被成功生成以及生成的内容是否正确? 如果查看模拟器生成的日志和真机生成的日志到底如何查看? DE ...
- 安装和配置JDK,并给出安装、配置JDK的步骤。
1.从orcal网站下载安装包. 2.安装目录不要有汉字或空格 3.配置环境变量,增加·JAVA_HOME=jdk的全路径,修改path+%JAVA_HOME%\bin;%JAVA_HOME%\jre ...
- A Popup Progress Window
一个包含bar和取消而且不需要资源弹出窗口 1.构造函数 CProgressWnd(); CProgressWnd(CWnd* pParent, LPCTSTR strTitle, BOOL bSmo ...
- linux编译安装MySQL
最近就想搞搞hadoop,然后装个MySQL,测试一下那个sqoop. MySQL这种东西,既然是开放源码的,那就源码安装吧. 下面是我的测试环境说明: VMware10+Ubuntu14.04 Ky ...
- 烂泥:KVM虚拟机windows系统增加硬盘
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前一篇文章介绍了有关linux系统添加硬盘的方法,这次我们来介绍有关windows系统添加的相关步骤. 其实linux和windows添加的硬盘的方法都 ...
- 如何去设计一个自适应的网页设计或HTMl5
如何去设计一个自适应的网页设计或HTMl5 如今移动互联网随着3G的普及,越来越火爆,更多需求跟随而来!APP应用市场和APP应用数量成倍成倍的增长!从而给移动互联网带来新的挑战! 移动设备正超过桌面 ...
- Linux command’s Array
#数组的声明与遍历 animals=("a dog" "a cat" "a fish") #wrong ways to use this f ...
- Codeforces Round #370 (Div. 2)B. Memory and Trident
地址:http://codeforces.com/problemset/problem/712/B 题目: B. Memory and Trident time limit per test 2 se ...
- Linux命令学习-date
date命令可以用来显示和修改系统日期时间,注意不是time命令. 1.在命令行输入date显示当前时间 [root@vm4 logs]# dateSat Nov 22 00:00:02 CST 20 ...
- C# using 三种使用方式 C#中托管与非托管 C#托管资源和非托管资源区别
1.using指令.using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到. ...