Co-Training vs Self-Training

首先,在实际做classification的场景中,经常会遇到只有少量的labeled data而更多的data都是unlabeled 的情况。co-training和self-training这两个算法即是用来解决这样情况的。

 

下面分别描述这两种算法:

1.Self-training:

用已有的Labled data先建立一个分类器,建好之后用它去estimate那些unlabeled的data.

之后,之前的labeled data加上新estimate出来的 “pseudo-labeled” unlabeled data一起,再train出来一个新的分类器。

重负上述步骤,直到所有unlabeled data都被归类进去。

2.Co-training:

used in special cases of the more general multi-view learning.

即当要training的数据,可以从不同的views来看待的时候。举个例子,在做网页分类(web-page classification)这个模型时候,feature的来源有两个部分,一是URL features of the websites 记为 A, 二是text features of the websites 记为 B.

co-training的算法是:

• Inputs: An initial collection of labeled documents and one of unlabeled documents.

• Loop while there exist documents without class labels:

        • Build classifier A using the A portion of each document.

        • Build classifier B using the B portion of each document.

        • For each class C, pick the unlabeled document about which classifier A is most confident that its class label is C and add it to the collection of labeled documents.

         • For each class C, pick the unlabeled document about which classifier B is most confident that its class label is C and add it to the collection of labeled documents.

          • Output: Two classifiers, A and B, that predict class labels for new documents. These predictions can be combined by multiplying together and then renormalizing their class probability scores.

即两组用features A,B分别做两个分类器,单独每个分类器里面用self-training的方法分别进行training的迭代(每次增加新的unlabeled数据),最后使用两个self-training结束的分类器,一起进行prediction.

其主要的思路是,对于那些可以feature可以天然split的数据,用每组feature做出不同的分类器,不同features做出来的分类器可以相互互补

 

最后总结:

co-training和self-training之前最直观的区别就是:在学习的过程中,前者有两个分类器(classifier),而后者仅有一个分类器。

 

转载于:https://www.cnblogs.com/xiaotu1617234/p/8273972.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值